导入ChatGroq触发PydanticUserError报错,求解决方案
问题与解决方案
问题环境
已安装的依赖包:
langchain_core==0.2.39 langchain==0.2.16 langchain-community==0.2.16 langchain_groq==0.1.10 langchain_openai==0.1.24 fastapi==0.114.2 redis pyyaml
执行代码:
from langchain_groq import ChatGroq
触发错误:
PydanticUserError Traceback (most recent call last) Cell In[20], line 70 64 #print(pm) 65 66 68 import os ---> 70 from langchain_groq import ChatGroq File /opt/anaconda3/envs/my_env/lib/python3.12/site-packages/langchain_groq/__init__.py:1 ----> 1 from langchain_groq.chat_models import ChatGroq 3 __all__ = ["ChatGroq"] File /opt/anaconda3/envs/my_env/lib/python3.12/site-packages/langchain_groq/chat_models.py:87 80 from langchain_core.utils.function_calling import ( 81 convert_to_openai_function, 82 convert_to_openai_tool, 83 ) 84 from langchain_core.utils.pydantic import is_basemodel_subclass ---> 87 class ChatGroq(BaseChatModel): 88 """`Groq` Chat large language models API. 89 90 To use, you should have the (...) 296 'logprobs': None} ... 2454 if hasattr(tp, '__origin__') and not is_annotated(tp): PydanticUserError: The `__modify_schema__` method is not supported in Pydantic v2. Use `__get_pydantic_json_schema__` instead in class `SecretStr`.
原因分析
该错误属于版本兼容性问题:当前安装的langchain_groq==0.1.10依赖Pydantic v1的API(__modify_schema__是Pydantic v1专属方法),但环境中实际安装的是Pydantic v2,v2已废弃该方法,导致模块导入失败。
解决方案
方案1:升级langchain_groq到兼容Pydantic v2的版本
执行命令更新包:
pip install --upgrade langchain_groq
最新版langchain_groq已适配Pydantic v2,升级后可直接解决问题。
方案2:降级Pydantic到v1版本
若需保留当前langchain_groq版本,可安装Pydantic v1.x稳定版本:
pip install pydantic==1.10.15
注意:降级Pydantic可能影响其他依赖(如fastapi),需提前确认其他包是否兼容Pydantic v1。
内容的提问来源于stack exchange,提问作者Laodao
相关产品推荐
相关产品推荐

