Skip to content

OpenAI 模型 ​

鉴权方式:所有协议统一使用 Authorization: Bearer <API Key> 请求头。设置 "stream": true 可启用 SSE 流式输出。

基础对话 ​

http
POST /v1/chat/completions
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>",
         "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_tokensint否-生成内容(含推理过程)的最大 token 数。这是推荐使用的新参数,特别适用于推理模型(如 o1 系列),因为它包含了模型的思考过程 token。如果同时设置 max_tokens,以此参数为准
max_tokensint否-生成响应的最大 token 数(不含推理过程)。这是旧参数,为向后兼容保留。对于非推理模型仍可使用,但推理模型建议改用 max_completion_tokens
temperaturefloat否1.0采样温度,取值范围 0.0~2.0。较高的值(如 1.5)会使输出更随机和创造性,较低的值(如 0.3)会使输出更确定和聚焦。0 表示贪婪采样。建议与 top_p 二选一调整
top_pfloat否1.0核采样(nucleus sampling)阈值,取值范围 0.0~1.0。模型会考虑概率累积达到 top_p 的 token。例如 0.1 表示只考虑概率最高的 10% 的 token。建议与 temperature 二选一调整
frequency_penaltyfloat否0.0频率惩罚系数,取值范围 -2.0~2.0。正值会根据 token 在文本中出现的频率进行惩罚,降低重复相同词汇的可能性。值越大,模型越倾向于使用不同的词汇
presence_penaltyfloat否0.0存在惩罚系数,取值范围 -2.0~2.0。正值会惩罚已经出现过的 token(无论出现多少次),鼓励模型谈论新主题。与 frequency_penalty 的区别在于不考虑频率,只考虑是否出现过
nint否1为每个输入消息生成的响应数量。设置大于 1 时,API 会返回多个候选响应,每个响应都会计费。适用于需要多个不同答案的场景
stopstring 或 array否null停止序列,最多 4 个。当模型生成的文本中出现任一停止序列时,将立即停止生成。可用于控制输出边界,如 ["\n\n", "###"]
streambool否false是否启用 SSE(Server-Sent Events)流式输出。设为 true 时,响应会以数据流形式逐步返回,适合需要实时显示生成内容的场景
seedint否-随机种子,用于确保输出的可重现性。使用相同的种子和参数会尽可能生成相同的结果(但不保证完全相同)。适用于调试和需要一致性输出的场景
logprobsbool否false是否返回输出 token 的对数概率信息。启用后,响应中会包含每个 token 的对数概率,可用于分析模型的确定性和置信度
top_logprobsint否-每个 token 位置返回最可能的 token 数量,取值范围 0~20。需要 logprobs: true 才生效。返回的信息可用于分析模型在每个位置的备选 token
userstring否-最终用户的唯一标识符,建议使用用户 ID 或设备 ID。OpenAI 使用此参数监控和检测滥用行为,有助于在发现滥用时采取措施
response_formatobject否-指定模型输出格式。设置 {"type": "json_object"} 可强制模型输出有效的 JSON。注意:使用 JSON 模式时,必须在消息中明确要求 JSON 输出,否则可能导致无限生成
toolsarray否-模型可调用的工具(函数)列表。每个工具需定义名称、描述和参数 schema。模型可根据对话内容决定是否调用工具,调用时会返回函数名和参数,由应用执行函数并将结果返回模型
tool_choicestring 或 object否auto控制模型调用工具的方式。none 表示不调用工具,auto 表示模型自行决定,required 表示必须调用至少一个工具。也可指定特定工具如 {"type": "function", "function": {"name": "my_function"}}
reasoning_effortstring否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。