AI Router 文档AI Router 文档
首页
快速开始
使用指南
模型接入
API 文档
售后支持
首页
快速开始
使用指南
模型接入
API 文档
售后支持
  • API 接口

    • API 接口
    • 聊天补全接口
    • 文本补全接口
    • 文本嵌入接口
    • 图像生成接口

聊天补全接口

创建聊天补全请求,支持多轮对话和流式响应。

接口信息

  • 接口地址: POST /v1/chat/completions
  • 认证方式: Bearer Token
  • Content-Type: application/json

请求参数

必填参数

参数类型说明
modelstring模型名称
messagesarray消息列表

可选参数

参数类型默认值说明
temperaturenumber1.0采样温度,范围 0-2
top_pnumber1.0核采样参数,范围 0-1
ninteger1生成回复数量
streambooleanfalse是否流式返回
stopstring/arraynull停止生成的标记
max_tokensintegernull最大生成 token 数
presence_penaltynumber0存在惩罚,范围 -2 到 2
frequency_penaltynumber0频率惩罚,范围 -2 到 2
logit_biasobjectnulltoken 偏好设置
userstringnull用户标识

messages 格式

{
  "messages": [
    {
      "role": "system",
      "content": "你是一个有用的助手"
    },
    {
      "role": "user",
      "content": "你好"
    },
    {
      "role": "assistant",
      "content": "你好!有什么可以帮助你的吗?"
    },
    {
      "role": "user",
      "content": "请介绍一下自己"
    }
  ]
}

role 类型:

角色说明
system系统消息,设定助手的行为
user用户消息
assistant助手回复

请求示例

基础请求

curl https://aigc.aochengcloud.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -d '{
    "model": "gpt-3.5-turbo",
    "messages": [
      {"role": "user", "content": "你好"}
    ]
  }'

带参数的请求

curl https://aigc.aochengcloud.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -d '{
    "model": "gpt-4",
    "messages": [
      {"role": "system", "content": "你是一个专业的编程助手"},
      {"role": "user", "content": "用Python写一个快速排序"}
    ],
    "temperature": 0.7,
    "max_tokens": 1000,
    "stream": false
  }'

流式请求

curl https://aigc.aochengcloud.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -d '{
    "model": "gpt-3.5-turbo",
    "messages": [
      {"role": "user", "content": "讲一个故事"}
    ],
    "stream": true
  }'

响应格式

非流式响应

{
  "id": "chatcmpl-8VYRlGZS4uPpnS3FyW32vM",
  "object": "chat.completion",
  "created": 1704067200,
  "model": "gpt-3.5-turbo-0613",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "你好!有什么可以帮助你的吗?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 15,
    "total_tokens": 25
  }
}

流式响应

data: {"id":"chatcmpl-8VYRlGZS4uPpnS3FyW32vM","object":"chat.completion.chunk","created":1704067200,"model":"gpt-3.5-turbo-0613","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]}

data: {"id":"chatcmpl-8VYRlGZS4uPpnS3FyW32vM","object":"chat.completion.chunk","created":1704067200,"model":"gpt-3.5-turbo-0613","choices":[{"index":0,"delta":{"content":"你"},"finish_reason":null}]}

data: {"id":"chatcmpl-8VYRlGZS4uPpnS3FyW32vM","object":"chat.completion.chunk","created":1704067200,"model":"gpt-3.5-turbo-0613","choices":[{"index":0,"delta":{"content":"好"},"finish_reason":null}]}

data: {"id":"chatcmpl-8VYRlGZS4uPpnS3FyW32vM","object":"chat.completion.chunk","created":1704067200,"model":"gpt-3.5-turbo-0613","choices":[{"index":0,"delta":{"content":"!"},"finish_reason":null}]}

data: {"id":"chatcmpl-8VYRlGZS4uPpnS3FyW32vM","object":"chat.completion.chunk","created":1704067200,"model":"gpt-3.5-turbo-0613","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: [DONE]

响应字段说明

字段类型说明
idstring请求的唯一标识
objectstring对象类型
createdinteger创建时间戳
modelstring使用的模型
choicesarray生成的回复列表
usageobjecttoken 用量统计

choices 字段

字段类型说明
indexinteger回复索引
messageobject回复内容
finish_reasonstring结束原因

finish_reason 类型

值说明
stop正常结束
length达到最大 token 数
content_filter内容过滤
function_call函数调用

usage 字段

字段类型说明
prompt_tokensinteger输入 token 数
completion_tokensinteger输出 token 数
total_tokensinteger总 token 数

SDK 示例

Python

import openai

client = openai.OpenAI(
    api_key="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    base_url="https://aigc.aochengcloud.com/v1"
)

# 非流式请求
response = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "user", "content": "你好"}
    ]
)
print(response.choices[0].message.content)

# 流式请求
stream = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "user", "content": "讲一个故事"}
    ],
    stream=True
)
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

Node.js

import OpenAI from 'openai';

const openai = new OpenAI({
  apiKey: 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  baseURL: 'https://aigc.aochengcloud.com/v1'
});

// 非流式请求
const response = await openai.chat.completions.create({
  model: 'gpt-3.5-turbo',
  messages: [
    { role: 'user', content: '你好' }
  ]
});
console.log(response.choices[0].message.content);

// 流式请求
const stream = await openai.chat.completions.create({
  model: 'gpt-3.5-turbo',
  messages: [
    { role: 'user', content: '讲一个故事' }
  ],
  stream: true
});
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content || '');
}

错误处理

常见错误

错误码说明处理方式
400请求参数错误检查请求参数格式
401认证失败检查 API Key
429请求频率超限降低请求频率或增加限额
500服务器错误稍后重试

错误响应示例

{
  "error": {
    "message": "Invalid request: missing required parameter 'messages'",
    "type": "invalid_request_error",
    "param": "messages",
    "code": "missing_required_parameter"
  }
}

最佳实践

temperature 设置

  • 0: 最确定性的输出,适合事实性回答
  • 0.7: 平衡创造性和准确性
  • 1.0: 默认值,适中
  • 2.0: 最高创造性,可能产生不相关输出

max_tokens 设置

根据预期回复长度设置:

  • 简短回答:100-200
  • 中等长度:500-1000
  • 长文本:2000-4000

流式响应

使用流式响应改善用户体验:

# 实时显示生成内容
for chunk in stream:
    print(chunk.choices[0].delta.content, end="", flush=True)
最后更新:
Prev
API 接口
Next
文本补全接口