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

运行Mistral AI Python客户端示例代码遇AttributeError报错求助

AttributeError: 'ChatMessage' object has no attribute 'model_dump' with Mistral AI Python Client

这个错误是因为你本地安装的Mistral AI Python客户端版本和官方文档示例不兼容:文档代码针对v0.3.0+的新版本客户端编写,而旧版本客户端的ChatMessage类不支持model_dump方法(该方法依赖Pydantic v2,旧版本客户端基于Pydantic v1)。

以下是两种解决办法:

方案1:升级到最新版客户端

运行以下命令升级包:

pip install --upgrade mistralai

升级完成后,原示例代码即可正常运行——新版本的ChatMessage继承自Pydantic v2的BaseModel,自带model_dump方法,客户端会自动调用该方法处理消息格式。

方案2:适配旧版本客户端(无需升级)

如果无法升级,修改代码以适配旧版本的要求:

方法A:将ChatMessage转为字典(旧版本方式)

from mistralai.client import MistralClient
from mistralai.models.chat_completion import ChatMessage

model = "mistral-tiny"

client = MistralClient(api_key=userdata.get('MISTRAL_API_KEY'))

messages = [
    ChatMessage(role="user", content="What is the best French cheese?").dict()
]

chat_response = client.chat(
    model=model,
    messages=messages,
)

方法B:直接使用字典列表替代ChatMessage类

from mistralai.client import MistralClient

model = "mistral-tiny"

client = MistralClient(api_key=userdata.get('MISTRAL_API_KEY'))

messages = [
    {"role": "user", "content": "What is the best French cheese?"}
]

chat_response = client.chat(
    model=model,
    messages=messages,
)

验证步骤

  • 升级后可通过pip show mistralai查看版本,确认版本号≥0.3.0
  • 确保你的MISTRAL_API_KEY已正确配置,避免后续出现权限类错误

内容的提问来源于stack exchange,提问作者Ignatius Ezeani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 03:57:11