Chat Completions
/v1/chat/completions 用于兼容 OpenAI Chat Completions 调用方式,适合直接复用现有 SDK、HTTP 客户端或第三方工具。
TIP
OpenAI 官方目前对新项目更推荐 Responses API,但 Chat Completions 仍然是标准兼容接口,适合已有项目平滑接入。
请求地址
POST https://huobaoapi.com/v1/chat/completions
常用请求字段
| 字段 | 必填 | 说明 |
|---|---|---|
model | 是 | 模型名称,例如 gpt-4o |
messages | 是 | 对话消息数组,至少包含一条消息 |
temperature | 否 | 采样温度 |
max_tokens | 否 | 最大输出 token 数 |
stream | 否 | 是否使用流式返回,true 时返回 SSE 数据流 |
store | 否 | 是否存储该 completion |
metadata | 否 | 自定义元数据 |
返回结构示例
json
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1738960610,
"model": "gpt-4o-2024-08-06",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 13,
"completion_tokens": 9,
"total_tokens": 22
}
}Python SDK
python
from openai import OpenAI
client = OpenAI(
api_key="sk-xxxxxxxxxxxx",
base_url="https://huobaoapi.com/v1",
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "user", "content": "Hello!"}
],
)
print(response.choices[0].message.content)TIP
安装 Python SDK:pip install openai
Node.js SDK
javascript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-xxxxxxxxxxxx",
baseURL: "https://huobaoapi.com/v1",
});
const response = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);TIP
安装 Node.js SDK:npm install openai
Golang
go
package main
import (
"context"
"fmt"
openai "github.com/sashabaranov/go-openai"
)
func main() {
config := openai.DefaultConfig("sk-xxxxxxxxxxxx")
config.BaseURL = "https://huobaoapi.com/v1"
client := openai.NewClientWithConfig(config)
resp, err := client.CreateChatCompletion(
context.Background(),
openai.ChatCompletionRequest{
Model: openai.GPT4o,
Messages: []openai.ChatCompletionMessage{
{Role: openai.ChatMessageRoleUser, Content: "Hello!"},
},
},
)
if err != nil {
panic(err)
}
fmt.Println(resp.Choices[0].Message.Content)
}PHP
php
<?php
$client = new GuzzleHttp\Client();
$response = $client->post('https://huobaoapi.com/v1/chat/completions', [
'headers' => [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer sk-xxxxxxxxxxxx',
],
'json' => [
'model' => 'gpt-4o',
'messages' => [
['role' => 'user', 'content' => 'Hello!'],
],
],
]);
$data = json_decode($response->getBody(), true);
echo $data['choices'][0]['message']['content'];cURL
bash
curl https://huobaoapi.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxxxxxx" \
-d '{
"model": "gpt-4o",
"messages": [
{"role": "user", "content": "Hello!"}
]
}'流式输出(Streaming)
在请求体中添加 "stream": true 即可开启流式输出:
python
stream = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello!"}],
stream=True,
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")javascript
const stream = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "Hello!" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || "");
}bash
curl https://huobaoapi.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxxxxxx" \
-d '{
"model": "gpt-4o",
"stream": true,
"messages": [{"role": "user", "content": "Hello!"}]
}'参考文档
- OpenAI Chat Completions: https://platform.openai.com/docs/api-reference/chat/create-chat-completion