LangChain
把 Praxis 接入 LangChain:ChatOpenAI 换个 baseURL,链式应用照常跑。
把 Praxis 接入 LangChain(JS/TS 版)——链、记忆、工具全家桶照常用,模型侧只改一个 baseURL。本页以 Node 实测。
每一步都标了期望结果:照做即可,也可以把本页直接交给能操作电脑的 AI 助手,让它替你完成安装、运行与验证。
你将完成
- 用 LangChain 的
ChatOpenAI调 Praxis 的模型,拿到回复与用量 - 完成标志:
hello.mjs打印中文回复与用量,stream.mjs逐字打印回复 - 预计耗时:3–5 分钟(不含 Node.js 安装)
- 支持协议:OpenAI 兼容(
/openai/v1)
前提
开始前逐项确认:
-
一个 Praxis API Key(
sk-praxis-开头)。没有就到 控制台 → API Keys 创建:点「创建 Key」,名称必填,有效期可选 30/60/90 天或永久,默认 90 天;创建成功弹窗会展示完整 Key 并带「复制 Key」,关闭后列表只显示掩码,随时可点行内复制图标重新获取完整 Key。期望:弹出「创建 API Key」对话框,提交后弹窗展示完整 Key 与「复制 Key」按钮。新账号自带 $1 免费额度。完整流程见快速开始。 -
Node.js 18 或更高(
node --version检查;用 Bun 亦可)。 -
安装 SDK:
npm install @langchain/openai期望:安装无报错。空目录直接装即可(npm 会在当前目录生成 package.json、package-lock.json 与 node_modules);需要链、提示词模板、输出解析器时再
npm install langchain。
第一个请求
先把 Key 放进环境变量(export PRAXIS_API_KEY=sk-praxis-…;PowerShell:$env:PRAXIS_API_KEY="…"),再新建 hello.mjs:
import { ChatOpenAI } from "@langchain/openai";
const model = new ChatOpenAI({
model: "deepseek-flash",
configuration: {
baseURL: "https://api.deepraxis.ai/openai/v1",
apiKey: process.env.PRAXIS_API_KEY,
},
});
const res = await model.invoke("用一句话介绍你自己");
console.log(res.content);
console.log(res.usage_metadata);运行:
node hello.mjs期望:打印一段中文回复,随后是用量对象(input_tokens / output_tokens / total_tokens;推理 token 数见 output_token_details.reasoning)。注意与 OpenAI 官方 SDK 的差别:地址与密钥写在 configuration 嵌套对象里,不是顶层字段。

流式响应
新建 stream.mjs:
import { ChatOpenAI } from "@langchain/openai";
const model = new ChatOpenAI({
model: "deepseek-flash",
configuration: {
baseURL: "https://api.deepraxis.ai/openai/v1",
apiKey: process.env.PRAXIS_API_KEY,
},
});
const stream = await model.stream("用两句话解释什么是 API");
for await (const chunk of stream) {
process.stdout.write(chunk.content);
}
console.log();期望:回复逐字打印、以换行收尾。流式支持因模型及其上游通道而异,个别可能暂未开放(报 STREAMING_UNPROVEN 时去掉流式或换模型重试)。

常见问题
| 症状 | 原因 | 解法 |
|---|---|---|
| 401 / 无效令牌 | Key 复制不完整或未设进环境变量 | 重新完整复制(注意 sk-praxis- 前缀);用 echo $PRAXIS_API_KEY 检查 |
| 404 / 路径不存在 | baseURL 少了 /openai/v1 后缀 | 必须是 https://api.deepraxis.ai/openai/v1(以 /v1 结尾) |
| 配置不生效 | 地址写在了顶层而不是 configuration 里 | 移进 configuration: { baseURL, apiKey } |
400 STREAMING_UNPROVEN | 该模型暂未开放流式 | 改用 invoke,或换个模型重试 |
| 模型不存在 | 模型 ID 与目录不一致 | 到控制台 → 模型 → 模型目录复制确切 ID |
进阶
- 链式调用:
model.pipe(...)接提示词模板、输出解析器即成链——Praxis 侧无需任何额外配置 - 查这次调用花了多少钱:LangChain 的用量不带费用;用 OpenAI SDK 那条路
usage.cost直接返回,或看控制台 → 用量与费用 - 换模型:改
model字段;deepseek-flash是滚动入口始终指向最新一代 Flash
相关食谱
- OpenAI SDK · Anthropic SDK · Vercel AI SDK
- 不想写代码?看 Cherry Studio · Claude Code