Chat Completions

POST/v1/chat/completions

使用 OpenAI Chat Completions 兼容结构进行文本、多模态和工具调用。

这是最适合作为首次联调的文本接口。模型能力和可用字段取决于所选模型及其 Provider 路由。

核心请求字段

字段类型必填说明
modelstring是从 /v1/models 获取的模型 ID。
messagesarray是对话消息,content 支持字符串或多模态内容数组。
streamboolean否设为 true 时返回 SSE 数据流。
temperaturenumber否采样参数,仅在模型和路由支持时生效。
max_tokensinteger否限制输出 Token 数,受模型能力约束。
toolsarray否OpenAI 风格函数工具定义。
response_formatobject否结构化输出要求,仅在模型和路由支持时使用。

非流式示例

curl
curl https://api.noxgate.net/v1/chat/completions \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "YOUR_MODEL_ID",
    "messages": [{"role": "user", "content": "Hello"}],
    "stream": false
  }'
Python
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://api.noxgate.net/v1",
)

response = client.chat.completions.create(
    model="YOUR_MODEL_ID",
    messages=[{"role": "user", "content": "Hello"}],
)

print(response.choices[0].message.content)
Node.js
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-your-api-key",
  baseURL: "https://api.noxgate.net/v1",
});

const response = await client.chat.completions.create({
  model: "YOUR_MODEL_ID",
  messages: [{ role: "user", content: "Hello" }],
});

console.log(response.choices[0]?.message?.content);

流式响应

stream=true 时响应使用 text/event-stream。客户端应逐个处理 data 事件,并以 data: [DONE] 作为正常结束信号。连接空闲时平台可能发送注释心跳。

curl · SSE
curl https://api.noxgate.net/v1/chat/completions \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "YOUR_MODEL_ID",
    "messages": [{"role": "user", "content": "Hello"}],
    "stream": true
  }' \
  -N

成功响应

JSON
{
  "id": "chatcmpl_example",
  "object": "chat.completion",
  "model": "YOUR_MODEL_ID",
  "choices": [
    {
      "index": 0,
      "message": {"role": "assistant", "content": "Hello!"},
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 8,
    "completion_tokens": 3,
    "total_tokens": 11
  }
}

使用提示

  • 先用非流式文本请求确认密钥、Base URL 和模型 ID。
  • 多模态、工具调用和结构化输出必须由所选模型支持。
  • 不要假设所有 Provider 都支持完全相同的可选字段。