OpenRouter把自家那套模型路由能力,第一次装进了官方的LangChain集成包里。Python侧叫langchain-openrouter,TypeScript侧叫@langchain/openrouter。
装上它们,就能在几乎不改动原有代码的前提下,把LangChain应用接上OpenRouter背后400多款模型与70多家提供商。
一、以前怎么干?绕路。现在怎么干?直接装。
过去要在LangChain里用OpenRouter,开发者惯用的“偏方”是用ChatOpenAI再覆写base_url指到OpenRouter的端点。能用,但别扭——它本质上是在“假装”自己是OpenAI的客户端,碰到OpenRouter特有的功能就抓瞎了。
如今专用封装ChatOpenRouter把这件别扭事接了下来。它本质上是对OpenRouter兼容OpenAI的API做了一层类型化包装,让模型路由器像普通聊天模型一样直接嵌进链或智能体里。
二、真正值钱的是它替你揽下的路由脏活
你的链代码只需要调用一次ChatOpenRouter,剩下的全交给路由层。
自动负载均衡:路由层会综合考虑价格、延迟和吞吐量,帮你选最合适的提供商。
规避故障提供商:自动规避最近30秒内出过故障的提供商。
跨提供商故障转移:一旦某个提供商挂掉,自动切到备选,链本身对这些重试和切换毫无感知。
未完成不收费:未成功完成的请求不产生费用。
按价格做负载均衡:默认按价格分配流量,省钱这件事也悄悄帮你办了。
三、换模型?改一行字符串就够了
模型参数采用provider/model的slug格式。只改这一个字符串,链其余的提示词、工具、输出全部原封不动——anthropic/claude-sonnet-4.5换成openai/gpt-5-mini或deepseek/deepseek-r1,不过是一行字的事。
流式响应、bind_tools工具调用、with_structured_output结构化输出,这些功能依然是一等公民。
四、想更精细?给你留了后门
不想完全交给路由层自动决策?还有两个控制接口:
用openrouter_provider指定提供商偏好顺序。
用route="fallback"配合models数组做跨模型故障转移。
五、五分钟跑通:三步上手
第一步:安装
Python:
pip install -U langchain-openrouter export OPENROUTER_API_KEY="sk-or-..."
TypeScript:
npm install @langchain/openrouter @langchain/core
第二步:实例化
from langchain_openrouter import ChatOpenRouter model = ChatOpenRouter( model="anthropic/claude-sonnet-4.5", temperature=0, max_tokens=1024, )
第三步:调用
response = model.invoke("用一句话总结这个工单。")
print(response.content)TypeScript写法几乎一样。
六、对开发者意味着什么?
对已经把OpenRouter绑进工作流的团队来说,这套专用包把“模型路由”从一处要反复折腾的工程负担,削成了一句配置。
当大模型供应的入口被收进同一个端点,开发者要操心的,似乎只剩下该让哪块脑子来回答问题。



