Skip to content

发起第一个请求

本指南将帮助您完成第一次 API 调用,了解请求和响应的完整流程。

使用 curl 发起请求

基本请求

bash
curl https://star.zhxyclaw.cn/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-your-api-key" \
  -d '{
    "model": "gpt-5.4",
    "messages": [
      {
        "role": "system",
        "content": "你是一个有帮助的AI助手。"
      },
      {
        "role": "user",
        "content": "用一句话解释什么是人工智能。"
      }
    ],
    "temperature": 0.7,
    "max_tokens": 200
  }'

sk-your-api-key 替换为您在 获取 API Key 中获得的实际密钥。

响应格式

成功请求将返回如下 JSON 响应:

json
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1720000000,
  "model": "gpt-5.4",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "人工智能是让计算机模拟人类智能行为的技术,包括学习、推理和自我修正等能力。"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 32,
    "total_tokens": 57
  }
}

响应字段说明

字段类型说明
idstring请求的唯一标识符
objectstring对象类型,固定为 chat.completion
createdinteger响应创建时间(Unix 时间戳)
modelstring实际使用的模型名称
choicesarray模型生成的回复列表
choices[].indexinteger回复的索引
choices[].message.rolestring角色,固定为 assistant
choices[].message.contentstring模型生成的回复内容
choices[].finish_reasonstring停止原因:stop(正常结束)或 length(达到最大长度)
usage.prompt_tokensinteger输入消耗的 Token 数
usage.completion_tokensinteger输出消耗的 Token 数
usage.total_tokensinteger总消耗的 Token 数

使用 OpenAI Python SDK

安装 SDK

bash
pip install openai

基本调用

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://star.zhxyclaw.cn/v1"
)

response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[
        {"role": "system", "content": "你是一个有帮助的AI助手。"},
        {"role": "user", "content": "用一句话解释什么是人工智能。"}
    ],
    temperature=0.7,
    max_tokens=200
)

print(response.choices[0].message.content)

流式输出

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://star.zhxyclaw.cn/v1"
)

stream = client.chat.completions.create(
    model="gpt-5.4",
    messages=[
        {"role": "user", "content": "写一首关于春天的五言绝句。"}
    ],
    stream=True
)

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

print()  # 换行

使用 OpenAI Node.js SDK

安装 SDK

bash
npm install openai

基本调用

javascript
import OpenAI from "openai";

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

async function main() {
  const response = await client.chat.completions.create({
    model: "gpt-5.4",
    messages: [
      { role: "system", content: "你是一个有帮助的AI助手。" },
      { role: "user", content: "用一句话解释什么是人工智能。" },
    ],
    temperature: 0.7,
    max_tokens: 200,
  });

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

main();

流式输出

javascript
import OpenAI from "openai";

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

async function main() {
  const stream = await client.chat.completions.create({
    model: "gpt-5.4",
    messages: [
      { role: "user", content: "写一首关于春天的五言绝句。" },
    ],
    stream: true,
  });

  for await (const chunk of stream) {
    const content = chunk.choices[0]?.delta?.content;
    if (content) {
      process.stdout.write(content);
    }
  }
  console.log();
}

main();

使用环境变量管理 Key

为了避免在代码中硬编码 API Key,推荐使用环境变量:

bash
# 设置环境变量
export STAR_API_KEY="sk-your-api-key"
python
# Python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("STAR_API_KEY"),
    base_url="https://star.zhxyclaw.cn/v1"
)
javascript
// Node.js
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.STAR_API_KEY,
  baseURL: "https://star.zhxyclaw.cn/v1",
});

常见错误

HTTP 状态码错误信息说明
401Invalid API keyAPI Key 无效或已过期
403Permission denied无权限访问该模型
429Rate limit exceeded请求频率超出限制
500Internal server error服务端错误,请稍后重试

遇到错误时,请检查:

  1. API Key 是否正确
  2. 模型名称是否正确(查看 模型列表
  3. 请求格式是否正确
  4. 账户余额是否充足

下一步

Star API - 统一的大模型接口网关