LangChain
LangChains ChatOpenAI (von langchain-openai) zeigt auf UberLLM mit einem base_url und api_key. Alles andere — chains, agents, tools, streaming — funktioniert unverändert.
Installation
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 hat Vorrang vor den OPENAI_API_BASE / OPENAI_BASE_URL Umgebungsvariablen, daher ist ein explizites kwarg am zuverlässigsten.
Streaming
for chunk in llm.stream("Count to five."):
print(chunk.content, end="", flush=True)
Tools / Agents
Da ChatOpenAI das OpenAI Tool-Calling-Format spricht, funktionieren bind_tools und die Agent-Executors unverändert mit jedem Tool-fähigen UberLLM-Modell:
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);
Hinweise
- Jeder Aufruf wird an einen verfügbaren Drittanbieter für das Modell gesendet (Modelle & Routing).
- Jeder Aufruf wird zu dem Preis abgerechnet, den der Anbieter berechnet hat, ohne UberLLM-Gebühr (Preise).