跳转到内容

Python / JavaScript SDK ​

下面使用支持 Responses 的 OpenAI 官方 SDK。示例运行在本地或服务端,不要把 API Key 放进浏览器前端。Base URL 均为 https://api.avanovo.com/v1,Python 字段是 base_url,JavaScript 字段是 baseURL。

先按快速开始设置环境变量 TOKEN_RELAY_API_KEY,确认余额和模型权限。运行示例会发起一次模型请求并产生用量。

安装与运行 ​

bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade openai
# 将下方 Python 示例保存为 responses.py
python responses.py
bash
npm install openai
# 将下方 JavaScript 示例保存为 responses.mjs
node responses.mjs

Python 建议使用 3.10 或更新版本;JavaScript 使用受支持的 Node.js LTS。生产项目应锁定实际验证过的 SDK 版本。Windows PowerShell 的环境变量输入方法见 Codex 教程,其中 Key 输入段同样适用于 SDK;Python 虚拟环境激活命令改用 .venv\Scripts\Activate.ps1。

完整示例 ​

本地示例核对版本:Python openai 1.109.1、JavaScript openai 7.21.0。升级后请在自己的项目中核对兼容性。

py
import os
import openai
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["TOKEN_RELAY_API_KEY"],
    base_url="https://api.avanovo.com/v1",
    max_retries=0,
    timeout=60.0,
)

try:
    raw = client.responses.with_raw_response.create(
        model="gpt-6-astra",
        input="请用一句话介绍你自己。",
        max_output_tokens=256,
    )
    print("请求 ID:", raw.headers.get("x-oneapi-request-id", "响应未提供"))
    response = raw.parse()
    print("状态:", response.status)
    print(response.output_text)
except openai.APIStatusError as error:
    print("HTTP 状态:", error.status_code)
    print("请求 ID:", error.response.headers.get("x-oneapi-request-id", "响应未提供"))
    raise SystemExit(1)
except openai.APIConnectionError:
    print("连接失败,请检查地址、网络和代理;先核对日志再决定是否重试。")
    raise SystemExit(1)
js
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.TOKEN_RELAY_API_KEY,
  baseURL: 'https://api.avanovo.com/v1',
  maxRetries: 0,
  timeout: 60_000,
});

try {
  const { data, response } = await client.responses.create({
    model: 'gpt-6-astra',
    input: '请用一句话介绍你自己。',
    max_output_tokens: 256,
  }).withResponse();
  console.log('请求 ID:', response.headers.get('x-oneapi-request-id') ?? '响应未提供');
  console.log('状态:', data.status);
  console.log(data.output_text);
} catch (error) {
  if (error instanceof OpenAI.APIError) {
    console.error('HTTP 状态:', error.status ?? '连接失败');
    console.error('请求 ID:', error.headers?.get('x-oneapi-request-id') ?? '响应未提供');
  } else {
    console.error('运行失败,请检查环境变量和本地配置。');
  }
  process.exitCode = 1;
}

示例关闭 SDK 自动重试,便于将一次执行与一条日志对应。生产应用若需要重试,应设置次数、退避与费用边界,而不是无限循环。

成功标志与请求 ID ​

输出包含“状态:completed”和模型文本;若状态为 incomplete,先检查输出预算。再到使用日志核对时间、模型、用量及费用。

本站请求 ID 从原始 HTTP 响应头 x-oneapi-request-id 取得,不假定 SDK 的 _request_id 属性一定对应本站的 ID。如果响应未提供,保留请求时间、模型和脱敏错误信息。

示例捕获 HTTP 状态错误和连接错误,不输出完整请求头或 Key。连接超时不等于没有计费,重试前先核对日志。

后续开发 ​

Frontend design and development by New API contributors. New API 原项目