对话补全
OpenAI 兼容 Chat Completions 接口
接口
POST /v1/chat/completionsOpenAI 兼容的对话补全端点,支持同步 JSON 与流式 SSE(见 流式输出)。
请求头
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json请求体
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型名称,见 模型广场 |
messages | array | 是 | 对话消息列表 |
stream | boolean | 否 | 默认 false;true 时返回 SSE |
temperature | number | 否 | 采样温度 |
max_tokens | integer | 否 | 最大生成 token 数 |
示例:
{
"model": "gpt-4o",
"messages": [
{ "role": "system", "content": "You are a helpful assistant." },
{ "role": "user", "content": "用一句话介绍 Hubridge" }
],
"temperature": 0.7,
"max_tokens": 1024
}cURL
curl -X POST "$YOUR_GATEWAY_BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"messages": [
{ "role": "user", "content": "Hello!" }
]
}'Python(OpenAI SDK)
from openai import OpenAI
client = OpenAI(
base_url="YOUR_GATEWAY_BASE_URL/v1",
api_key="YOUR_API_KEY",
)
completion = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello!"}],
)
print(completion.choices[0].message.content)
print(completion.usage)Node.js(OpenAI SDK)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "YOUR_GATEWAY_BASE_URL/v1",
apiKey: "YOUR_API_KEY",
});
const completion = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(completion.choices[0]?.message?.content);响应示例
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"created": 1710000000,
"model": "gpt-4o",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 12,
"total_tokens": 22
}
}多轮对话
在 messages 中按时间顺序传入历史即可:
{
"model": "gpt-4o",
"messages": [
{ "role": "user", "content": "我叫小明" },
{ "role": "assistant", "content": "你好小明!" },
{ "role": "user", "content": "我叫什么?" }
]
}