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

什么是 OpenAI 兼容的 API endpoint?

一个OpenAI兼容的API endpoint是指其请求和响应格式与OpenAI API完全一致的endpoint — 相同的 /v1/chat/completions schema,相同的 streaming format,相同的 tool-call fields — 这样,官方的OpenAI SDK只需更改 base URL 和 key 即可与其配合使用。UberLLM 兼容 OpenAI(并且在 /v1/messages 兼容 Anthropic),这就是为什么切换到它只需一行代码修改。

简短定义

一个端点(endpoint)被称为“OpenAI 兼容”,当它接受与 OpenAI API 相同的 HTTP 请求并返回相同的响应结构时。实际上,这意味着:

  • POST /v1/chat/completions 请求体 (model, messages, temperature, tools, stream, …) 被原样接受;
  • 响应是相同的 choices[].message 对象,并包含相同的 usage token 计数;
  • streaming 使用相同的 server-sent-events data: 块,以 [DONE] 结尾;
  • 工具/函数调用使用相同的 tool_calls 字段。

由于契约匹配,官方的 OpenAI SDK(无论是 Python、JavaScript 还是任何其他语言)都可以与该 endpoint 配合使用,只要您只更改 base URL 和 API key。您的应用程序代码不会察觉到任何不同。

这为何重要

OpenAI 兼容性将一个供应商的 API 变成了事实上的标准。一个兼容的 endpoint 让您能够保留您已在使用的 SDK、工具和框架集成(LangChain、Vercel AI SDK、LlamaIndex,以及数十种 agent 框架),同时改变其背后的服务。

这就是迁移到 UberLLM 的全部过程:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.uberllm.dev/v1",   # the only line that changes
    api_key="ull_your_key_here",
)

resp = client.chat.completions.create(
    model="deepseek/deepseek-v4-flash",
    messages=[{"role": "user", "content": "Hello!"}],
    stream=True,
)

请参阅 OpenAI SDK 文档 以了解所有支持的参数。

兼容性与真正的即插即用

“兼容”是一个范围。请留意那些接受请求格式但不支持流式传输、忽略工具调用或返回非标准 usage 的端点。UberLLM 实现了聊天补全 (chat-completions) 契约,包括流式传输、工具调用和 token 使用,并额外在 /v1/messages 公开了一个 Anthropic 兼容 的端点,因此 Anthropic SDK 和 Claude Code 也能正常工作,无需更改 — Anthropic SDK 文档。

UberLLM 在标准 endpoint 背后添加了什么

endpoint 是标准的;但其背后的路由不是。您发出的每个请求都会被发送到您指定模型的最便宜且健康的卖家,在输出前发生的故障会在下一个卖家上重试,您看到的价格(无额外费用)就是您支付的价格。浏览模型请访问 /models,实时价格请访问 /llm-api-pricing。

继续阅读

常见问题

“OpenAI兼容”是什么意思?

这意味着该 endpoint 接受与 OpenAI API 相同的 requests 并返回相同的 responses — 相同的 chat-completions schema、streaming format 和 tool-call fields — 因此,只需更改 base URL 和 key,OpenAI SDK 即可正常工作。

使用OpenAI兼容的endpoint需要更改我的代码吗?

只需要 base_url 和 api_key。您的 OpenAI SDK code 中的其他所有内容 — messages、streaming、tools、usage — 都保持不变。

UberLLM 也兼容 Anthropic 吗?

是的。除了 OpenAI-compatible 的 chat-completions endpoint 之外,UberLLM 还提供了一个 Anthropic-compatible 的 /v1/messages endpoint,因此 Anthropic SDKs 和 Claude Code 无需更改即可使用。