首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

Litelm:没有臃肿的 LiteLLM

2026-09-15 1 阅读 约10分钟阅读 kennethwolters
分享:
字号:
litellm 的路由 + 翻译大约有 2,900 行和 2 个依赖项( openai 、 httpx )。 litellm 跨提供商路由 LLM 呼叫并在消息格式之间进行转换。该核心隐藏在 100k+ LOC 的代理服务器、缓存层、成本跟踪以及大多数用户从未接触过的数十个功能之下。 litelm 仅提取调用路径 - 模型路由、消息翻译、流式传输、工具使用、嵌入 - 不提取任何其他内容。没有路由器类,没有代理,没有缓存。 pip install litelm # openai + httpx pip install litelm[anthropic] # + anthropic SDK pip install litelm[bedrock] # + boto3 pip install litelm[all] # everything import litelm # 基本完成响应 = litelm 。 Completion ( "openai/gpt-4o" , messages = [{ "role" : "user" , "content" : "Hello!" }]) print ( response .choices [ 0 ]. message . content ) # Streaming for chunk in litelm . Completion ( "groq/llama-3.1-70b-versatile" , messages = [...], stream = True ): print ( chunk . Choices [ 0 ]. delta . content 或 "" , end = "" ) # 嵌入 response = litelm . embedding ( "openai/text-embedding-3-small" , input = [ "hello world" ]) 每个函数都有一个异步变体: acompletion 、 aembedding 、 aresponses 、 atext_completion 。 API 镜像 litellm — 相同的函数名称、相同的参数、相同的响应类型。如果您现在使用 litellm,则导入中的切换为 s/litelm/litelm/。 litellm Litelm 模型路由(提供商/模型 → 右端点) ✓ ✓ 消息翻译(Anthropic、Bedrock、Cloudflare、Mistral) ✓ ✓ 流媒体 +stream_chunk_builder ✓ ✓ 工具使用(函数调用) ✓ ✓ 嵌入 ✓ ✓ 文本完成 ✓ ✓ OpenAI 响应 API ✓ ✓ 模拟响应 ✓ ✓ 路由器(负载平衡、后备) ✓ ✗ 代理服务器✓ ✗ 缓存/预算/成本跟踪 ✓ ✗ 令牌计数 ✓ ✗ 图像生成、音频、OCR、微调 ✓ ✗ 代理、护栏、调度程序 ✓ ✗ 通过“提供商/模型名称”语法路由到 19 个提供商。任何与 OpenAI 兼容的端点都通过 api_base 工作。提供商 Env Var 处理程序 已验证 OpenAI OPENAI_API_KEY OpenAI SDK 是 Anthropic ANTHROPIC_API_KEY 自定义 是 Groq GROQ_API_KEY OpenAI-compat 是 Mistral MISTRAL_API_KEY 自定义 是 xAI XAI_API_KEY OpenAI-compat 是 OpenRouter OPENROUTER_API_KEY OpenAI-compat 是 Azure AZURE_API_KEY OpenAI SDK (Azure) 是 Bedrock AWS_ACCESS_KEY_ID 自定义 否 Cloudflare CLOUDFLARE_API_TOKEN 自定义 否 一起 TOGETHERAI_API_KEY OpenAI-compat 否 Fireworks FIREWORKS_API_KEY OpenAI-compat 否 DeepSeek DEEPSEEK_API_KEY OpenAI-compat 否 Perplexity PERPLEXITYAI_API_KEY OpenAI-compat 否 DeepInfra DEEPINFRA_API_TOKEN OpenAI-compat 否 Gemini GEMINI_API_KEY OpenAI-compat 否 Cohere COHERE_API_KEY OpenAI-compat 否 Ollama — OpenAI-compat 否 vLLM — OpenAI-compat 否 LM Studio — OpenAI-compat 否 为您的提供商设置环境变量:export OPENAI_API_KEY=sk-... export ANTHROPIC_API_KEY=sk-ant-... 或直接传递: litelm 。完成 ( "openai/gpt-4o" , messages = [...], api_key = "sk-..." ) litelm 。 completion ( "openai/gpt-4o" , messages = [...], api_base = "http://localhost:8000/v1" ) 所有提供程序错误都映射到 litelm 的异常层次结构: from litelm import ContextWindowExceededError , RateLimitError , AuthenticationError try : response = litelm 。完成 ( "openai/gpt-4o" , messages = messages ) except ContextWindowExceededError : # 提示太长 — 截断并重试 pass except RateLimitError : # 退出 pass except AuthenticationError : # 错误的 API 密钥 pass tools = [{ "type" : "function" , "function" : { "name" : "get_weather" , "parameters" : { "type" : "object" , “属性”:{“城市”:{“类型”:“字符串”}}},}}]响应= Litelm。完成(“openai/gpt-4o”,消息= [{“角色”:“用户”,“内容”:“巴黎天气?”}],工具=工具,tool_choice =“必需”,)tool_call =响应。选择 [0]。信息 。 tool_calls[0] print(tool_call.function.name,tool_call.function.arguments) 任何 OpenAI 兼容服务器都可以通过 api_base 工作:#vLLM litelm。完成 ( "openai/my-model" , messages = [...], api_
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