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,前面 ...
随机推荐
- 数字先锋 | 打造专属AI大脑,天翼云助力重庆理工大学开启智慧校园新篇!
从在线课程的蓬勃兴起,到远程教育的逐渐普及,再到智能教学工具的广泛应用--人工智能.大数据.云计算等前沿技术迅速发展的当下,科技正以前所未有的深度和广度重塑教育领域,促使教育各个层面发生深刻变革.师生 ...
- Pydantic Schema生成指南:自定义JSON Schema
title: Pydantic Schema生成指南:自定义JSON Schema date: 2025/3/27 updated: 2025/3/27 author: cmdragon excerp ...
- 【Linux】1.1 Linux课程介绍
Linux课程介绍 1. 学习方向 linux运维工程师: 维护linux的服务器(一般大型企业) linux嵌入式工程师: linux做驱动开发,或者linux的嵌入式 linux下开发项目 2. ...
- 【JVM之内存与垃圾回收篇】本地方法接口
本地方法接口 什么是本地方法 简单地讲,一个 Native Method 是一个 Java 调用非 Java 代码的接囗.一个 Native Method 是这样一个 Java 方法:该方法的实现由非 ...
- 【服务器】npm配置国内镜像源
[服务器]npm配置国内镜像源 零.问题 配置Node.js的HTTPS的时候,下载不了 一.解决 这里使用的是淘宝的镜像: npm config set registry https://regis ...
- 修显示器led屏幕能亮但是显示异常
用电吹风热风大风 对着显示器的 ' led 区域 ' 吹十分钟 吹显示器线插口 电源线 插口 机箱 断电吹 // 温度挺高 还得吹显卡接口 线也要换新的 插口需要用线的接口 打磨金属 ...
- 打造企业级AI文案助手:GPT-J+Flask全栈开发实战
一.智能文案革命的序幕:为什么需要AI文案助手? 在数字化营销时代,内容生产效率成为企业核心竞争力.据统计,营销人员平均每天需要撰写3.2篇文案,而传统人工创作存在三大痛点: 效率瓶颈:创意构思到成文 ...
- Promise 这个新 API 真香!
Hey, 我是 沉浸式趣谈 本文首发于[沉浸式趣谈],我的个人博客 https://yaolifeng.com 也同步更新. 转载请在文章开头注明出处和版权信息. 如果本文对您有所帮助,请 点赞.评论 ...
- Dubbo实战:四步实现注册中心平滑迁移原创
写在前面 如题,这是一个真实存在的业务场景.在微服务体系的迭代过程中,会存在注册中心的切换,典型如从zookeeper迁移到nacos. 最近面试中,经常会用该场景来考察候选人(涉及RPC.分布式 ...
- redis 配置redis.config
目录 配置日志位置 配置日志位置 编辑redis.config文件 默认logfile的值为"",修改为指定位置后重启服务. logfile "/usr/local/lo ...