对话补全 API
Chat Completions API 是最常用的 API 接口,用于创建多轮对话和文本生成任务。
接口地址
POST https://api.weelinking.com/v1/chat/completions
请求头
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型名称,如 gpt-4o、claude-3-opus-20240229 |
| messages | array | 是 | 消息数组,包含对话历史 |
| temperature | number | 否 | 采样温度,0-2 之间,默认 1 |
| max_tokens | number | 否 | 最大生成 token 数 |
| stream | boolean | 否 | 是否流式输出,默认 false |
| top_p | number | 否 | 核采样参数,0-1 之间 |
messages 参数格式
[
{"role": "system", "content": "你是一个有帮助的助手"},
{"role": "user", "content": "你好"},
{"role": "assistant", "content": "你好!有什么可以帮助你的吗?"},
{"role": "user", "content": "请介绍一下你自己"}
]
请求示例
Python
import openai
client = openai.OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.weelinking.com/v1"
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "你是一个有帮助的助手"},
{"role": "user", "content": "你好,请介绍一下你自己"}
],
temperature=0.7,
max_tokens=1000
)
print(response.choices[0].message.content)
cURL
curl https://api.weelinking.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gpt-4o",
"messages": [
{"role": "system", "content": "你是一个有帮助的助手"},
{"role": "user", "content": "你好,请介绍一下你自己"}
],
"temperature": 0.7,
"max_tokens": 1000
}'
Node.js
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.weelinking.com/v1'
});
async function main() {
const response = await client.chat.completions.create({
model: 'gpt-4o',
messages: [
{ role: 'system', content: '你是一个有帮助的助手' },
{ role: 'user', content: '你好,请介绍一下你自己' }
],
temperature: 0.7,
max_tokens: 1000
});
console.log(response.choices[0].message.content);
}
main();
响应示例
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"created": 1234567890,
"model": "gpt-4o",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!我是一个 AI 助手,基于大型语言模型技术..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 25,
"completion_tokens": 100,
"total_tokens": 125
}
}
流式输出
设置 stream: true 可以启用流式输出:
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "写一首诗"}],
stream=True
)
for chunk in response:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
多模态输入
部分模型支持图像输入:
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "这张图片里有什么?"},
{
"type": "image_url",
"image_url": {"url": "https://example.com/image.jpg"}
}
]
}
]
)
常见错误码
| 错误码 | 说明 | 解决方案 |
|---|---|---|
| 401 | API Key 无效 | 检查 API Key 是否正确 |
| 429 | 请求过于频繁 | 降低请求频率或升级套餐 |
| 500 | 服务器错误 | 稍后重试 |
| 503 | 服务暂时不可用 | 稍后重试 |