在俄罗斯用 LangChain:ChatOpenAI 和 LangGraph 接 Claude、GPT、DeepSeek、Gemini,不用 VPN
LangChain 和 LangGraph 是开源的 Python/JavaScript 库,用来写智能体、RAG 和大模型调用链。库本身免费,可在俄罗斯拿不到 OpenAI 或 Anthropic 的密钥。RuAPI 补上这一环:给 ChatOpenAI 填上 base_url https://www.ruapi.ai/v1 和 RuAPI 密钥,同一份代码就能跑 Claude、GPT、DeepSeek、Gemini、Qwen、GLM。Claude 也可以用原生的 ChatAnthropic。不用 VPN,USDT 付款。
更新于:
from openai import OpenAI
client = OpenAI(
api_key="sk-...",
base_url="https://www.ruapi.ai/v1",
)
resp = client.chat.completions.create(
model="deepseek-flash",
messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)这里用普通的 openai SDK 验证密钥。LangChain 里填的也是这两个值:https://www.ruapi.ai/v1 填进 base_url,密钥填进 api_key(JS 里是 configuration.baseURL 和 apiKey)。
在俄罗斯用 LangChain 卡在哪
包装得上,密钥拿不到。
pip install langchain 一路顺利,可第一次调模型就要 API 密钥。Anthropic 和 OpenAI 的支持国家名单里都没有俄罗斯(anthropic.com/supported-countries、developers.openai.com/api/docs/supported-countries,2026-11-05),直接申请密钥这条路走不通。RuAPI 的密钥注册完就能建,余额用 USDT 充。
每家厂商一个包、一把密钥、一份账单。
LangChain 里 OpenAI、Anthropic、Google、DeepSeek 各有各的集成包:langchain-openai、langchain-anthropic、langchain-google-genai、langchain-deepseek,每个都要那家公司的密钥。通过 RuAPI,所有模型都在同一个 OpenAI 兼容地址上应答,一个 ChatOpenAI 加一把密钥就够:换模型只改 model 字段,链和图的其余代码都不用动。
循环里的智能体悄悄烧 token。
LangGraph 智能体每走一步都把整段历史重新发给模型:消息、工具调用和工具结果。停止条件写错一处,账单就一直涨。所以开发时最好单独建一把带预算的密钥,测试先用便宜模型跑:deepseek-flash 每 100 万输入 token $0.168,命中缓存的重复前缀只要 $0.012。
怎么把 RuAPI 接到 LangChain:3 步
按现行版本写:Python 3.10+ 上的 langchain 1.4、langchain-openai 1.7、langchain-anthropic 1.7、LangGraph 1.2,JavaScript 的 @langchain/openai 1.8(PyPI、npm,2026-11-05)。示例代码在下面的方块里。
注册 RuAPI 并充值
www.ruapi.ai 的账号用邮箱、Google 或 Yandex 都能开。充值最方便的是 USDT:5 USDT 起,TRC20、BEP20、TON、Polygon 网络都行,也收 USDC。USDT 可以用卢布通过 SBP 买,步骤见 docs.ruapi.ai/zh/buy-usdt。境外银行发行的卡也能付。
新账号通常会马上拿到 $0.05,够用 claude-haiku-5-5、deepseek-flash 或 gpt-6-luna 跑通第一批示例。其余模型首次充值后开放。
给项目建一个密钥
控制台 →「令牌管理」→「添加令牌」。拿智能体做实验时,在额度一栏关掉「无限额度」并填上金额:图陷进死循环也花不超这个数。密钥放环境变量或 .env 文件里,别写进要提交到 git 的代码。


