基本信息

Action:/chat/completions

Method: POST

Content-Type:application/json

Authorization:需提前在 API 密钥管理中创建和获取

计费方式:input 和 output token 数量。

请求参数

参数 类型 作用 是否必须 示例

messages

对象数组

包含对话历史描述的消息列表。

[{"role": "system", "content": "You are a helpful assistent."}, {"role": "user", "content": "你好"}]

model

字符串

要使用的模型

Qwen2-7B-Instruct

temperature

浮点型

默认为 1。表示要使用的采样温度(temperature),介于 0 ~ 2 之间。较高的值(如 0.8)会使输出更随机,而较低的值(如 0.2)则会使其更加专注和确定。

1

top_p

浮点型

默认为 1。一种称为“核心采样”的采样替代方法,其中模型考虑概率质量值在前 top_p 的标记的结果。因此,0.1 意味着仅考虑概率质量值前 10% 的标记。

1

n

整数型

默认为 1。要生成的每个输入消息的聊天完成选项数量。

1

stream

布尔类型

是否为流式响应

false

stop

字符串或数组类型

默认为 null。API 最多将生成 4 个序列,这些序列将停止生成更多标记。

[]

max_tokens

整数型

默认为 inf,表示最大生成 token 数

1024

presence_penalty

浮点型

默认为 0。介于 -2.0~2.0 之间的数字。正值会根据新标记在迄今为止的文本中出现的频率惩罚新标记,增加模型谈论新话题的可能性。

0

frequency_penalty

浮点型

默认为 0。范围在 -2.0~2.0 之间的数字。正值会根据其在文本中的现有频率惩罚新标记,从而减少模型重复同一行的可能性。

0

logit_bias

dict

默认为 null。修改出现在完成中的指定标记的可能性。

-

响应参数

  • choices 为对象数组类型,其相关参数说明:

    参数 类型 描述

    finish_reason

    字符串

    会话结束原因

    message 为对象类型

    role

    字符串

    角色

    content

    字符串

    会话内容

  • usage 为对象类型,用于描述 token 使用量,其相关参数说明:

    参数 类型 描述

    prompt_tokens

    整数型

    输入 token 数量

    completion_tokens

    整数型

    生成文本 token 数量

    total_tokens

    整数型

    总 token 数量

请求示例

Curl

curl -i -X POST \
   -H "Content-Type:application/json" \
   -H "Authorization:Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
   -d \
'{"model": "Qwen2-0.5B-Instruct", "stream": true, "messages": [{"role": "system", "content": "You are a helpful assistent."}, {"role": "user", "content": "你好"}]}' \
 'https://openapi.coreshub.cn/v1/chat/completions'

Python

from openai import OpenAI
client = OpenAI(api_key='sk-xxxxxxxxxx', base_url='https://openapi.coreshub.cn/v1')

# 流式输出方式
completion = client.chat.completions.create(
    model="Qwen2-0.5B-Instruct",
    messages=[
        {'role': 'system', 'content': 'You are a helpful assistant.'},
        {'role': 'user', 'content': '你是谁?'}],
    stream=True
)
for chunk in completion:
    print(chunk.model_dump_json())

# 文本输出方式
completion = client.chat.completions.create(
    model="Qwen2-0.5B-Instruct",
    messages=[
        {'role': 'system', 'content': 'You are a helpful assistant.'},
        {'role': 'user', 'content': '你是谁?'}],
)

print(completion.model_dump_json())

响应示例

{
    "id": "chatcmpl-123",
    "object": "chat.completion",
    "created": 1677652288,
    "choices": [{
        "index": 0,
        "message": { "role": "assistant", "content": "\n\nHello there, how may I assist you today?", },
        "finish_reason": "stop"
    }],
    "usage": { "prompt_tokens": 9, "completion_tokens": 12, "total_tokens": 21 }
}