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

调用ChatOpenAI的invoke函数触发'FieldInfo' object is not a mapping报错

解决LangChain调用invoke时的TypeError: 'FieldInfo' object is not a mapping错误

这个错误通常是依赖版本不兼容导致的,核心是LangChain组件(如langchain、langchain_openai)与Pydantic库的版本不匹配,引发chat_models基类处理参数时的映射错误。

解决方案步骤:

  1. 对齐依赖版本
    卸载现有冲突包,安装经过验证的兼容版本组合:
    pip uninstall -y langchain langchain_openai pydantic
    pip install langchain==0.2.10 langchain_openai==0.1.23 pydantic==2.8.2
    
  2. 验证代码格式
    你的消息格式是合法的,也可以尝试显式使用LangChain的消息对象来排除格式问题:
    from langchain_openai import ChatOpenAI
    from langchain_core.messages import SystemMessage, HumanMessage
    
    llm = ChatOpenAI(
        model="gpt-4o",
        temperature=0,
    )
    messages = [
        SystemMessage(content="You are a helpful assistant that translates English to French. Translate the user sentence."),
        HumanMessage(content="I love programming."),
    ]
    ai_msg = llm.invoke(messages)
    print(ai_msg.content)
    
  3. 清除缓存(可选)
    如果仍报错,清除Python缓存后重试:
    find . -name "__pycache__" -type d -exec rm -rf {} +
    

内容的提问来源于stack exchange,提问作者Adam Chicago

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 09:40:57