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

相关食谱

导出

本页内容