LangChain 接入
LangChain 可以通过 OpenAI 兼容接口接入 CoreRouter。核心配置仍然是 API Key、Base URL 和 Model ID。
Python
安装
bash
pip install langchain-openai
基础使用
python
from langchain_openai import ChatOpenAI
import os
llm = ChatOpenAI(
model="claude-sonnet-4-5",
api_key=os.environ["COREROUTER_API_KEY"],
base_url="https://api.corerouter.tech/v1",
)
response = llm.invoke("你好,请介绍一下你自己。")
print(response.content)
流式输出
python
for chunk in llm.stream("用三句话介绍 CoreRouter。"):
print(chunk.content, end="", flush=True)
Chain 示例
python
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
import os
llm = ChatOpenAI(
model="claude-sonnet-4-5",
api_key=os.environ["COREROUTER_API_KEY"],
base_url="https://api.corerouter.tech/v1",
)
prompt = ChatPromptTemplate.from_messages([
("system", "你是一个专业的翻译助手。"),
("user", "请将以下内容翻译成英文:{text}"),
])
chain = prompt | llm | StrOutputParser()
print(chain.invoke({"text": "你好,世界"}))
JavaScript / TypeScript
安装
bash
npm install @langchain/openai @langchain/core langchain
基础使用
typescript
import { ChatOpenAI } from "@langchain/openai";
const llm = new ChatOpenAI({
model: "claude-sonnet-4-5",
apiKey: process.env.COREROUTER_API_KEY,
configuration: {
baseURL: "https://api.corerouter.tech/v1",
},
});
const response = await llm.invoke("你好,请介绍一下你自己。");
console.log(response.content);
Chain 示例
typescript
import { StringOutputParser } from "@langchain/core/output_parsers";
import { ChatPromptTemplate } from "@langchain/core/prompts";
import { ChatOpenAI } from "@langchain/openai";
const llm = new ChatOpenAI({
model: "claude-sonnet-4-5",
apiKey: process.env.COREROUTER_API_KEY,
configuration: {
baseURL: "https://api.corerouter.tech/v1",
},
});
const prompt = ChatPromptTemplate.fromMessages([
["system", "你是一个专业的翻译助手。"],
["user", "请将以下内容翻译成英文:{text}"],
]);
const chain = prompt.pipe(llm).pipe(new StringOutputParser());
console.log(await chain.invoke({ text: "你好,世界" }));
模型与能力
- 普通聊天:选择任意可用聊天模型。
- Tool Calling / Agent:选择控制台标记支持工具调用或 Coding Agent 的模型。
- Vision:选择支持图像输入的模型。
- RAG:聊天模型和 Embeddings 模型可能需要分别配置,请以控制台模型列表为准。
- Responses API:如果应用或 Agent 依赖 Responses API,请先用支持 Responses 的 Model ID 单独验证
/v1/responses,不要只验证 Chat Completions。
Embeddings
python
from langchain_openai import OpenAIEmbeddings
import os
embeddings = OpenAIEmbeddings(
model="embedding-model-id",
api_key=os.environ["COREROUTER_API_KEY"],
base_url="https://api.corerouter.tech/v1",
)
vector = embeddings.embed_query("CoreRouter 文档")
print(len(vector))
常见问题
旧版参数名不生效
LangChain 版本不同,参数名可能是 model / modelName、apiKey / openAIApiKey。如果示例报类型错误,请先升级依赖,或按当前包版本的类型提示调整。
Agent 无法调用工具
先用普通 OpenAI SDK 的工具调用示例测试同一个模型。如果 SDK 也没有返回 tool_calls,说明当前模型或渠道不支持该能力。
RAG 查询效果异常
确认文档入库和查询使用同一个 Embeddings 模型,并检查向量维度、文本切分和召回数量。
CoreRouter API 文档