吴恩达官宣开源,yyds!

发布于:2024-12-19 ⋅ 阅读:(17) ⋅ 点赞:(0)

最近,GitHub 上又一个开源项目火成了一匹黑马。

开源才短短十几天,star 标星就从 0 飙升到了 8000+,可以说是最近看到的涨 star 极其生猛的开源项目之一了。

出于好奇,我也点进去看了看。

好家伙,一看这昵称和头像,这原来是 AI 大佬吴恩达所开源的项目。

该项目名为:aisuite,从大佬的动态里能看到不久前刚刚才正式官宣,可能有些小伙伴之前也看到了。

根据项目官方介绍,aisuite 是一个基于 Python 语言编写的开源大模型套件,旨在简化开发者与各大 AI 模型服务商的集成过程,从而简化开发者工作+提升开发效率。

作为一个工具套件,aisuite 集成了多家知名大模型平台并提供了统一的接口,使得开发者能够轻松调用不同公司的大语言模型。

aisuite 的核心功能在于它支持多家 AI 模型平台,包括:

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

等主流大模型平台服务商。

通过统一的接口,开发者只需更改对应的服务商模型选择配置项,即可快速实现在不同模型之间进行切换而无需代码重写。

所以总结下来,aisuite 的主要特性可以总结为如下几个方面:

  • 统一的 Python 接口

aisuite 提供了统一的 Python 接口,使得开发者能够方便地调用各大平台的大模型。这样开发者就无需熟悉每个平台的 API 文档,只需通过 aisuite 提供的标准接口即可实现模型调用。

  • 多模型平台支持

aisuite 支持多家 AI 模型平台,包括 OpenAI、Anthropic、Google、AWS、Azure、Hugging Face 等多家知名服务商。

  • 无缝切换模型

aisuite 允许开发者在不同模型间无缝切换,只需更改一个字符串配置即可实现。这使得开发者能够轻松进行模型对比测试,以选择最适合应用场景的模型。

  • 轻量级包装器设计

aisuite 采用轻量级包装器设计,便于安装和使用,其内部通过使用 HTTP 端点或对应 SDK 来确保与供应商交互的稳定性。

aisuite 的使用方法非常简单,分为安装配置调用三个大的步骤。

  • 安装 aisuite

首先,开发者使用之前需要安装 aisuite,用户可通过 pip 命令进行安装。

若只需要安装基础包,则可直接 pip install。

pip install aisuite

而如果需要带提供商 SDK 支持,比如需要带 Anthropic 支持的安装方式,则可以通过如下命令安装即可。

pip install 'aisuite[anthropic]'

而若要安装所有特定于提供商的库,则可以这样来安装。

pip install 'aisuite[all]'
  • 配置 aisuite

安装完成后,开发者需要为所选的模型平台获取 API 密钥,并通过环境变量进行配置。例如,对于 OpenAI 和 Anthropic,可以使用如下命令配置 API 密钥。

export OPENAI_API_KEY="your-openai-api-key"
export ANTHROPIC_API_KEY="your-anthropic-api-key"
  • 模型调用

配置完成后,开发者可以通过 aisuite 的 Python 客户端来进行模型调用。

比如,这是展示了如何使用 aisuite 调用 GPT-4o 和 Claude-3-5-Sonnet 模型的一个代码示例,大家可以感受一下。

import aisuite as ai
client = 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)

另外从项目给出的 examples 示例里面也可以看到,搭配 Streamlit 等这类业内主流的 Python 应用工具包,还可以基于 aisuite 来搭建一些简单的聊天 UI 界面用于效果测试。

有一说一,因为这个项目并不是很难,而且目录层级简单、代码量不大,所以项目代码基本上可以说一看就懂了,大家感兴趣的话可以稍微花点时间就可以梳理清对应的源码了。

客户端代码主要集中于主目录aisuite下的client.py文件。

而其核心所支持的多家 AI 大模型平台服务商代码则是通过工厂模式组织于providers文件夹下。

大家如果想单独集成某个特定服务商大模型的话,则可以研究一下对应的 Python 源文件即可。

以亚马逊 aws 为例,研究一下对应的aws_provider.py源文件就会发现,其实里面用的也是 Boto3 这种 aws 官方 Python SDK 来实现调用的。

而对于那些没有对应 SDK 的 Provider,aisuite 则使用的是 HTTP 端点的方式来实现的服务调用。

所以总体并不复杂,代码阅读起来也没有任何障碍。

当然,这个项目开源之后,在开源圈子里看到了很多不同的声音。

有一些网友说,作为 AI 大佬开源这类项目没什么技术含量,不够高端排面,况且这类工具之前也有过,有点重复造轮子了;

而也有一些刚接触AI大模型的同学说,这种工具项目很务实,可以多来一点。

怎么说呢,大佬能开源一些让大家都能看得懂、初学者都能用得起来的接地气项目,其实某一些角度来说也挺好的。开源的其中一个意义不就是在打破信息差,降低门槛的基础之上再去做更多的协作与创新嘛,而 aisuite 作为一个基础工具包来说,对初学者的确是十分友好的。

从目前的情况来看,项目的活跃度还是挺不错的,项目官方也给出了贡献指南,开发者们也可以参与进来提供更丰富的 provider 实现,大家感兴趣的话也可以去研究研究。

好了,那以上就是今天的内容分享,希望能对大家有所帮助,我们下篇见。

注:本文在GitHub开源仓库「编程之路」 https://github.com/rd2coding/Road2Coding 中已经收录,里面有我整理的6大编程方向(岗位)的自学路线+知识点大梳理、面试考点、我的简历、几本硬核pdf笔记,以及程序员生活和感悟,欢迎star。


网站公告

今日签到

点亮在社区的每一天
去签到