安装与版本记录
复制后合并到自己的配置;请在本地安全设置真实凭据。
python -m pip install openai
python -m pip show openai
npm install openai
npm ls openai正在打开页面…
正在加载内容,请稍候。
OpenAI SDK 自定义 Base URL 时同时设置目标服务的 API Key 和准确模型 ID。本文提供 Python 与 Node.js 最小请求,使用 /v1 根地址并检查有效文本、错误响应和用量记录,再扩展到流式与业务代码。
资料核对:。本次复核配置与官方依据;原有实测保留原日期、环境与范围,新增相邻实验单独标注。
2026-10-25 资料复核与操作补充
先检查choices与非空正文,再要求finish_reason为stop;被截断或未知终态应作为未完成记录。输出实际model与usage,usage缺失保持未知,不能按0计。Python/Node分别记录已安装版本,再用相同任务复验。
原记录范围:本页保留原有配置、离线检查和历史记录;本轮没有新增该客户端或协议的在线运行记录。 下列相邻实验各有自己的日期、模型和产物,不替代本篇客户端或协议的原生验收。
安装所用语言的 SDK 并记录版本。不要在生产环境无记录地自动升级;SDK 提供的方法不代表当前模型或分组已支持对应端点。
复制后合并到自己的配置;请在本地安全设置真实凭据。
python -m pip install openai
python -m pip show openai
npm install openai
npm ls openaiPython 使用 base_url、timeout(秒)与 max_retries。下面发起一次非流式 Chat 请求,读取有效文本与结束原因;timeout=60.0 只是本示例的排查设置,长任务按项目调整。
复制后合并到自己的配置;请在本地安全设置真实凭据。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["tokenba_API_KEY"],
base_url="https://api.apizt.com/v1",
timeout=60.0,
max_retries=0,
)
response = client.chat.completions.create(
model=os.environ["tokenba_MODEL"],
messages=[{"role": "user", "content": "请只回复:连接测试成功"}],
stream=False,
)
if not response.choices or not response.choices[0].message.content:
raise RuntimeError("未取得有效文本,请核对响应与模型能力")
if response.choices[0].finish_reason != "stop":
raise RuntimeError("响应未完整结束,请保留回执检查")
print(response.choices[0].message.content)
print("model:", response.model)
print("usage:", response.usage)
print("finish_reason:", response.choices[0].finish_reason)Node.js 使用 baseURL、timeout(毫秒)与 maxRetries。基础地址必须包含 /v1,不能误填根域或 /chat/completions 完整路径。运行 node tokenba_sdk.mjs 时,将凭据注入同一进程环境。
复制后合并到自己的配置;请在本地安全设置真实凭据。
import OpenAI from "openai";
const apiKey = process.env.tokenba_API_KEY;
const model = process.env.tokenba_MODEL;
if (!apiKey || !model) throw new Error("请在启动环境设置 API Key 和准确模型 ID");
const client = new OpenAI({
apiKey,
baseURL: "https://api.apizt.com/v1",
timeout: 60_000,
maxRetries: 0,
});
const response = await client.chat.completions.create({
model,
messages: [{ role: "user", content: "请只回复:连接测试成功" }],
stream: false,
});
const choice = response.choices[0];
if (!choice?.message.content) throw new Error("未取得有效文本,请核对响应与模型能力");
if (choice.finish_reason !== "stop") throw new Error("响应未完整结束,请保留回执检查");
console.log(choice.message.content)
console.log("model:", response.model);
console.log("usage:", response.usage);
console.log("finish_reason:", choice.finish_reason);默认 SDK 可能自动重试部分失败。本示例显式关闭自动重试,便于观察一次调用;上线时结合状态码和 Retry-After 设置有限重试,避免 SDK、框架和业务层叠加。超时或断连不代表上游一定未执行,后台用量仍要核对。
用 Chat 示例验收后,再考虑 Responses 或 Anthropic Messages。Chat 使用 messages / choices;Responses 使用 input / output;Messages 有自己的内容块与工具字段。地址正确不会自动完成请求体和返回结构转换。
复制后合并到自己的配置;请在本地安全设置真实凭据。
Chat Completions: https://api.apizt.com/v1/chat/completions
Responses: https://api.apizt.com/v1/responses
Anthropic Messages: https://api.apizt.com/v1/messages记录有效输出、结束状态与后台请求;失败时捕获 SDK 异常中的状态码、错误类型和可用 request ID,保留脱敏信息。网络异常可能没有 HTTP 状态,网关或上游错误也不能假定都与 OpenAI 官方完全同形。
按项目逐项测试流式、工具回路、结构化输出和图片输入。Embedding / Rerank 使用独立任务与验收资料;Go、Spring AI 和 Agent 的参数、默认协议与上下文管理需要按各框架分别配置。
选择对应协议,填写 Key 与 Base URL
核对模型 ID、令牌分组和可用额度
检查响应正文与后台用量记录
创建 OpenAI 客户端时显式传入 api_key 与 base_url,在 chat.completions.create 中填写目标服务支持的 model。Key 从本地环境读取,base_url 不重复追加 /chat/completions。
按各语言 SDK 的参数名填写:Node.js 通常使用 baseURL,Python 使用 base_url。核对安装版本与示例,不要把 Python 配置对象原样复制到 JavaScript。
SDK 方法存在不代表平台模型支持。先确认协议、模型与分组,再测试所用参数和响应;Chat 成功不能代替 Responses、文件、音频、图片、批处理或工具调用验收。
2026-10-08 的 apizt 实测中,text-embedding-3-small 经 POST /v1/embeddings 返回 6 个 1536 维向量,usage 为 139 tokens;3 个虚构商店问答的检索首条均匹配预期。qwen3-rerank 经独立 POST /v1/rerank 返回 results[].index 与 relevance_score。该结果只覆盖本次令牌、分组和请求,不能外推到其他模型、所有分组、长文本或完整知识库。后台费用列匹配到 Rerank 为 USD 0.000006;Embedding 显示 USD 0.000000,低于六位小数显示精度,精确金额未确认,不代表免费。
不一样。Python 用 base_url、max_retries,timeout 按秒;Node.js 用 baseURL、maxRetries,timeout 按毫秒。选择项目语言后记录版本,并在真实部署环境验收。
以该令牌允许的模型、分组和余额为准。切换模型后复核协议、上下文、输出上限和工具能力;同一 Key 不等于对目录中所有模型都有权限。
可以保留 SDK 的异常捕获思路,但需要检查真实状态、错误体和可用 request ID。网络错误与上游错误分别处理,不假定所有网关响应完全等同官方;重试和业务去重也要单独设计。
注册后创建 apizt API Key,选择客户端和模型,再生成接入配置。从一次简单请求开始,按实际用量付费。
在控制台创建令牌,选择需要使用的模型权限。
按工具要求填写 API Key、接口地址与模型 ID。
确认收到有效结果,再到控制台查看用量与费用。