一种调用所有LLM模型API的方式

公众号:【可乐前端】,每天3分钟学习一个优秀的开源项目,分享web面试与实战知识,也有全栈交流学习摸鱼群,期待您的关注!

每天3分钟开源

hi,这里是每天3分钟开源,很高兴又跟大家见面了,今天介绍的开源项目简介如下:

仓库名:BerriAI/litellm

项目名:litellm

开源地址:https://github.com/BerriAI/litellm

主要语言: Python

stars数量:6773

forks数量:738

开源协议:Other

一句话介绍

这是一个能够使用OpenAI格式调用所有LLM API的开源项目。

详细描述

LiteLLM 是一个公共项目,它可以使用OpenAI格式调用所有的LLM API。

这款工具支持使用Bedrock、Azure、OpenAI、Cohere、Anthropic、Ollama、Sagemaker、HuggingFace、Replicate等(100+ LLMs)。

LiteLLM 能够将输入翻译成供应商的完成、嵌入和图像生成端点。输出始终保持一致,文本响应始终可以在 ['choices'][0]['message']['content'] 中找到。LiteLLM 还具有重试/回退逻辑,可以跨多个部署(例如 Azure/OpenAI)进行路由。

此外,LiteLLM 还允许你为每个项目、API密钥和模型设置预算和速率限制。

具体功能

  1. LiteLLM 可以调用所有供应商(包括Bedrock、Huggingface、VertexAI、TogetherAI、Azure、OpenAI等)的所有LLM API,从而管理各种功能。
  2. LiteLLM 提供了一致的输出格式,使得文本响应始终可以在特定的位置找到。
  3. LiteLLM 具备重试/回退逻辑,能够在多个部署之间进行路由,如Azure和OpenAI。
  4. LiteLLM 允许为每个项目、API密钥和模型设置预算和速率限制。
  5. LiteLLM 提供了稳定的版本发布,例如推荐的稳定代理版本v 1.30.2。
  6. LiteLLM 支持更多的供应商,如果缺少供应商或LLM平台,可以提出功能请求。

如何使用

  1. 安装 LiteLLM
pip install litellm
  1. 设置环境变量
import os
os.environ["OPENAI_API_KEY"] = "your-openai-key"
os.environ["COHERE_API_KEY"] = "your-cohere-key"
  1. 创建消息
messages = [{"content": "Hello, how are you?","role": "user"}]
  1. 调用模型
from litellm import completion
# openai call
response = completion(model="gpt-3.5-turbo", messages=messages)
# cohere call
response = completion(model="command-nightly", messages=messages)
print(response)

在调用模型时,你可以指定任何供应商支持的模型,模型的格式为 <provider_name>/<model_name>。每个供应商可能有特定的细节,因此需要参考供应商的文档以获取更多信息。

最后

感谢您的阅读,这里每天都会推送优秀的开源项目,如果觉得有帮助的话,一键三连一下吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/782946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FDM3D打印系列——手涂水性漆和补土

大家好&#xff0c;我是阿赵。   继续探索FDM3D打印。这次要打印的是拳皇系列的经典角色&#xff0c;八神庵&#xff1a;   上次那个卢卡尔打印的尺寸有点小&#xff0c;为了配合着卢卡尔的高度&#xff0c;所以这次这个八神庵也打印的特别的小&#xff1a;   特别小的…

C语言 键盘输入与屏幕输出——数据的格式化屏幕输出

目录 顺序结构 C语言如何实现数据的输入和输出&#xff1f; 数据的格式化屏幕输出 printf&#xff08;&#xff09;格式字符 printf&#xff08;&#xff09;的格式修饰符 顺序结构 一般而言&#xff0c;顺序结构程序涉及如下三个基本操作&#xff1a; *输入数据 *处理数…

C++STLmap,set

我最近开了几个专栏&#xff0c;诚信互三&#xff01; > |||《算法专栏》&#xff1a;&#xff1a;刷题教程来自网站《代码随想录》。||| > |||《C专栏》&#xff1a;&#xff1a;记录我学习C的经历&#xff0c;看完你一定会有收获。||| > |||《Linux专栏》&#xff1…

什么是公网IP?

公网IP&#xff0c;即公开网络IP地址&#xff0c;是指在互联网中公开可见、可访问的IP地址。每个设备在连接互联网时&#xff0c;都需要一个唯一的公网IP地址&#xff0c;以便其他设备可以定位并与之通信。 尽管公网IP在网络通信中具有重要作用&#xff0c;但它也带来了一些安全…

在GitHub上上传项目(Idea)

repository创建好后&#xff0c;GitHub会提示相应的命令 在Idea的终端执行这些命令&#xff0c;就OK了 在GitHub上查看&#xff0c;已经上传成功

【Hello,PyQt】QTextEdit和QSplider

PyQt5 是一个强大的Python库&#xff0c;用于创建图形用户界面&#xff08;GUI&#xff09;。其中&#xff0c;QTextEdit 控件作为一个灵活多用的组件&#xff0c;常用于显示和编辑多行文本内容&#xff0c;支持丰富的格式设置和文本操作功能。另外&#xff0c;QSlider 控件是一…

JavaScript高级 —— 学习(二)

