LangChain 接入 全部模型。
OminiGate 在 https://api.ominigate.ai/v1 暴露 OpenAI 兼容接口,LangChain 的 ChatOpenAI、OpenAIEmbeddings、Agent 和 RAG 链路只需替换两个值——base URL 和 API key——即可接入。
开发者为什么把 LangChain 接入 OminiGate
你已经在用的 LangChain 抽象层,背后由一个统一、可预测的 API 网关支撑。
一把 key,一份余额
一把 sk-omg- key 通用所有模型、所有链路、所有 Agent。一次充值,不再分别管理每个供应商的 key 和账号。
OpenAI 兼容即插即用
LangChain 的 ChatOpenAI 和 OpenAIEmbeddings 类原生使用 OpenAI 协议。把 base URL 指向 https://api.ominigate.ai/v1,目录里的每个模型都用同一种方式响应。
覆盖范围超越 LLM
在同一个应用里混合调用文本、图像、视频模型。今天链路里跑 openai/gpt-5,明天就能用同一份余额接入视频生成模型。
用量透明可追踪
每一次链路调用、Agent 步骤和 embedding 请求都会在 OminiGate Dashboard 中按模型和单次费用逐条列出,不必在多个账单页之间反复对账。
真实可运行的 LangChain 示例
原样复制以下代码,替换为自己的 sk-omg- key,即可直接运行。
1. 基础 ChatOpenAI 客户端
最短路径:改写 base_url 或 configuration.baseURL,传入 OminiGate key。LangChain 的其他代码无需改动。
# pip install langchain langchain-openai
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="openai/gpt-5",
base_url="https://api.ominigate.ai/v1",
api_key="sk-omg-your-api-key",
temperature=0.2,
)
print(llm.invoke("Summarise the OminiGate value proposition in two sentences."))
2. 带工具调用的 LangChain Agent
工具调用 Agent 之所以能直接工作,是因为 OminiGate 透明转发 OpenAI 格式的函数/工具定义。任何支持工具的对话模型(Anthropic、OpenAI、Google 等)都可以通过 slug 选用。
from langchain_openai import ChatOpenAI
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.tools import tool
@tool
def get_pricing(model_slug: str) -> str:
"""Look up published per-million-token pricing for an OminiGate model."""
# call your own pricing service here
return f"placeholder pricing for {model_slug}"
llm = ChatOpenAI(
model="anthropic/claude-sonnet-4",
base_url="https://api.ominigate.ai/v1",
api_key="sk-omg-your-api-key",
)
prompt = ChatPromptTemplate.from_messages([
("system", "You are a helpful pricing assistant."),
("human", "{input}"),
("placeholder", "{agent_scratchpad}"),
])
agent = create_tool_calling_agent(llm, [get_pricing], prompt)
executor = AgentExecutor(agent=agent, tools=[get_pricing], verbose=True)
executor.invoke({"input": "How much is openai/gpt-5 per million tokens?"})
3. 检索增强生成(RAG)
用 OminiGate 的 embeddings 模型构建向量库,再用对话模型生成最终答案。两端调用共享同一把 key 和余额,并出现在同一个 Dashboard 视图中。
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough
from langchain_core.output_parsers import StrOutputParser
from langchain_community.vectorstores import FAISS
embeddings = OpenAIEmbeddings(
model="openai/text-embedding-3-large",
base_url="https://api.ominigate.ai/v1",
api_key="sk-omg-your-api-key",
)
vectorstore = FAISS.from_texts(
["OminiGate exposes one OpenAI-compatible API for text, image, and video."],
embedding=embeddings,
)
retriever = vectorstore.as_retriever()
llm = ChatOpenAI(
model="openai/gpt-5",
base_url="https://api.ominigate.ai/v1",
api_key="sk-omg-your-api-key",
)
prompt = ChatPromptTemplate.from_template(
"Answer using only the context.\n\nContext: {context}\n\nQuestion: {question}",
)
chain = (
{"context": retriever, "question": RunnablePassthrough()}
| prompt
| llm
| StrOutputParser()
)
print(chain.invoke("What does OminiGate cover?"))
团队基于此构建什么
几种典型的 LangChain 模式,统一 API 网关让它们更省事。
多模型 Agent 编排
把推理步骤路由到高能力模型,把廉价子步骤交给小模型——无需管理多个 SDK、多份账单或多套限流面板。
私有语料库的 RAG
用 text-embedding-3-large 生成文档向量,本地存储,再选择最适合你领域的对话模型生成答案。一把 key 同时驱动链路的两端。
面向用户的 Copilot
在 LangChain 之上构建生产级聊天机器人和 Copilot。根据成本、延迟或能力按请求切换供应商——无需改代码,只需替换 model slug。
跨模态流水线
在同一个工作流中,把 LangChain 链路与图像或视频生成调用配合使用。同一份 OminiGate 余额支付,逐项计费。
迁移已有的 LangChain 项目
替换两行代码,链路、Agent 和 RAG 流水线就开始通过 OminiGate 运行。
从 OpenAI 直连迁移
增加 base_url,替换 API key 前缀,并将 model slug 加上 OminiGate 使用的供应商命名空间前缀(例如 openai/gpt-5)。
- from langchain_openai import ChatOpenAI
-
- llm = ChatOpenAI(model="gpt-4o", api_key="sk-...")
+ from langchain_openai import ChatOpenAI
+
+ llm = ChatOpenAI(
+ model="openai/gpt-5",
+ base_url="https://api.ominigate.ai/v1",
+ api_key="sk-omg-your-api-key",
+ )
从 OpenRouter 迁移
替换 base URL 和 API key。Model slug 仍然沿用你已经熟悉的 provider/model 规范,大部分链路无需改动。
- llm = ChatOpenAI(
- model="openai/gpt-4o",
- base_url="https://openrouter.ai/api/v1",
- api_key="sk-or-...",
- )
+ llm = ChatOpenAI(
+ model="openai/gpt-5",
+ base_url="https://api.ominigate.ai/v1",
+ api_key="sk-omg-your-api-key",
+ )
常见问题
如何让 LangChain 指向 OminiGate?
在 ChatOpenAI / OpenAIEmbeddings 上把 base_url(Python)或 configuration.baseURL(TypeScript)设为 https://api.ominigate.ai/v1,并传入 sk-omg- API key。其他 ChatOpenAI 配置无需修改。
支持流式返回吗?
支持。和直连 OpenAI 一样使用 streaming=True(Python)或 .stream()(TypeScript)即可。OminiGate 对任何支持流式的模型透明转发 OpenAI 流式格式。
支持函数 / 工具调用吗?
支持。工具调用、结构化输出和 JSON 模式对所有支持这些能力的模型都直接可用——包括通过 OpenAI 兼容接口暴露的 OpenAI、Anthropic 和 Google 对话系列。
LangChain Agent 能在一轮内调用多个工具吗?
可以。create_tool_calling_agent 和 AgentExecutor 按设计正常工作。如果想让多个工具在一次往返中并行触发,请选用支持并行工具调用的模型。
错误码长什么样?
错误返回遵循 OpenAI 的错误结构,因此 LangChain 已有的重试和回退包装(例如 RunnableWithFallbacks)无需修改即可使用。鉴权失败会返回 401,并附带关于 key 的明确说明。
如何追踪 LangChain 调用的费用?
每个请求都会显示在 OminiGate Dashboard 的用量页中,包含 model slug、输入/输出 token 数和费用。你也可以继续使用 LangChain 的 get_openai_callback 上下文管理器——token 计数直接来自 OminiGate 的响应字段。
应该选哪一个 embeddings 模型?
openai/text-embedding-3-large 是英文和多语言检索的稳健默认选择。对成本敏感的场景可换用更小的 embedding 模型——只需替换 model slug,RAG 链路的其他部分不受影响。
能在链路里调用图像或视频模型吗?
可以。在 LangChain 的 @tool 或 Runnable 包装内调用 OminiGate 的图像或视频接口,再把结果回传给链路即可。同一把 API key 可对所有模态鉴权,无需额外配置。
把下一个 LangChain 应用部署到 OminiGate
在 Dashboard 中创建一把 key,把 ChatOpenAI 客户端指向 https://api.ominigate.ai/v1,已有的链路立即可用。