对话补全(OpenAI 兼容)
对话补全(OpenAI 兼容)
兼容 OpenAI Chat Completions API,适用于已集成 OpenAI SDK 的应用。
端点
POST /v1/chat/completions
| 环境 | URL |
|---|---|
| URL | https://aiservice.jellytoken.com/v1/chat/completions |
| SDK base_url | https://aiservice.jellytoken.com/v1 |
请求头
| Header | 必填 | 说明 |
|---|---|---|
Authorization | 是 | Bearer uas_xxx |
Content-Type | 是 | application/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 |
stream | 否 | true 时返回 SSE 流 |
temperature | 否 | 采样温度 |
max_tokens / max_completion_tokens | 否 | 最大生成 token |
top_p | 否 | 核采样 |
stop | 否 | 停止序列 |
seed | 否 | 随机种子(模型支持时) |
response_format | 否 | 如 {"type":"json_object"} |
tools / tool_choice | 否 | Function Calling,透传至上游 |
reasoning_effort | 否 | low / 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)→ 400unsupported_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_calls | Function 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]
客户端应:
- 按行解析
data:前缀 - 累加
choices[0].delta.content - 遇
[DONE]结束 - 可选解析
delta.tool_calls、delta.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);
调用注意事项
model须填已授权的 模型 ID,勿填上游供应商原始模型名或控制台展示名- 上下文窗口 = 输入 + 输出 token 总和,超长会截断或报错
- 多轮对话 需自行维护
messages历史 - 流式 需正确处理 SSE,避免按普通 JSON 解析整包响应
- 详情弹窗中的「调用注意事项」与模型说明可能包含模型特有说明
相关文档
- Responses API(Codex 等)
- Anthropic Messages
- 错误码