deepseek可接入autogen但必须通过openai兼容接口,原生api不支持;需用openaichatcompletionclient并显式配置model_info(如function_calling:true)、避免环境变量污染、确保ollama模型名与url匹配、autogen studio json配置须严格校验引号和路径。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

DeepSeek 能直接接入 AutoGen,但必须走 OpenAI 兼容接口路径;原生 DeepSeek API 不被 AutoGen 原生支持,硬套 openai 客户端会因 header、response schema 或 streaming 格式不一致而报错或静默失败。
用 OpenAIChatCompletionClient 接 DeepSeek 时必设的 model_info 字段
AutoGen 0.7+ 的 OpenAIChatCompletionClient 不只是转发请求,它会根据 model_info 中的布尔字段决定是否启用 function calling、是否解析 JSON、是否拼接 system messages。DeepSeek 系列(如 deepseek-chat、deepseek-v4-pro)虽支持 tool use,但默认不开启,需显式声明:
-
"function_calling": True—— 否则AssistantAgent调用register_function后仍不会触发工具 -
"json_output": False—— DeepSeek 默认不强制 JSON 输出,设为True可能导致解析失败 -
"multiple_system_messages": True—— DeepSeek 支持连续多个 system message,这对角色链式设定很关键 -
"vision": False—— 当前所有公开 DeepSeek 模型均不支持多模态,设为True会引发 400 错误
环境变量与代码配置双写时的优先级陷阱
AutoGen 在初始化 OpenAIChatCompletionClient 时,若同时存在环境变量 OPENAI_API_KEY 和代码中传入的 api_key,后者优先;但若只设了环境变量,而没在 base_url 中指定 DeepSeek 地址,客户端仍会发往 https://api.openai.com/v1,导致 401 或连接超时。
安全做法是:显式传参,不依赖环境变量污染:
model_client = OpenAIChatCompletionClient(
model="deepseek-v4-pro",
base_url="https://api.deepseek.com/v1",
api_key="sk-xxx", # 必须真实有效,且账户余额充足
model_info={"function_calling": True, "json_output": False},
)本地 Ollama 部署 DeepSeek-R1 时的 URL 与模型名匹配规则Ollama 运行 DeepSeek-R1 后,base_url
是 http://localhost:11434/v1,但模型名不是 deepseek-r1,而是你 ollama run 时实际拉取并重命名的标签,比如:
-
ollama run deepseek-r1:14b→ 模型名填deepseek-r1:14b -
ollama tag deepseek-r1:14b my-deepseek→ 模型名必须填my-deepseek - 不匹配会导致
404 Not Found或500 Internal Server Error
验证方式很简单,在 Python 里先手动发个 curl 测试:
curl -X POST http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-r1:14b",
"messages": [{"role": "user", "content": "你好"}]
}'Autogen Studio UI 导入模型后测试失败的三个高频原因Autogen Studio 的 JSON Editor 看似简单,但以下三项漏掉任一,都会卡在 “Testing connection…” 或报 Error code: 402
:
-
api_key字段值未用双引号包裹,例如写成sk-xxx而非"sk-xxx" -
base_url末尾多了斜杠,如"https://api.deepseek.com/v1/"→ 应为"https://api.deepseek.com/v1" -
model值与 DeepSeek 平台文档公布的正式名称不一致,例如把deepseek-v4-pro写成deepseek-v4或v4-pro
真正麻烦的是:Autogen Studio 不显示原始 HTTP 错误响应体,只给模糊提示。调试时建议先用 curl 或 httpx 直连确认基础通路。










