You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入Langchain触发RuntimeError:无re.Pattern验证器的排查建议

LangChain导入报错排查方案

报错信息

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Input In [4], in <cell line: 1>()
----> 1 import langchain

File ~\Anaconda3\envs\rioxarray\lib\site-packages\langchain\__init__.py:6, in <module>
      3 from importlib import metadata
      4 from typing import Optional
----> 6 from langchain.agents import MRKLChain, ReActChain, SelfAskWithSearchChain
      7 from langchain.cache import BaseCache
      8 from langchain.chains import (
      9     ConversationChain,
     10     LLMBashChain,
   (...)
     16     VectorDBQAWithSourcesChain,
     17 )

File ~\Anaconda3\envs\rioxarray\lib\site-packages\langchain\agents\__init__.py:11, in <module>
      2 from langchain.agents.agent import (
      3     Agent,
      4     AgentExecutor,
   (...)
      8     LLMSingleActionAgent,
      9 )
     10 from langchain.agents.agent_iterator import AgentExecutorIterator
---> 11 from langchain.agents.agent_toolkits import (
     12     create_csv_agent,
     13     create_json_agent,
     14     create_openapi_agent,
     15     create_pandas_dataframe_agent,
     16     create_pbi_agent,
     17     create_pbi_chat_agent,
     18     create_spark_dataframe_agent,
     19     create_spark_sql_agent,
     20     create_sql_agent,
     21     create_vectorstore_agent,
     22     create_vectorstore_router_agent,
     23     create_xorbits_agent,
     24 )
     25 from langchain.agents.agent_types import AgentType
     26 from langchain.agents.conversational.base import ConversationalAgent

File ~\Anaconda3\envs\rioxarray\lib\site-packages\langchain\agents\agent_toolkits\__init__.py:6, in <module>
      2 from langchain.agents.agent_toolkits.amadeus.toolkit import AmadeusToolkit
      3 from langchain.agents.agent_toolkits.azure_cognitive_services import (
      4     AzureCognitiveServicesToolkit,
      5 )
----> 6 from langchain.agents.agent_toolkits.csv.base import create_csv_agent
      7 from langchain.agents.agent_toolkits.file_management.toolkit import (
      8     FileManagementToolkit,
      9 )
     10 from langchain.agents.agent_toolkits.gmail.toolkit import GmailToolkit

File ~\Anaconda3\envs\rioxarray\lib\site-packages\langchain\agents\agent_toolkits\csv\base.py:4, in <module>
      1 from typing import Any, List, Optional, Union
      3 from langchain.agents.agent import AgentExecutor
----> 4 from langchain.agents.agent_toolkits.pandas.base import create_pandas_dataframe_agent
      5 from langchain.schema.language_model import BaseLanguageModel
      8 def create_csv_agent(
      9     llm: BaseLanguageModel,
     10     path: Union[str, List[str]],
     11     pandas_kwargs: Optional[dict] = None,
     12     **kwargs: Any,
     13 ) -> AgentExecutor:

File ~\Anaconda3\envs\rioxarray\lib\site-packages\langchain\agents\agent_toolkits\pandas\base.py:18, in <module>
     16 from langchain.agents.mrkl.base import ZeroShotAgent
     17 from langchain.agents.openai_functions_agent.base import OpenAIFunctionsAgent
---> 18 from langchain.agents.types import AgentType
     19 from langchain.callbacks.base import BaseCallbackManager
     20 from langchain.chains.llm import LLMChain

File ~\Anaconda3\envs\rioxarray\lib\site-packages\langchain\agents\types.py:5, in <module>
      3 from langchain.agents.agent import BaseSingleActionAgent
      4 from langchain.agents.agent_types import AgentType
----> 5 from langchain.agents.chat.base import ChatAgent
      6 from langchain.agents.conversational.base import ConversationalAgent
      7 from langchain.agents.conversational_chat.base import ConversationalChatAgent

File ~\Anaconda3\envs\rioxarray\lib\site-packages\langchain\agents\chat\base.py:6, in <module>
      3 from pydantic import Field
      5 from langchain.agents.agent import Agent, AgentOutputParser
----> 6 from langchain.agents.chat.output_parser import ChatOutputParser
      7 from langchain.agents.chat.prompt import (
      8     FORMAT_INSTRUCTIONS,
      9     HUMAN_MESSAGE,
     10     SYSTEM_MESSAGE_PREFIX,
     11     SYSTEM_MESSAGE_SUFFIX,
     12 )
     13 from langchain.agents.utils import validate_tools_single_input

File ~\Anaconda3\envs\rioxarray\lib\site-packages\langchain\agents\chat\output_parser.py:12, in <module>
      7 from langchain.schema import AgentAction, AgentFinish, OutputParserException
      9 FINAL_ANSWER_ACTION = "Final Answer:"
---> 12 class ChatOutputParser(AgentOutputParser):
     13     """Output parser for the chat agent."""
     15     pattern = re.compile(r"^.*?`{3}(?:json)?\n(.*?)`{3}.*?$", re.DOTALL)

File ~\Anaconda3\envs\rioxarray\lib\site-packages\pydantic\main.py:229, in pydantic.main.ModelMetaclass.__new__()

File ~\Anaconda3\envs\rioxarray\lib\site-packages\pydantic\fields.py:491, in pydantic.fields.ModelField.infer()

File ~\Anaconda3\envs\rioxarray\lib\site-packages\pydantic\fields.py:421, in pydantic.fields.ModelField.__init__()

File ~\Anaconda3\envs\rioxarray\lib\site-packages\pydantic\fields.py:542, in pydantic.fields.ModelField.prepare()

File ~\Anaconda3\envs\rioxarray\lib\site-packages\pydantic\fields.py:804, in pydantic.fields.ModelField.populate_validators()

File ~\Anaconda3\envs\rioxarray\lib\site-packages\pydantic\validators.py:723, in find_validators()

RuntimeError: no validator found for <class 're.Pattern'>, see `arbitrary_types_allowed` in Config

排查与解决建议

  • 升级LangChain到最新稳定版
    执行命令:pip install --upgrade langchain,新版本通常会修复依赖兼容问题,包括Pydantic字段验证器的适配。

  • 检查并调整Pydantic版本
    先查看当前环境的Pydantic版本:pip show pydantic。如果是v1.x系列,确保版本不低于1.10.0;如果是v2.x,部分旧版LangChain可能不兼容,可降级到v1.x稳定版:pip install pydantic==1.10.13。

  • 创建独立虚拟环境
    当前使用的rioxarray环境可能存在依赖冲突,建议新建专门的LangChain环境:

    conda create -n langchain_env python=3.10
    conda activate langchain_env
    pip install langchain
    
  • 临时应急修复(不推荐长期使用)
    找到LangChain的报错文件langchain/agents/chat/output_parser.py,在ChatOutputParser类中添加Config配置:

    class ChatOutputParser(AgentOutputParser):
        """Output parser for the chat agent."""
    
        pattern = re.compile(r"^.*?`{3}(?:json)?\n(.*?)`{3}.*?$", re.DOTALL)
        
        class Config:
            arbitrary_types_allowed = True
    

    注意:该修改会在LangChain更新后被覆盖,仅作临时救急。

内容的提问来源于stack exchange,提问作者Filippo Sebastio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 09:42:33