Skip to content

fix(llm): 修复自定义/Anthropic/OpenAI 规范 LLM 连接失败问题 - #3

Open
AWDSCAN wants to merge 1 commit into
pulseio76:mainfrom
AWDSCAN:main
Open

fix(llm): 修复自定义/Anthropic/OpenAI 规范 LLM 连接失败问题#3
AWDSCAN wants to merge 1 commit into
pulseio76:mainfrom
AWDSCAN:main

Conversation

@AWDSCAN

@AWDSCAN AWDSCAN commented Jun 17, 2026

Copy link
Copy Markdown

根因:src/llm/client.py 的 _litellm_kwargs() 把自定义 provider ID 拼成 '/' 前缀(litellm 无法识别),且 type 字段无法路由到 Anthropic 格式端点,导致自定义/OpenAI/Anthropic 规范全部连不上。

后端修复(路由单点收口,Agent 层零改动):

  • LLMConfig / LLMConfigUpdate 新增 llm_format(openai | anthropic)
  • config_service.get_llm_runtime_config 读取 LLM_format
  • 重写 _litellm_kwargs 路由: · 内置 provider -> litellm 原生 provider/model · 自定义 + OpenAI 兼容 -> custom_llm_provider=openai + 裸模型名 + base_url · 自定义 + Anthropic -> custom_llm_provider=anthropic + 裸模型名 + base_url · 自定义未指定格式 -> 按 base_url 启发式(含 /anthropic 视作 anthropic)
  • /llm/test 返回路由诊断(model/provider/base_url/format + 回复 + 用量)

前端:自定义 Provider 新增「API 格式」下拉,base_url placeholder 随格式联动

根因:src/llm/client.py 的 _litellm_kwargs() 把自定义 provider ID 拼成
'<custom-id>/<model>' 前缀(litellm 无法识别),且 type 字段无法路由到
Anthropic 格式端点,导致自定义/OpenAI/Anthropic 规范全部连不上。

后端修复(路由单点收口,Agent 层零改动):
- LLMConfig / LLMConfigUpdate 新增 llm_format(openai | anthropic)
- config_service.get_llm_runtime_config 读取 LLM_format
- 重写 _litellm_kwargs 路由:
  · 内置 provider -> litellm 原生 provider/model
  · 自定义 + OpenAI 兼容 -> custom_llm_provider=openai + 裸模型名 + base_url
  · 自定义 + Anthropic -> custom_llm_provider=anthropic + 裸模型名 + base_url
  · 自定义未指定格式 -> 按 base_url 启发式(含 /anthropic 视作 anthropic)
- /llm/test 返回路由诊断(model/provider/base_url/format + 回复 + 用量)

前端:自定义 Provider 新增「API 格式」下拉,base_url placeholder 随格式联动

已用 DeepSeek key 对内置/自定义+OpenAI/自定义+Anthropic/启发式 5 场景回归验证通过
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant