对话补全(OpenAI 兼容)

对话补全(OpenAI 兼容)

兼容 OpenAI Chat Completions API,适用于已集成 OpenAI SDK 的应用。


端点

POST /v1/chat/completions
环境URL
URLhttps://aiservice.jellytoken.com/v1/chat/completions
SDK base_urlhttps://aiservice.jellytoken.com/v1

请求头

Header必填说明
AuthorizationBearer uas_xxx
Content-Typeapplication/json

请求体

{
  "model": "qwen-plus",
  "messages": [
    {"role": "system", "content": "你是一个有帮助的助手。"},
    {"role": "user", "content": "你好"}
  ],
  "temperature": 0.7,
  "max_tokens": 1024,
  "stream": false
}

主要参数

参数必填说明
model模型 ID(OpenAI 兼容请求字段名)
messages对话数组,role: system / user / assistant / tool
streamtrue 时返回 SSE 流
temperature采样温度
max_tokens / max_completion_tokens最大生成 token
top_p核采样
stop停止序列
seed随机种子(模型支持时)
response_format{"type":"json_object"}
tools / tool_choiceFunction Calling,透传至上游
reasoning_effortlow / medium / high,部分推理模型支持

多模态 content

messages[].content 可为字符串或 parts 数组:

{
  "role": "user",
  "content": [
    {"type": "text", "text": "描述这张图片"},
    {"type": "image_url", "image_url": {"url": "https://example.com/a.jpg"}}
  ]
}

具体支持取决于模型能力,详见 模型接入说明 中文本类文档。

限制

  • n > 1(一次返回多个 choice)→ 400 unsupported_parameter

同步响应

{
  "id": "chatcmpl-abc123...",
  "object": "chat.completion",
  "created": 1718510000,
  "model": "qwen-plus",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "你好!有什么可以帮你的?",
        "reasoning_content": null,
        "tool_calls": null
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 12,
    "total_tokens": 22
  }
}
字段说明
message.reasoning_content部分推理模型返回思维链
message.tool_callsFunction Calling 结果
usage计费与统计依据

流式响应(SSE)

请求 "stream": true

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"你"},"finish_reason":null}]}

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"好"},"finish_reason":null}]}

data: [DONE]

客户端应:

  1. 按行解析 data: 前缀
  2. 累加 choices[0].delta.content
  3. [DONE] 结束
  4. 可选解析 delta.tool_callsdelta.reasoning_content

代码示例

Python

from openai import OpenAI

client = OpenAI(
    api_key="uas_xxx",
    base_url="https://aiservice.jellytoken.com/v1",
)

resp = client.chat.completions.create(
    model="qwen-plus",
    messages=[{"role": "user", "content": "Hello"}],
)
print(resp.choices[0].message.content)

Node.js

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.API_KEY,
  baseURL: "https://aiservice.jellytoken.com/v1",
});

const completion = await client.chat.completions.create({
  model: "qwen-plus",
  messages: [{ role: "user", content: "Hello" }],
});
console.log(completion.choices[0].message.content);

调用注意事项

  1. model 须填已授权的 模型 ID,勿填上游供应商原始模型名或控制台展示名
  2. 上下文窗口 = 输入 + 输出 token 总和,超长会截断或报错
  3. 多轮对话 需自行维护 messages 历史
  4. 流式 需正确处理 SSE,避免按普通 JSON 解析整包响应
  5. 详情弹窗中的「调用注意事项」与模型说明可能包含模型特有说明

相关文档