基于对话从大语言模型生成响应。
授权
发起 REST API 请求时,必须在请求头中包含 AccessToken 以及 Content-Type 头。您可以使用以下格式进行授权:
--header 'Authorization: Bearer <your_token_here>'
--header 'Content-Type: application/json'
注意:请将 your_token_here 替换为您的实际 AccessToken。它包含允许服务器验证您的身份和权限的信息。
您可以在此处创建 API 密钥。
请求体
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
model | string | 是 | 用于生成响应的模型名称 |
messages | array | 是 | 表示对话历史的消息对象数组 |
tools | array | 否 | 模型可用于生成响应的工具对象数组 |
tool_choice | string | 否 | 生成响应时选择使用哪个工具的策略(例如 "auto"、"none"、"required") |
stream | boolean, null | 否 | 是否在生成时以流式方式返回响应(默认:false) |
max_tokens | integer, null | 否 | 响应中生成的最大 Token 数 |
temperature | number, null | 否 | 生成响应时使用的采样温度 |
top_k | integer, null | 否 | 生成响应时保留的最高概率 Token 数量,用于 top-k 采样,有助于控制输出的随机性。取值范围:0 <= x <= 100 |
top_p | number, null | 否 | 生成响应时使用的核采样概率,有助于在生成的响应中平衡随机性和连贯性。 |
stop | string, string[] | 否 | 一个或多个序列,API 遇到这些序列时将停止生成更多 Token。返回的文本不包含停止序列。 |
presence_penalty | number, null | 否 | 根据 Token 是否出现在对话历史中施加的惩罚,有助于减少重复。取值范围:-2 <= x <= 2 |
frequency_penalty | number, null | 否 | 根据 Token 在对话历史中的频率施加的惩罚,有助于减少常见 Token。取值范围:-2 <= x <= 2 |
response_format | object | 否 | 要生成的响应格式。 |
n | integer | 否 | 为每个输入消息生成的响应选择数量。 |
seed | integer, null | 否 | 用于生成响应的随机种子,确保可重复性。 |
reasoning_effort | string | 否 | 模型在生成响应时应施加的推理努力级别。选项包括 none、low、medium 和 high。更高的推理努力可能产生更准确和详细的响应,但也会增加响应时间。 |
消息配置
messages 数组中的每个对象应具有以下结构:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
role | string | 是 | 消息发送者的角色(例如 "user"、"assistant"、"system") |
content | string | 是 | 消息的内容 |
工具配置
tools 数组中的每个对象应具有以下结构:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
type | string | 是 | 工具类型,目前仅支持 "function" |
function | object | 是 | 模型可以调用的函数定义,包括函数名称、描述和参数 |
function 对象应具有以下结构:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
name | string | 是 | 要调用的函数名称 |
description | string, null | 否 | 函数功能的描述,供模型决定何时及如何调用该函数。 |
parameters | object | 是 | 定义函数所接受参数的 JSON Schema 对象。这应包含 "type" 字段(应为 "object")、"required" 字段(字符串数组,指示哪些参数是必填的)以及 "properties" 字段(定义各个参数)。"properties" 字段中的每个参数应有自己的类型和描述。 |
strict | boolean, null | 否 | 模型调用函数时是否应严格遵守函数定义(默认:false) |
parameters 的 JSON Schema 示例:
{
"type": "object",
"required": ["param1", "param2"],
"properties": {
"param1": {
"type": "string",
"description": "The first parameter"
},
"param2": {
"type": "integer",
"description": "The second parameter"
}
}
}
响应格式配置
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
type | string | 是 | 响应格式类型,json_object、json_schema、grammar、text |
schema | string, object | 否 | schema 字段定义了模型输出的预期结构。它引导模型生成遵循指定 JSON 格式的响应。 |
grammar | string, null | 否 | grammar 字段定义了一组约束模型输出格式的规则。它确保生成的文本遵循指定的语法或结构化模式。 |
json_schema | string, object | 否 | json_schema 字段定义了模型输出必须遵循的严格 JSON Schema。它确保生成的响应匹配指定的结构和数据类型。 |
请求示例
{
"model": "minimax/minimax-m2.5",
"messages": [
{
"role": "user",
"content": "Hello, how are you?"
}
],
"tools": [
{
"type": "function",
"function": {
"name": "<string>",
"description": "<string>",
"parameters": {},
"strict": true
}
}
],
"tool_choice": "auto",
"stream": false,
"max_tokens": 100,
"temperature": 0.7,
"top_k": 50,
"top_p": 0.9,
"n": 1,
"stop": null,
"frequency_penalty": 0,
"presence_penalty": 0,
"response_format": {
"type": "json_schema",
"json_schema": {
"name": "response_schema",
"schema": {
"type": "object",
"properties": {
"response": {
"type": "string",
"description": "The assistant response to the user message."
}
},
"required": ["response"],
"additionalProperties": false
}
}
},
"seed": 42
}
响应
成功响应
| 字段 | 类型 | 描述 |
|---|---|---|
id | string | 聊天补全响应的唯一标识符 |
created | integer | 聊天补全创建时的时间戳(自 Unix 纪元以来的秒数) |
model | string | 用于生成响应的模型名称 |
choices | array | 模型生成的响应选择数组。每个选择包括生成的消息、完成原因和选择的索引。 |
object | string | 返回的对象类型,此端点为 "chat.completion" |
usage | object | 包含请求和响应 Token 使用信息的对象,包括提示词中的 Token 数、补全中的 Token 数和使用的总 Token 数。 |
metadata | object | 包含有关响应的附加元数据的对象,例如模型使用的权重版本。 |