目录 一、深入对象 &#xff08;一&#xff09;创建对象三种方式 1.利用对象字面量创建 2.利用 new Object() 创建 3.利用构造函数创建 &#xff08;二&#xff09;利用构造函数创建对象 1.构造函数介绍 2.约定 3.实例化执行过程 &#xff08;三&#xff09;实例成员…

opengl草稿复习,承上启下(一)

目录 1、链接文件夹中的cpp 2、链接资源到输出目录 3、多编译目标 4、cmakelist添加库 4、添加glfw和glad 5、glfw运行 6、NDC、VBO、VAO 7、渐变三角形 8、渲染两个三角形 9、渲染两个三角形&#xff0c;同时基于原来颜色进行渐变 10、三角形渲染模块化 11、纹理渲…

Python API(happybase)操作Hbase案例

一、Windows下安装Python库&#xff1a;happybase pip install happybase -i https://pypi.tuna.tsinghua.edu.cn/simple 二、 开启HBase的Thrift服务 想要使用Python API连接HBase&#xff0c;需要开启HBase的Thrift服务。所以&#xff0c;在Linux服务器上&#xff0c;执行如…

Kerberos 认证 javax.security.auth.logon.LoginException:拒绝链接 (Connection refused)

kerberos 服务重启之后异常 项目中用到了hive 和hdfs &#xff0c;权限认证使用了Kerberos&#xff0c;因为机房异常&#xff0c;导致了Kerberos 服务重启&#xff0c;结果发现本来运行正常的应用服务hive 和hdfs 认证失败&#xff0c;报错信息是 典型的网络连接异常 排查思路…

动手学机器学习初探机器学习+习题

初探机器学习 “两只手”代表的是人工智能可以做的两大类任务&#xff0c;即预测与决策。 “四条腿”则代表支撑人工智能的四大类科学技术&#xff0c;包括搜索、推理、学习和博弈。 非参数化模型&#xff08;nonparametric model&#xff09;&#xff1a;与参数化模型相反&…

二、分布式事务

目录 二、分布式事务2.1 什么是分布式事务2.2 分布式事务产生的背景2.3 分布式事务产生的场景2.4 分布式事务理论4.1 CAP理论4.2 Base理论 5、分布式事务的解决方案 二、分布式事务 2.1 什么是分布式事务 一组操作会产⽣多个数据库session会话 此时就会出现分布式事务 2.2 分…

我的第一个 VTK 程序

我的第一个 VTK 程序 我的第一个 VTK 程序VTK 可视化流程源程序运行结果 我的第一个 VTK 程序 环境&#xff1a; Visual Studio 2022 CommumityQt 6.2.3 MSVC2019 64位VTK 9.3.0 不会Cmake编译VTK库&#xff1f;看这个&#xff1a;使用 Cmake 对 VTK-9.3.0 进行编译 不会在…

Apache Hive的基本使用语法(一)

一、数据库操作 创建数据库 create database if not exists myhive;查看数据库 use myhive; desc database myhive;创建数据库并指定hdfs存储 create database myhive2 location /myhive2;删除空数据库&#xff08;如果有表会报错&#xff09; drop database myhive;…

基于jsp+mysql+Spring的SpringBoot招聘网站项目

基于jspmysqlSpring的SpringBoot招聘网站项目&#xff08;完整源码sql&#xff09;主要实现了管理员登录,简历管理,问答管理,职位管理,用户管理,职位申请进度更新,查看简历 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀…

同一个主机配置多个SSH key

使用git时&#xff0c;我们可能一个git客户端使用多个git服务器&#xff0c;比如github&#xff0c;自建gitlab&#xff0c;gitee&#xff0c;为了防止提交混乱&#xff0c;所以需要一一对应生成公私钥。 第一步&#xff1a; 使用ssh-keygen生成多对密钥对&#xff0c;比如&…

静态NAT配置

静态NAT配置 配置命令&#xff08;详细&#xff09;&#xff1a;ip nat inside source static 协议 内部IP地址 端口 外部IP地址 端口 extendable 例如下图&#xff1a; 配置命令&#xff1a; 第一步&#xff08;说明通告地址&#xff09;&#xff1a;ip nat inside source sta…

Chrome浏览器 安装Vue插件vue-devtools

前言 vue-devtools 是一个为 Vue.js 开发者设计的 Chrome 插件。它可以让你更轻松地审查和调试 Vue 应用程序。与普通的浏览器控制台工具不同&#xff0c;Vue.js devtools 专为 Vue 的响应性数据和组件结构量身定做。 1. 功能介绍 组件树浏览&#xff1a;这个功能可以让你查…

信息工程大学第五届超越杯程序设计竞赛(同步赛)题解

比赛传送门 博客园传送门 c 模板框架 #pragma GCC optimize(3,"Ofast","inline") #include<bits/stdc.h> #define rep(i,a,b) for (int ia;i<b;i) #define per(i,a,b) for (int ia;i>b;--i) #define se second #define fi first #define e…

babyAGI(3)-COOPERATIVE_MODE

babyAGI中有cooperative模式&#xff0c;其核心是调用ray库&#xff0c;实现分布式多进程执行任务。 从BabyAGI的源码中&#xff0c;我们可以学习ray core的使用。 1. Ray核心概念 1.1 Tasks Ray 允许在单独的 Python 工作线程上异步执行任意函数。 这些异步执行的函数被称为…