内容补全(早期接口)
POST v1/https://api.huandutech.com/v1/completions/v1/chat/completions 是为对话优化的现代接口(用 messages 数组管理多轮上下文,适配 GPT-3.5/4/4o 等聊天模型); /v1/completions 是传统文本补全接口(用单一 prompt 字符串,适配基础模型如 gpt-3.5-turbo-instruct)OpenAI。
OpenAI 官方强烈推荐新项目优先使用 /v1/chat/completionsOpenAI。
请求参数
Authorization
在 Header 添加参数 Authorization,其值为在 Bearer 之后拼接 Token。
Authorization: Bearer ******************Body 参数
Content-Type: application/json
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 必需 | 要使用的模型 ID。可以使用 List models API 查看所有可用模型。 |
| prompt | string | 必需 | 生成补全的提示语。可以是字符串、字符串数组、token 数组或 token 数组的数组。 |
| max_tokens | integer | 可选 | 补全时生成的最大 token 数。提示语加上 max_tokens 的总长度不能超过模型的上下文长度(通常为 2048 或 4096)。 |
| temperature | number | 可选 | 要使用的采样温度,介于 0 和 2 之间。 - 较高值(如 0.8):使输出更加随机。 - 较低值(如 0.2):使其更加集中和确定性。 建议:通常建议更改此值或 top_p,但不要同时更改。 |
| top_p | number | 可选 | 核采样(Nucleus sampling)参数。例如 0.1 意味着只考虑前 10% 概率质量的 token。通常建议只调整 temperature 或 top_p 中的一个。 |
| n | integer | 可选 | 为每个提示生成多少个补全结果。注意:这会快速消耗 token 配额,请谨慎使用。 |
| stream | boolean | 可选 | 是否流式返回部分进度。如果设置,token 将以服务器发送事件(SSE)的形式实时返回,以 data: [DONE] 结束。 |
| logprobs | integer/null | 可选 | 包含最有可能 token 的对数概率。例如设为 5,API 会返回 5 个最可能的 token 列表。最大值为 5。 |
| stop | string/array | 可选 | 最多包含 4 个序列,API 遇到这些序列时会停止生成更多 token。返回的文本中不会包含停止序列。 |
请求示例 (JSON)
{
"model": "gpt-3.5-turbo-instruct",
"prompt": "Say this is a test",
"max_tokens": 7,
"temperature": 0,
"top_p": 1,
"n": 1,
"stream": false,
"logprobs": null,
"stop": "\n"
}返回响应
200 成功
Content-Type: application/json
响应参数
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | string | 必需 | 请求的唯一标识符。 |
| object | string | 必需 | 对象类型,通常为 "text_completion"。 |
| created | integer | 必需 | 响应生成的 Unix 时间戳。 |
| model | string | 必需 | 本次请求所使用的模型名称。 |
| choices | array [object] | 必需 | 包含模型生成的文本结果列表。 |
| └─ text | string | 可选 | 模型生成的具体文本内容。 |
| └─ index | integer | 可选 | 该选项在 choices 列表中的索引位置。 |
| └─ logprobs | null | 可选 | 包含所选令牌的日志概率信息(如果请求时指定)。 |
| └─ finish_reason | string | 可选 | 模型停止生成的原因(如 "stop", "length")。 |
| usage | object | 必需 | 本次请求的 Token 消耗统计信息。 |
| └─ prompt_tokens | integer | 必需 | 提示词(Prompt)消耗的 Token 数量。 |
| └─ total_tokens | integer | 必需 | 本次交互消耗的总 Token 数量。 |
响应示例
{
"id": "cmpl-CQibwVhBrQf4G4Bhdp0oiMyoZ0zj1",
"object": "text_completion",
"created": 1760484048,
"model": "gpt-3.5-turbo-instruct",
"choices": [
{
"text": "",
"index": 0,
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 5,
"total_tokens": 5
}
}示例代码
python
import http.client
import json
conn = http.client.HTTPSConnection("nxaiapp.com")
payload = json.dumps({
"model": "gpt-3.5-turbo-instruct",
"prompt": "Say this is a test",
"max_tokens": 7,
"temperature": 0,
"top_p": 1,
"n": 1,
"stream": False,
"logprobs": None,
"stop": "\n"
})
headers = {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
}
conn.request("POST", "/v1/https://api.huandutech.com/v1/completions", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))