聊天补全
兼容 OpenAI /v1/chat/completions 接口,支持 Claude、GPT 系列模型。
接口信息
- 请求方式:
POST - 接口地址:
https://wickham.ai/v1/chat/completions - 认证方式:Bearer Token,在请求头中传入 API Key
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | ✅ | 模型名称,见下方支持列表 |
messages | array | ✅ | 对话消息列表 |
stream | boolean | — | 是否开启流式输出,默认 false |
temperature | number | — | 随机性,范围 0~2,默认 1 |
max_tokens | integer | — | 最大输出 Token 数 |
top_p | number | — | 核采样概率,范围 0~1 |
tools | array | — | 工具调用定义(Function Calling) |
tool_choice | string/object | — | 工具选择策略 |
messages 参数说明
每条消息为一个对象,包含以下字段:
| 字段 | 类型 | 说明 |
|---|---|---|
role | string | 角色:system / user / assistant / tool |
content | string | array | 消息内容,支持文本或多模态内容 |
请求示例
python
from openai import OpenAI
client = OpenAI(
api_key="your-api-key",
base_url="https://wickham.ai/v1"
)
response = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[
{"role": "system", "content": "你是一个专业的 AI 助手。"},
{"role": "user", "content": "用一句话解释什么是大语言模型。"}
],
temperature=0.7,
max_tokens=512
)
print(response.choices[0].message.content)javascript
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'your-api-key',
baseURL: 'https://wickham.ai/v1',
});
const response = await client.chat.completions.create({
model: 'claude-sonnet-4-6',
messages: [
{ role: 'system', content: '你是一个专业的 AI 助手。' },
{ role: 'user', content: '用一句话解释什么是大语言模型。' },
],
temperature: 0.7,
max_tokens: 512,
});
console.log(response.choices[0].message.content);bash
curl https://wickham.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-api-key" \
-d '{
"model": "claude-sonnet-4-6",
"messages": [
{"role": "system", "content": "你是一个专业的 AI 助手。"},
{"role": "user", "content": "用一句话解释什么是大语言模型。"}
],
"temperature": 0.7,
"max_tokens": 512
}'响应示例
json
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1715000000,
"model": "claude-sonnet-4-6",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "大语言模型是一种基于海量文本数据训练的 AI 系统,能够理解和生成自然语言。"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 32,
"completion_tokens": 28,
"total_tokens": 60
}
}流式输出
将 stream 设置为 true,接口将以 SSE(Server-Sent Events)格式逐块返回内容。
python
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "写一首短诗"}],
stream=True
)
for chunk in response:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)javascript
const stream = await client.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: '写一首短诗' }],
stream: true,
});
for await (const chunk of stream) {
const delta = chunk.choices[0]?.delta?.content;
if (delta) process.stdout.write(delta);
}流式响应的每个数据块格式如下:
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"大"},"finish_reason":null}]}
data: [DONE]支持的模型
Claude 系列
| 模型 | 上下文窗口 | 说明 |
|---|---|---|
claude-opus-4-7 | 200K | 最强推理能力,适合复杂任务 |
claude-sonnet-4-6 | 200K | 性能与速度均衡,推荐首选 |
claude-haiku-4-5-20251001 | 200K | 轻量快速,适合高并发场景 |
GPT 系列
| 模型 | 上下文窗口 | 说明 |
|---|---|---|
gpt-4o | 128K | 多模态旗舰,支持图文输入 |
gpt-4o-mini | 128K | 经济实惠,适合日常对话 |
gpt-4.1 | 1M | 超长上下文,适合长文档处理 |
gpt-4.1-mini | 1M | 长上下文轻量版 |