把地址和密钥交给 LangChain 的模型
- Python:pip install -U langchain langchain-openai。然后 ChatOpenAI(model="deepseek-flash", base_url="https://www.ruapi.ai/v1", api_key="sk-...")。也可以不写参数,改设环境变量 OPENAI_API_KEY 和 OPENAI_BASE_URL(或 OPENAI_API_BASE),ChatOpenAI 会自己读。
- JavaScript/TypeScript:npm install @langchain/openai @langchain/core。地址不是直接传,而是放在 configuration 里:new ChatOpenAI({ model: "deepseek-flash", apiKey: "sk-...", configuration: { baseURL: "https://www.ruapi.ai/v1" } })。
- Claude 走原生 Anthropic 格式:pip install -U langchain-anthropic,再 ChatAnthropic(model="claude-sonnet-5-5", base_url="https://www.ruapi.ai", api_key="sk-...")。这里的地址不带 /v1,库会自己补上 /v1/messages。
- 调用 llm.invoke("你好!"),再打开控制台 →「使用日志」:出现一条带模型和价格的新记录,就说明接通了。之后把 llm 交给 create_agent、LCEL 链或 LangGraph 节点,用法和普通模型一样。
带示例的完整教程:docs.ruapi.ai/zh/integrations/langchain · 工具调用:docs.ruapi.ai/zh/function-calling · 流式输出:docs.ruapi.ai/zh/streaming
最短代码
Python:任何模型都走 ChatOpenAI
pip install -U langchain langchain-openai
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="deepseek-flash",
base_url="https://www.ruapi.ai/v1",
api_key="sk-...",
)
print(llm.invoke("你好!").content)
JavaScript/TypeScript(ESM)
npm install @langchain/openai @langchain/core
import { ChatOpenAI } from "@langchain/openai";
const llm = new ChatOpenAI({
model: "deepseek-flash",
apiKey: "sk-...",
configuration: { baseURL: "https://www.ruapi.ai/v1" },
});
console.log((await llm.invoke("你好!")).content);
Claude 走 ChatAnthropic
pip install -U langchain-anthropic
from langchain_anthropic import ChatAnthropic
# base_url 不带 /v1:库会自己补上 /v1/messages
llm = ChatAnthropic(
model="claude-sonnet-5-5",
base_url="https://www.ruapi.ai",
api_key="sk-...",
max_tokens=4096,
)
print(llm.invoke("你好!").content)
LangChain 项目常用模型价格
从跑测试、做 RAG 的便宜模型,到撑复杂智能体的强模型。单位是美元/100 万 token,和价格页一致。没有订阅:只扣你的代码实际用掉的 token。
| model | input $/M | output $/M |
|---|---|---|
| deepseek-flash | $0.17 缓存读取 $0.0120 | $1.44 |
| gpt-5.4-mini | $0.90 缓存读取 $0.0900 | $5.40 |
| claude-haiku-5-5 | $0.12 缓存读取 $0.0120 >100K: $0.60 | $0.60 >100K: $3.00 |
| gemini-3.8-flash | $0.90 缓存读取 $0.0900 | $4.50 |
| gpt-5.4 | $3.00 缓存读取 $0.30 >272K: $6.00 | $18.00 >272K: $27.00 |
| claude-sonnet-5-5 | $2.40 缓存读取 $0.12 | $12.00 |
Input 是新输入的 token,「缓存读取」是输入里命中缓存的部分,output 是模型的回复。GPT 和 DeepSeek 会自动缓存重复的请求开头。Claude 按 cache_control 标记缓存。你不打标记的话,RuAPI 会替你打,ChatOpenAI 和 ChatAnthropic 都一样:请求里已经有模型之前的回复,并且同一把密钥上一次调这个模型在 5 分钟以内,就在系统提示末尾和最后一条用户消息上打标记。连续 3 次写了缓存却没省下钱,这把密钥+这个模型停 1 小时不打。也可以自己打:走 ChatOpenAI 时在消息块里带上标记,用 ChatAnthropic 时用 langchain_anthropic.middleware 里的 AnthropicPromptCachingMiddleware,这时 RuAPI 不再另加(docs.ruapi.ai/zh/prompt-caching)。
灰色的「>100K」一行是厂商对超过门槛的长提示词的价格;请求一旦超过门槛,整条都按这一档计费。
