OpenAI 模型
鉴权方式:所有协议统一使用
Authorization: Bearer <API Key>请求头。设置"stream": true可启用 SSE 流式输出。
基础对话
http
POST /v1/chat/completionsbash
curl --location --request POST 'https://neolink.com/api/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <API Key>' \
--data-raw '{
"model": "<Model ID>",
"messages": [
{
"role": "user",
"content": "hello"
}
]
}'python
import requests
url = "https://neolink.com/api/v1/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer <API Key>",
}
payload = {
"model": "<Model ID>",
"messages": [
{
"role": "user",
"content": "hello"
}
]
}
response = requests.post(url, headers=headers, json=payload, timeout=30)
response.raise_for_status()
result = response.json()
print(result)
if "choices" in result:
print("Assistant:", result["choices"][0]["message"]["content"])可选参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
max_completion_tokens | int | 否 | - | 生成内容(含推理过程)的最大 token 数。这是推荐使用的新参数,特别适用于推理模型(如 o1 系列),因为它包含了模型的思考过程 token。如果同时设置 max_tokens,以此参数为准 |
max_tokens | int | 否 | - | 生成响应的最大 token 数(不含推理过程)。这是旧参数,为向后兼容保留。对于非推理模型仍可使用,但推理模型建议改用 max_completion_tokens |
temperature | float | 否 | 1.0 | 采样温度,取值范围 0.0~2.0。较高的值(如 1.5)会使输出更随机和创造性,较低的值(如 0.3)会使输出更确定和聚焦。0 表示贪婪采样。建议与 top_p 二选一调整 |
top_p | float | 否 | 1.0 | 核采样(nucleus sampling)阈值,取值范围 0.0~1.0。模型会考虑概率累积达到 top_p 的 token。例如 0.1 表示只考虑概率最高的 10% 的 token。建议与 temperature 二选一调整 |
frequency_penalty | float | 否 | 0.0 | 频率惩罚系数,取值范围 -2.0~2.0。正值会根据 token 在文本中出现的频率进行惩罚,降低重复相同词汇的可能性。值越大,模型越倾向于使用不同的词汇 |
presence_penalty | float | 否 | 0.0 | 存在惩罚系数,取值范围 -2.0~2.0。正值会惩罚已经出现过的 token(无论出现多少次),鼓励模型谈论新主题。与 frequency_penalty 的区别在于不考虑频率,只考虑是否出现过 |
n | int | 否 | 1 | 为每个输入消息生成的响应数量。设置大于 1 时,API 会返回多个候选响应,每个响应都会计费。适用于需要多个不同答案的场景 |
stop | string 或 array | 否 | null | 停止序列,最多 4 个。当模型生成的文本中出现任一停止序列时,将立即停止生成。可用于控制输出边界,如 ["\n\n", "###"] |
stream | bool | 否 | false | 是否启用 SSE(Server-Sent Events)流式输出。设为 true 时,响应会以数据流形式逐步返回,适合需要实时显示生成内容的场景 |
seed | int | 否 | - | 随机种子,用于确保输出的可重现性。使用相同的种子和参数会尽可能生成相同的结果(但不保证完全相同)。适用于调试和需要一致性输出的场景 |
logprobs | bool | 否 | false | 是否返回输出 token 的对数概率信息。启用后,响应中会包含每个 token 的对数概率,可用于分析模型的确定性和置信度 |
top_logprobs | int | 否 | - | 每个 token 位置返回最可能的 token 数量,取值范围 0~20。需要 logprobs: true 才生效。返回的信息可用于分析模型在每个位置的备选 token |
user | string | 否 | - | 最终用户的唯一标识符,建议使用用户 ID 或设备 ID。OpenAI 使用此参数监控和检测滥用行为,有助于在发现滥用时采取措施 |
response_format | object | 否 | - | 指定模型输出格式。设置 {"type": "json_object"} 可强制模型输出有效的 JSON。注意:使用 JSON 模式时,必须在消息中明确要求 JSON 输出,否则可能导致无限生成 |
tools | array | 否 | - | 模型可调用的工具(函数)列表。每个工具需定义名称、描述和参数 schema。模型可根据对话内容决定是否调用工具,调用时会返回函数名和参数,由应用执行函数并将结果返回模型 |
tool_choice | string 或 object | 否 | auto | 控制模型调用工具的方式。none 表示不调用工具,auto 表示模型自行决定,required 表示必须调用至少一个工具。也可指定特定工具如 {"type": "function", "function": {"name": "my_function"}} |
reasoning_effort | string | 否 | medium | 推理力度(仅推理模型如 o1 系列支持)。可选 minimal、low、medium、high。值越高,模型会投入更多 token 进行推理,生成质量可能更好但成本更高、速度更慢 |
说明:
reasoning_effort仅对推理模型(如 o1、o3 系列)生效。普通模型会忽略此参数。- 推理模型建议使用
max_completion_tokens而非max_tokens,因为前者包含了思考过程的 token 计数。temperature和top_p建议只调整其中一个,同时调整可能导致不可预测的行为。frequency_penalty和presence_penalty可以同时使用,组合使用可以更好地控制重复性。
完整参数示例
bash
curl --location --request POST 'https://neolink.com/api/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <API Key>' \
--data-raw '{
"model": "<Model ID>",
"max_completion_tokens": 2048,
"temperature": 1.0,
"top_p": 1.0,
"reasoning_effort": "medium",
"stream": false,
"messages": [
{
"role": "user",
"content": "hello"
}
]
}'python
import requests
url = "https://neolink.com/api/v1/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer <API Key>",
}
payload = {
"model": "<Model ID>",
"max_completion_tokens": 2048,
"temperature": 1.0,
"top_p": 1.0,
"reasoning_effort": "medium",
"stream": False,
"messages": [
{
"role": "user",
"content": "hello"
}
]
}
response = requests.post(url, headers=headers, json=payload, timeout=30)
response.raise_for_status()
result = response.json()
print(result)Responses API
Responses API(/v1/responses)的多模态请求、搜索请求等完整接口文档,请参阅 OpenAI Responses API。
