:bullet_train: LiteLLM


LiteLLM 是一个统一的接口层,支持调用100+种大语言模型(LLM),包括Bedrock、Huggingface、VertexAI、TogetherAI、Azure、OpenAI、Groq等。

核心功能

  • 统一API格式:所有模型调用使用OpenAI兼容格式
  • 多模型支持:100+种LLM模型的一站式调用
  • 智能路由:自动重试和回退机制
  • 代理服务器:内置LLM网关,支持预算、速率限制和认证
  • 高级特性:函数调用、流式响应、缓存和可观测性
  • 企业级功能:团队管理、支出监控、审计日志

️ 安装指南

# 通过pip安装
pip install litellm # 安装开发环境依赖
make install-dev # 安装代理服务器完整功能
make install-proxy-dev

快速开始

基本使用示例

from litellm import completion

response = completion(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "你好,LiteLLM是什么?"}]
) print(response.choices[0].message.content)

启动代理服务器

litellm --model gpt-3.5-turbo --api-key your_openai_key

核心代码示例

多模型路由

from litellm import Router

model_list = [
{
"model_name": "gpt-3.5-turbo",
"litellm_params": {
"model": "azure/chatgpt-v-2",
"api_key": "your_azure_key",
"api_base": "https://your-endpoint.openai.azure.com/"
},
"tpm": 240000,
"rpm": 1800
},
{
"model_name": "claude-2",
"litellm_params": {
"model": "claude-2",
"api_key": "your_anthropic_key"
}
}
] router = Router(model_list=model_list)
response = await router.acompletion(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Hello!"}]
)

代理服务器API

from fastapi import FastAPI
import litellm
from litellm.proxy.proxy_server import initialize app = FastAPI()
initialize(app) # 启动服务
# uvicorn app:app --host 0.0.0.0 --port 8000

项目架构

litellm/
├── llms/ # 各厂商模型实现
├── proxy/ # 代理服务器实现
├── router_utils/ # 负载均衡和回退逻辑
├── types/ # 类型定义
├── integrations/ # 第三方集成
└── caching/ # 缓存后端实现

:chart_increasing: 企业功能

  • 自定义管理仪表盘
  • 细粒度访问控制
  • 高级监控和告警
  • 专属支持

贡献指南

我们欢迎各种形式的贡献!请先签署贡献者协议

# 开发环境设置
git clone https://github.com/BerriAI/litellm.git
cd litellm
make install-dev

联系我们

