OpenAI SDK

把 Praxis 接入 OpenAI SDK:三行核心代码,换掉 base_url 就能用。

把 Praxis 接入 OpenAI 官方 SDK——已有一切 OpenAI 代码不用换库,只改一个 baseURL。本页 Node 与 Python 均实测(其余语言同形)。

每一步都标了期望结果:照做即可,也可以把本页直接交给能操作电脑的 AI 助手,让它替你完成安装、运行与验证。

你将完成

  • 用 OpenAI SDK 调 Praxis 的模型,拿到回复与用量
  • 完成标志:hello.mjs 打印中文回复与 usage,stream.mjs 逐字打印回复
  • 预计耗时:3 分钟(不含 Node.js 安装)
  • 支持协议:OpenAI 兼容(/openai/v1)

前提

开始前逐项确认:

  • 一个 Praxis API Key(sk-praxis- 开头)。没有就到 控制台 → API Keys 创建:点「创建 Key」,名称必填,有效期默认 90 天(可改永久),创建后立即复制保存;之后也随时可在 Key 列表行点复制图标重新获取完整 Key。新账号自带 $1 免费额度。完整流程见快速开始。

  • Node.js 18 或更高(node --version 检查;用 Bun 亦可)。

  • 安装 SDK:在项目目录里

    npm install openai

    期望:安装无报错,node -e "require('openai')" 不抛错。

第一个请求

新建 hello.mjs,原样粘贴(把 Key 换成你的):

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.deepraxis.ai/openai/v1",
  apiKey: "sk-praxis-你的Key",
});

const completion = await client.chat.completions.create({
  model: "deepseek-flash",
  messages: [{ role: "user", content: "用一句话介绍你自己" }],
});

console.log(completion.choices[0].message.content);
console.log(completion.usage);

运行:

node hello.mjs

期望:打印一段中文回复,随后是 usage 对象——注意里面有 cost 字段,这次调用花了多少钱直接给你算好(平台按次计费,控制台用量与费用同口径)。

终端运行示例脚本的真实输出

建议把 Key 放进环境变量而不是写进代码:export PRAXIS_API_KEY=sk-praxis-…(PowerShell:$env:PRAXIS_API_KEY="…"),然后 apiKey: process.env.PRAXIS_API_KEY。

Python 版

pip install openai

先设置环境变量 export PRAXIS_API_KEY=sk-praxis-你的Key(PowerShell:$env:PRAXIS_API_KEY="你的Key"),再新建 hello.py:

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepraxis.ai/openai/v1",
    api_key=os.environ["PRAXIS_API_KEY"],
)

completion = client.chat.completions.create(
    model="deepseek-flash",
    messages=[{"role": "user", "content": "用一句话介绍你自己"}],
)

print(completion.choices[0].message.content)
print(completion.usage)

运行 python3 hello.py。期望:打印中文回复,随后是 CompletionUsage——其中 cost 字段直接给出本次费用。流式用法与 Node 同形(stream=True 后迭代 delta.content)。

Python 版示例的真实输出

流式响应

新建 stream.mjs:

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.deepraxis.ai/openai/v1",
  apiKey: process.env.PRAXIS_API_KEY,
});

const stream = await client.chat.completions.create({
  model: "glm-5.3-flash",
  messages: [{ role: "user", content: "用两句话解释什么是 API" }],
  stream: true,
});

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

期望:回复逐字打印、以换行收尾——这就是流式。示例用 glm-5.3-flash;流式支持按模型路由而异,个别路由可能暂未开放,详见下方常见问题。

终端运行流式示例:回复逐字输出

常见问题

症状原因解法
401 / 无效令牌Key 复制不完整或未设进环境变量重新完整复制(注意 sk-praxis- 前缀);用 echo $PRAXIS_API_KEY 检查
400 STREAMING_UNPROVEN该模型暂未开放流式(逐路由开通,偶发)去掉 stream: true,或换个模型重试
模型不存在模型 ID 与目录不一致到控制台 → 模型复制确切 ID
连接超时本地网络重试或换网络;也可先用下面的命令测网关连通(期望 200)

连通性自检:

curl -sS https://api.deepraxis.ai/openai/v1/models \
  -H "Authorization: Bearer $PRAXIS_API_KEY" -o /dev/null -w "%{http_code}"

期望输出 200。

进阶

  • 查这次调用花了多少钱:非流式调用的 usage.cost 直接返回费用,无需自行按 token 换算;流式的费用在最后一个 chunk 的 usage 里(该 chunk 的 choices 为空、含 cost)——stream_options: { include_usage: true } 可加可不加,平台两种情况都会回;控制台 → 用量与费用有逐笔明细
  • 列出可用模型:await client.models.list()——和控制台 → 模型同源
  • 换模型:改 model 字段即可;deepseek-flash 是滚动入口始终指向最新一代 Flash,deepseek-v4-flash 是固定版本快照

相关食谱

导出

本页内容