聊天接口(通用)
简洁描述:对话/聊天模型通用接口,支持 OpenAI、Claude、Gemini 等兼容格式。
概览
- 请求方法:
POST - 路径:
/v1/chat/completions - 内容类型:
application/json
认证方式
支持常见的 Header 认证格式:
- OpenAI:
Authorization: Bearer sk-xxx - Anthropic:
x-api-key: sk-xxx(并可能需要anthropic-version) - Google:
x-goog-api-key: sk-xxx
请求示例
Body 参数说明
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| model | string | 是 | 模型名称,例如 gpt-4o |
| messages | array<object> | 是 | 聊天消息数组,项格式为 `{ role: 'system' |
| temperature | number | 否 | 采样温度,0-2 间,越高越随机 |
| top_p | number | 否 | 核采样概率阈值,0-1 |
| stream | boolean | 否 | 是否使用流式输出 |
| max_tokens | number | 否 | 最大生成 tokens 数 |
| n | number | 否 | 生成多少个候选完成 |
| presence_penalty | number | 否 | 提示新主题的惩罚系数 (-2.0 ~ 2.0) |
| frequency_penalty | number | 否 | 降低重复的惩罚系数 (-2.0 ~ 2.0) |
| logit_bias | object | 否 | 指定标记的 logits 偏置,例如 { "50256": -100 } |
| user | string | 否 | 终端用户标识,用于滥用检测 |
| stop | string or array | 否 | 遇到任一停止词时结束 |
| response_format | object | 否 | 结构化输出配置(见文档) |
curl 示例
bash
curl -X POST "https://api.gpt.ge/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxx" \
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "晚上好"}],
"max_tokens": 1688,
"temperature": 0.5,
"stream": false
}'JavaScript (fetch) 示例
javascript
fetch('https://api.gpt.ge/v1/chat/completions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer sk-xxxx'
},
body: JSON.stringify({
model: 'gpt-4o',
messages: [{ role: 'user', content: '晚上好' }],
max_tokens: 1688,
temperature: 0.5
})
}).then(r => r.json()).then(console.log)Python 示例(requests)
python
import requests
resp = requests.post(
'https://api.gpt.ge/v1/chat/completions',
headers={'Content-Type': 'application/json', 'Authorization': 'Bearer sk-xxxx'},
json={
'model': 'gpt-4o',
'messages': [{'role': 'user', 'content': '晚上好'}],
'max_tokens': 1688,
'temperature': 0.5
}
)
print(resp.json())返回示例(200)
json
{
"id": "chatcmpl-A1iMgDLzZtUJ9QDpfqDLxKH0zfUnp",
"object": "chat.completion",
"created": 1724972230,
"model": "gpt-4o-2024-05-13",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "晚上好!有什么我可以帮你的吗?",
"refusal": null
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 10,
"total_tokens": 19
},
"system_fingerprint": "fp_157b3831f5"
}