新把任何智能体接入 UberLLM:一个密钥,所有模型,价格不高于官方价。
UberLLM

LangChain

LangChain 的 ChatOpenAI (来自 langchain-openai) 使用 base_url 和 api_key 指向 UberLLM。其他所有功能 — chains, agents, tools, streaming — 保持不变。

安装

pip install langchain langchain-openai

Python

import os
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="deepseek/deepseek-v4-flash",
    base_url="https://api.uberllm.dev/v1",
    api_key=os.environ["UBERLLM_API_KEY"],
)

print(llm.invoke("Say hello in one sentence.").content)

base_url 优先于 OPENAI_API_BASE / OPENAI_BASE_URL 环境变量,因此明确的 kwarg 是最可靠的。

流式传输

for chunk in llm.stream("Count to five."):
    print(chunk.content, end="", flush=True)

工具 / 代理

因为 ChatOpenAI 采用 OpenAI 工具调用格式,所以 bind_tools 和代理执行器可以原样用于任何支持工具的 UberLLM 模型:

from langchain_core.tools import tool

@tool
def get_weather(city: str) -> str:
    "Return the weather for a city."
    return f"Sunny in {city}."

agent_llm = llm.bind_tools([get_weather])
print(agent_llm.invoke("What's the weather in Paris?").tool_calls)

JavaScript / TypeScript

import { ChatOpenAI } from "@langchain/openai";

const llm = new ChatOpenAI({
  model: "deepseek/deepseek-v4-flash",
  apiKey: process.env.UBERLLM_API_KEY,
  configuration: { baseURL: "https://api.uberllm.dev/v1" },
});

const res = await llm.invoke("Say hello in one sentence.");
console.log(res.content);

注意事项

  • 每次调用都会发送给模型的一个可用第三方提供商 (模型与路由)。
  • 每次调用都会按照提供商的收费进行计费,UberLLM 不收取任何费用 (定价)。