创建对话补全
向模型发送对话消息并生成文本回复。适用于多轮聊天、工具调用,以及图片、文件等多模态输入理解。
stream: true 时通过 SSE 返回增量内容。图片生成也可走本路径(须带 modalities / image_config),见 创建图像生成(chat);OpenAI Images 形态见 创建图像(Images)。
Endpoint
| Method | URL |
|---|---|
POST | {TRINITY_BASE_URL}/chat/completions |
Base URL
| 项 | 值 |
|---|---|
| Base URL | https://api.trinitydesk.ai/v1 |
| 协议 | HTTPS |
bash
export TRINITY_BASE_URL="https://api.trinitydesk.ai/v1"
export TRINITY_API_KEY="xh-..."Headers
| Header | 必填 | 说明 |
|---|---|---|
Authorization | 是 | Bearer <TRINITY_API_KEY> |
Content-Type | 是 | application/json |
Accept | 流式时 | text/event-stream |
请求示例
非流式
bash
curl -sS "${TRINITY_BASE_URL}/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${TRINITY_API_KEY}" \
-d '{
"model": "gpt-5.5",
"messages": [{ "role": "user", "content": "你好" }]
}'流式
bash
curl -sS -N "${TRINITY_BASE_URL}/chat/completions" \
-H "Content-Type: application/json" \
-H "Accept: text/event-stream" \
-H "Authorization: Bearer ${TRINITY_API_KEY}" \
-d '{
"model": "gpt-5.5",
"messages": [{ "role": "user", "content": "你好" }],
"stream": true
}'请求体字段
| 字段 | 必填 | 说明 |
|---|---|---|
model | 是 | 模型 ID,见 获取模型 |
messages | 是 | { role, content } 数组;content 可为 string 或 Part 数组 |
stream | 否 | 默认 false |
temperature、tools、多模态 Part 等见 对话补全 · 高级参数。
返回字段
| 字段 | 说明 |
|---|---|
id | 补全 ID |
choices[].message.content | 助手文本 |
choices[].finish_reason | 结束原因 |
usage.prompt_tokens | 输入 token |
usage.completion_tokens | 输出 token |
usage.total_tokens | 合计 token |
返回示例
json
{
"id": "chatcmpl-...",
"object": "chat.completion",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "你好。" },
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 20,
"total_tokens": 30
}
}流式为 text/event-stream,增量在 choices[0].delta.content。错误见 错误与调试。
Python 示例
python
import os
import requests
url = f"{os.environ['TRINITY_BASE_URL']}/chat/completions"
r = requests.post(
url,
headers={
"Authorization": f"Bearer {os.environ['TRINITY_API_KEY']}",
"Content-Type": "application/json",
},
json={
"model": "gpt-5.5",
"messages": [{"role": "user", "content": "你好"}],
},
timeout=120,
)
r.raise_for_status()
print(r.json()["choices"][0]["message"]["content"])