LiteLLM - 统一接口调用100+ LLM模型
: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模型的更多相关文章
- tensorflow C++接口调用图像分类pb模型代码
#include <fstream> #include <utility> #include <Eigen/Core> #include <Eigen/Den ...
- Python-通过实例方法调用-统一接口的实现-getter methodcaller
某项目中,我们的代码使用的2个不同库中的图形类: Circle,Triangle 这两个类中都有一个获取面积的方法接口,但是接口的名字不一样 统一这些接口,不关心具体的接口,只要我调用统一的接口,对应 ...
- .Net 如何模拟会话级别的信号量,对http接口调用频率进行限制(有demo)
现在,因为种种因素,你必须对一个请求或者方法进行频率上的访问限制. 比如, 你对外提供了一个API接口,注册用户每秒钟最多可以调用100次,非注册用户每秒钟最多可以调用10次. 比如, 有一个非常吃服 ...
- Opencv调用深度学习模型
https://blog.csdn.net/lovelyaiq/article/details/79929393 https://blog.csdn.net/qq_29462849/article/d ...
- 聊一聊声明式接口调用与Nacos的结合使用
背景 对于公司内部的 API 接口,在引入注册中心之后,免不了会用上服务发现这个东西. 现在比较流行的接口调用方式应该是基于声明式接口的调用,它使得开发变得更加简化和快捷. .NET 在声明式接口调用 ...
- PHP 使用 curl_* 系列函数和 curl_multi_* 系列函数进行多接口调用时的性能对比
在页面中调用的服务较多时,使用并行方式,即使用 curl_multi_* 系列函数耗时要小于 curl_* 系列函数. 测试环境 操作系统:Windows x64 Server:Apache PHP: ...
- 云极知客开放平台接口调用方法(C#)
云极知客为企业提供基于SAAS的智能问答服务.支持企业个性化知识库的快速导入,借助语义模型的理解和分析,使企业客户立即就拥有本行业的24小时客服小专家.其SAAS模式实现零成本投入下的实时客服数据的可 ...
- 微信公众号开发C#系列-4、获取接口调用凭证
概述 获取接口调用凭证实质就是获取access_token.在微信接口开发中,许多服务的使用都离不开Access Token,Access Token相当于打开这些服务的钥匙,正常情况下会在7200秒 ...
- Vue+axios统一接口管理
通过axios请求接口已经很简单了,但最近在做一个vue项目,想着把axios请求再封装一下,这样api就可以只在一处配置成方法,在使用的时候直接调用这个方法. 但咱们不用每个接口都定义成一个啰嗦的a ...
- Angular4+NodeJs+MySQL 入门-04 接口调用类
上一篇文章说一下,后台接口的创建,这篇说一下如果调用接口. 创建一个目录helpers 此目录下有三个文件分别是 ApiClient.ts.clientMiddleware.ts.Core.ts,前面 ...
随机推荐
- Centos系统云主机中nvme盘不可用解决方法
本文分享自天翼云开发者社区<Centos系统云主机中nvme盘不可用解决方法>,作者:P****n 问题描述 Linux系统的云主机使用NVMe盘后,出现非预期的慢IO读写,导致系统或者应 ...
- Condition类的signal()方法底层原理
一.Condition类的signal()方法底层原理 Condition 接口的 signal 方法是用于唤醒一个在 Condition 上等待的线程.与 Object 的 notify 方法类似, ...
- JAVA基础之多线程四期--线程状态
一.线程的状态 二.线程生命周期分析图 三. 阻塞状态:具有cpu执行权,更待cpu空闲 休眠状态:不具有cpu执行权,cpu空闲时,也不能使用执行权
- 能用 Java8 开发 MCP(或 MCP Server),这才是 MCP 自由(Solon AI MCP)!
现在,用 Java 开发 MCP 的情况是: 框架 JDK要求 mcp-sdk 需要 jdk17+ spring-ai-mcp-server 需要 jdk17 + spring-ai-mcp-clie ...
- Golang从0到1实现简易版expired LRU cache带图解
1.支持Put.Get的LRU实现 想要实现一个带过期时间的LRU,从易到难,我们需要先学会如何实现一个普通的LRU,做到O(1)的Get.Put. 想要做到O(1)的Get,我们很容易想到使用哈希表 ...
- python 3 No module named ‘Crypto‘ 解决方案
pip3 install pycryptodome pip3 install crypto Pip3 install pycrypto 本机(mac)环境的解决方案: pip3 uninstall p ...
- mysql免密登录
开启mysql免密登录, vi /etc/my.cnf [mysqld]下添加 skip-grant-tables , 保存后重启mysql服务:service mysqld restart
- 【深度学习】MLE视角下的VAE与DDPM损失函数推导
正文 最大似然估计的由来 VAE和DDPM都是likelihood-based生成模型,都是通过学习分布->采样实现图像生成的: 这类模型最大的特点就是希望实现 \[\theta = \arg\ ...
- 2.1k star! 抓紧冲,DeepChat:连接AI与个人世界的智能助手的开源项目
嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 DeepChat是一款开源的跨平台智能助手工具,它如同AI世界的"万能转换插头&q ...
- rider更新2021.2
Rider 的新功能Rider 2021.2 带有增强的 C# 语言支持,包括对代码分析.可为空引用类型和源生成器的大量更新.对于 Web 开发人员,此版本支持 ASP.NET Core Endpoi ...
