PhoenixAI Tools

LLM API

PhoenixAI 提供与 OpenAI 格式兼容的对话接口,用同一个 sk- 模型 Key 即可调用,按各模型的 token 单价计费。PhoenixAI 负责鉴权、计费与限流。

项值
Base URLhttps://ai.suzatei.com/v1
鉴权Authorization: Bearer sk-...
对话POST /v1/chat/completions
模型列表GET /v1/models

先查有哪些模型

可用模型会随上游调整,请以接口返回为准,不要照抄文档里的名字:

curl -s https://ai.suzatei.com/v1/models \
  -H "Authorization: Bearer $PHOENIX_MODEL_KEY"

下面的 <模型ID> 请替换为返回结果里的 id。

调用示例

cURL

curl https://ai.suzatei.com/v1/chat/completions \
  -H "Authorization: Bearer $PHOENIX_MODEL_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<模型ID>",
    "messages": [{"role": "user", "content": "你好"}]
  }'

Python(官方 openai SDK)

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["PHOENIX_MODEL_KEY"],
    base_url="https://ai.suzatei.com/v1",
)
resp = client.chat.completions.create(
    model="<模型ID>",
    messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)
print(resp.usage)   # prompt_tokens / completion_tokens / total_tokens

Node.js

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.PHOENIX_MODEL_KEY,
  baseURL: "https://ai.suzatei.com/v1",
});
const resp = await client.chat.completions.create({
  model: "<模型ID>",
  messages: [{ role: "user", content: "你好" }],
});
console.log(resp.choices[0].message.content);

流式输出

加上 stream: true,按 OpenAI 的 SSE 格式逐块返回:

for chunk in client.chat.completions.create(
    model="<模型ID>",
    stream=True,
    messages=[{"role": "user", "content": "写一首短诗"}],
):
    print(chunk.choices[0].delta.content or "", end="")

注意事项

  • temperature、max_tokens、工具调用、JSON 模式等能力是否可用,取决于具体模型
  • 费用按模型单价从 Key 的额度中扣除,用量见响应里的 usage
  • 错误响应是 OpenAI 风格的 error 对象;常见状态码见 错误码与重试
  • 图像生成不走这个接口,见 HTTP API