Service 服务AI 模型服务

OpenAI 兼容 Chat Completions

使用 OpenAI SDK 或 curl 调用 Downcity 的统一 LanguageModelV3 路径。

端点:POST /v1/ai/chat/completions

const openai = new OpenAI({
  baseURL: "https://federation.example/v1/ai",
  apiKey: "user-token",
});

const result = await openai.chat.completions.create({
  model: "gpt-5.6-luna",
  messages: [{ role: "user", content: "hello" }],
  stream: true,
});

请求进入后按以下顺序处理:

OpenAI request
  -> OpenAIChatCompletionsAdapter
  -> LanguageModelV3CallOptions
  -> AIService fallback/reasoning
  -> AIChannel.stream()
  -> OpenAI JSON 或 SSE

支持 system、user、assistant、tool 消息,文本和图片 URL,function tools、tool choice、reasoning_effort、常用采样参数,以及 stream: true

客户端发送的 providerOptions 不会进入上游。上游私有选项必须由 AIChannel 或 AIModelSpec 的 ai_sdk_provider_options 配置。