LiteLLM - 统一接口调用100+ LLM模型的更多相关文章

  1. tensorflow C++接口调用图像分类pb模型代码

    #include <fstream> #include <utility> #include <Eigen/Core> #include <Eigen/Den ...

  2. Python-通过实例方法调用-统一接口的实现-getter methodcaller

    某项目中,我们的代码使用的2个不同库中的图形类: Circle,Triangle 这两个类中都有一个获取面积的方法接口,但是接口的名字不一样 统一这些接口,不关心具体的接口,只要我调用统一的接口,对应 ...

  3. .Net 如何模拟会话级别的信号量,对http接口调用频率进行限制(有demo)

    现在,因为种种因素,你必须对一个请求或者方法进行频率上的访问限制. 比如, 你对外提供了一个API接口,注册用户每秒钟最多可以调用100次,非注册用户每秒钟最多可以调用10次. 比如, 有一个非常吃服 ...

  4. Opencv调用深度学习模型

    https://blog.csdn.net/lovelyaiq/article/details/79929393 https://blog.csdn.net/qq_29462849/article/d ...

  5. 聊一聊声明式接口调用与Nacos的结合使用

    背景 对于公司内部的 API 接口,在引入注册中心之后,免不了会用上服务发现这个东西. 现在比较流行的接口调用方式应该是基于声明式接口的调用,它使得开发变得更加简化和快捷. .NET 在声明式接口调用 ...

  6. PHP 使用 curl_* 系列函数和 curl_multi_* 系列函数进行多接口调用时的性能对比

    在页面中调用的服务较多时,使用并行方式,即使用 curl_multi_* 系列函数耗时要小于 curl_* 系列函数. 测试环境 操作系统:Windows x64 Server:Apache PHP: ...

  7. 云极知客开放平台接口调用方法(C#)

    云极知客为企业提供基于SAAS的智能问答服务.支持企业个性化知识库的快速导入,借助语义模型的理解和分析,使企业客户立即就拥有本行业的24小时客服小专家.其SAAS模式实现零成本投入下的实时客服数据的可 ...

  8. 微信公众号开发C#系列-4、获取接口调用凭证

    概述 获取接口调用凭证实质就是获取access_token.在微信接口开发中,许多服务的使用都离不开Access Token,Access Token相当于打开这些服务的钥匙,正常情况下会在7200秒 ...

  9. Vue+axios统一接口管理

    通过axios请求接口已经很简单了,但最近在做一个vue项目,想着把axios请求再封装一下,这样api就可以只在一处配置成方法,在使用的时候直接调用这个方法. 但咱们不用每个接口都定义成一个啰嗦的a ...

  10. Angular4+NodeJs+MySQL 入门-04 接口调用类

    上一篇文章说一下,后台接口的创建,这篇说一下如果调用接口. 创建一个目录helpers 此目录下有三个文件分别是 ApiClient.ts.clientMiddleware.ts.Core.ts,前面 ...

随机推荐

  1. netstat 与 ss 比较

    一.netstat 命令 1. 核心功能 显示网络连接.路由表.接口统计等信息. 支持TCP.UDP.UNIX域套接字等协议. 可查看进程与端口的关联. 2. 常用语法示例 查看所有活动连接 nets ...

  2. 使用MCP C# SDK开发MCP Server + Client

    大家好,我是Edison. 近日被MCP刷屏了,刚好看到张队发了一篇文章提到MCP的官方C# SDK发布了预览版,于是手痒痒尝了一下鲜,写了一个DEMO分享给大家. MCP是什么鬼? MCP,全称是& ...

  3. 牛客小白月赛104 C-小红打怪

    小红打怪 答案有单调性,使用二分答案来做 但是当时没有想到用二分,而是卡在怎么处理这三种攻击了. 可以把进行x回合的攻击,分为先进行x回合的全体打击,再进行x回合的范围打击,最后验证剩余血量够不够x回 ...

  4. 请求参数的绑定(获取请求数据)、请求参数是一个POJO

    一. @Controller @RequestMapping("/parem") public class ParamController { /** * springmvc接受请 ...

  5. .net clr 8年才修复的BUG,你让我损失太多了

    一.概述 .NET社区修复问题可谓是龟速,一个BUG在.NET 7.0+版本才修复,你让我损失了几万块,我现在还记得客户那种质疑的表情,你了解那种尬尴的气氛吗?你让我一度怀疑dotnetty,我从来不 ...

  6. 一天 Star 破万的开源项目「GitHub 热点速览」

    虽然现在市面上的 AI 编程助手已经"琳琅满目",但顶流就是顶流!OpenAI 新开源的轻量级编程助手 Codex,发布不到 24 小时 Star 数就轻松破万!姗姗来迟的 Ope ...

  7. Docker光速入门

    1.docker是什么,能干什么 Docker 是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中 ...

  8. 打造企业级AI文案助手:GPT-J+Flask全栈开发实战

    一.智能文案革命的序幕:为什么需要AI文案助手? 在数字化营销时代,内容生产效率成为企业核心竞争力.据统计,营销人员平均每天需要撰写3.2篇文案,而传统人工创作存在三大痛点: 效率瓶颈:创意构思到成文 ...

  9. KoalaWiki vs DeepWiki:更优秀的开源代码知识库解决方案

    KoalaWiki vs DeepWiki:更优秀的开源代码知识库解决方案 资源链接: 教程代码仓库:https://github.com/AIDotNet/SemanticKernel.Sample ...

  10. Docker自定义镜像输出日志

    概述 本文主要解决Docker自定义镜像之后,通过docker logs命令查看不到相关日志的问题 在 Docker 中自定义镜像输出日志,通常需要确保你的应用程序将日志输出到 标准输出(stdout ...