专栏名称: Python开发者
人生苦短,我用 Python。伯乐在线旗下账号「Python开发者」分享 Python 相关的技术文章、工具资源、精选课程、热点资讯等。
目录
相关文章推荐
Python爱好者社区  ·  雷军的大学时候的论文:不需要参考文献 ·  4 天前  
Python爱好者社区  ·  YYDS!《机器学习基础》PDF下载 ·  2 天前  
Python开发者  ·  三种 Transformer ... ·  2 天前  
Python爱好者社区  ·  字节实习生被索赔800万并不冤。 ·  5 天前  
Python爱好者社区  ·  男生看见雷军路过,直接冲过去递简历,结果... ·  6 天前  
51好读  ›  专栏  ›  Python开发者

吴恩达出手,开源最新Python包,一个接口调用OpenAI等模型

Python开发者  · 公众号  · Python  · 2024-11-27 08:55

正文

转自:机器之心

在构建应用程序时,与多个提供商集成很麻烦,现在 aisuite 给解决了。


用相同的代码方式调用 OpenAI、Anthropic、Google 等发布的大模型,还能实现便捷的模型切换和对比测试。


刚刚,AI 著名学者、斯坦福大学教授吴恩达最新开源项目实现了。



吴恩达在推文中宣布了这一好消息开源新的 Python 包:aisuite!


这个工具可以让开发者轻松使用来自多个提供商的大型语言模型。


在谈到为何构建这个项目时,吴恩达表示构建应用时,发现与多个提供商集成非常麻烦。aisuite 正是为了解决这个问题而诞生的,用户只需通过更改一个字符串(如 openai:gpt-4o、anthropic:claude-3-5-sonnet-20241022、ollama:llama3.1:8b 等),即可选择不同提供商的模型。



项目地址:https://github.com/andrewyng/aisuite


项目一上线,大家纷纷表示「这对开发人员来说非常有用。」



「超级方便!简化集成总是有益的,非常好的研究!」



统一接口设计,支持多个 AI 提供商的模型

aisuite 使开发者能够通过标准化的接口轻松使用多个 LLM。其接口与 OpenAI 的类似,aisuite 可以很容易地与最流行的 LLM 交互并比较结果。


aisuite 是一个轻量级的包装器,它基于 Python 客户端库构建,允许用户在不修改代码的情况下,轻松切换并测试来自不同 LLM 提供商的响应。


目前,这个项目主要集中在聊天补全功能,未来将扩展到更多使用场景。


当前,aisuite 支持的提供商包括:


  • OpenAI
  • Anthropic
  • Azure
  • Google
  • AWS
  • Groq
  • Mistral
  • HuggingFace 
  • Ollama


为了确保稳定性,aisuite 使用 HTTP 端点或 SDK 来与提供商进行调用。


安装

安装过程有多种选择。


下面是只安装基础包,而不安装任何提供商的 SDK。


pip install aisuite

带 Anthropic 支持的安装方式


pip install 'aisuite [anthropic]'

下面是将安装所有特定于提供商的库。


pip install 'aisuite [all]'

设置

开始使用时,你需要为打算使用的提供商获取 API 密钥。API 密钥可以作为环境变量设置,具体的使用方式可以参考 aisuite 的 examples 文件夹。


如果大家还不是很明白,可以参考下面简短的示例展示,即如何使用 aisuite 生成来自 GPT-4o 和 Claude-3-5-Sonnet 的聊天补全响应。


先设置 API 密钥:


export OPENAI_API_KEY="your-openai-api-key"export ANTHROPIC_API_KEY="your-anthropic-api-key"

使用 Python 客户端:

import aisuite as aiclient = ai.Client ()

models = ["openai:gpt-4o", "anthropic:claude-3-5-sonnet-20240620"]

messages = [ {"role": "system", "content": "Respond in Pirate English."}, {"role": "user", "content": "Tell me a joke."},]

for model in models: response = client.chat.completions.create ( model=model, messages=messages, temperature=0.75 ) print (response.choices [0].message.content)

想要尝试的读者可以跟着原项目进行配置。如今,我们身处大模型时代,对于开发者而言,用一个统一的接口就能调用各种大模型,这给开发者们节省了大量的时间成本。


推荐阅读  点击标题可跳转

1、失业小哥在父母卧室做AI应用,日入2万刀!晒账单爆火全网,AI初创价值3500万

2、B站知名up主何同学被指盗用开源项目——网友锐评「移源丁真:鉴定为自研」

3、太荒谬了!千人公司一刀切禁用 JetBrains,非俄籍“备胎” VSCode 上位