SupaStore

聊天对话 (Chat)

根据对话历史创建模型响应,支持流式和非流式响应。

更新时间:

SupaStore 的聊天对话接口兼容 OpenAI Chat Completions API 格式。

📡 接口信息

  • 请求方式: POST
  • 接口路径: /v1/chat/completions
  • Content-Type: application/json

🔑 请求头参数

参数名 必填 示例/说明
Authorization 是 Bearer sk-xxxxxx(您的 API 密钥)
Content-Type 是 application/json

📦 请求体参数 (Request Body)

参数名 类型 必填 默认值 描述
model string 是 - 使用的模型 ID,例如 claude-sonnet-4-6 或 gpt-5.6-luna。
messages array 是 - 对话消息历史列表。每个消息项包含 role ("system", "user", "assistant") 和 content。
temperature number 否 1.0 采样温度,介于 0 到 2 之间。值越大输出越随机,值越小越精确。
top_p number 否 1.0 核采样概率,介于 0 到 1 之间。
n integer 否 1 每个提示词生成几条候选回答。
stream boolean 否 false 是否开启流式传输(打字机效果输出)。如果为 true,将使用 Server-Sent Events (SSE) 格式。
max_tokens integer 否 - 生成回答的最大 Token 数限制。
stop string/array 否 null 停止词序列。模型在遇到这些词时会停止生成。

💻 调用示例 (cURL)

非流式请求

curl -X POST "https://api.supastore.cc/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gpt-5.6-luna",
    "messages": [
      {
        "role": "user",
        "content": "用两句话介绍你自己。"
      }
    ],
    "temperature": 0.7
  }'

流式请求

curl -N "https://api.supastore.cc/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "deepseek-v4-flash",
    "messages": [
      {"role": "user", "content": "用三点说明流式响应的好处。"}
    ],
    "stream": true
  }'

🟢 Node.js 示例

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.SUPASTORE_API_KEY,
  baseURL: "https://api.supastore.cc/v1"
});

const stream = await client.chat.completions.create({
  model: "deepseek-v4-flash",
  messages: [
    { role: "system", content: "你是一个简洁的中文助手。" },
    { role: "user", content: "解释一下什么是 API 中转。" }
  ],
  stream: true
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content || "");
}

🐍 Python 示例

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["SUPASTORE_API_KEY"],
    base_url="https://api.supastore.cc/v1",
)

stream = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[
        {"role": "system", "content": "你是一个简洁的中文助手。"},
        {"role": "user", "content": "解释一下什么是 API 中转。"},
    ],
    stream=True,
)

for chunk in stream:
    content = chunk.choices[0].delta.content
    if content:
        print(content, end="", flush=True)

返回示例 (200 OK)

{
  "id": "chatcmpl-8z1b...",
  "object": "chat.completion",
  "created": 1716666666,
  "model": "gpt-5.6-luna",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "您好!有什么可以帮您?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 15,
    "completion_tokens": 40,
    "total_tokens": 55
  }
}

常见错误码

HTTP 状态码 常见原因 处理建议
400 messages 为空、JSON 格式错误、参数类型不正确 检查请求体,确保 model 和 messages 存在。
401 API Key 无效或 Header 缺失 检查 Authorization: Bearer YOUR_API_KEY。
402 余额不足 前往控制台充值或切换到低成本模型。
429 并发过高或请求过快 降低 Agent 工具并发,加入重试退避。
500 上游模型或网关临时异常 稍后重试,生产环境建议配置备用模型。