模型调用三协议:AiService 工厂分发 → provider 端点

模型调用三协议:AiService 工厂分发 → provider 端点 由 Archify 生成的时序图。 ① getXxxService(platform) ② new XxxChatService(configuration)(12 平台) ③ new OpenAi/Doubao/DashScope ResponsesService ④ new AnthropicMessagesService(仅 ANTHROPIC) ⑤ chatCompletion(request) / 流式 + listener ⑥ POST /v1/chat/completions ⑦ create(request):tools/mcp/reasoning 内建 ⑧ POST /v1/responses ⑨ send(request):Anthropic 原生 Messages ⑩ POST /v1/messages ⑪ 统一响应对象 或 SSE 增量回调 宿主调用方 · 业务代码 / Starter · 时序参与者 宿主调用方 业务代码 / Starter AiService · 工厂 · Configuration · 时序参与者 AiService 工厂 · Configuration IChatService · 12 平台实现 · 时序参与者 IChatService 12 平台实现 Responses · OpenAI·Doubao·Ds · 时序参与者 Responses OpenAI·Doubao·Ds Messages 服务 · 仅 Anthropic · 时序参与者 Messages 服务 仅 Anthropic Provider 端点 · HTTPS JSON / SSE · 时序参与者 Provider 端点 HTTPS JSON / SSE 图例 默认消息

协议 × 平台矩阵

  • • Chat:OpenAI/Anthropic/Zhipu/DeepSeek/Moonshot/Hunyuan/Lingyi/Ollama/Minimax/Baichuan/DashScope/Doubao
  • • Responses:OpenAI/Doubao/DashScope;Messages:仅 Anthropic 原生实现,选错平台抛 IllegalArgumentException

增强与注册表

  • • webSearchEnhance(chatService) 返回 ChatWithWebSearchEnhance 包装器:联网检索结果先并入请求再调底层服务
  • • FreeAiService.getChatService(id) → AiServiceRegistry → registration 携带 PlatformType,按 id 路由到对应 AiService

统一出口

  • • 三协议的请求/响应实体各自对齐 provider 原生格式,出口收敛为 SDK 统一对象(或流式 listener 回调)
  • • Configuration 集中持有 api-key/base-url/超时/代理;切换平台只改 PlatformType 与 Config