专栏名称: Datawhale
一个专注于AI领域的开源组织,汇聚了众多顶尖院校和知名企业的优秀学习者,聚集了一群有开源精神和探索精神的团队成员。愿景-for the learner,和学习者一起成长。
目录
相关文章推荐
学习强国  ·  我国将建100个以上可信数据空间 ·  4 天前  
学习强国  ·  我国将建100个以上可信数据空间 ·  4 天前  
DataFunTalk  ·  华为AIGC研发新范式 ·  5 天前  
DataFunTalk  ·  华为AIGC研发新范式 ·  5 天前  
51好读  ›  专栏  ›  Datawhale

吴恩达出手,开源最新Python包

Datawhale  · 公众号  · 互联网安全 科技自媒体  · 2024-11-27 22:22

正文

 Datawhale干货 

最新:吴恩达,来源:机器之心

在构建应用程序时,与多个提供商集成很麻烦,现在 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)

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


我们期待这种实用的开源项目越来越多,如果你有好的项目推荐,欢迎大家评论区留言。
一起“三连