AISuite:简化跨多个 LLM 提供商的 GenAI 集成

生成式人工智能 (gen ai) 正在凭借其创造力、解决问题和自动化的潜力重塑行业。然而,由于 api 和配置分散,开发人员在集成来自不同提供商的大型语言模型 (llm) 时经常面临重大挑战。互操作性的缺乏使工作流程变得复杂,延长了开发时间,并阻碍了有效的 gen ai 应用程序的创建。

为了解决这个问题,andrew ng 的团队推出了 aisuite,这是一个开源 python 库,可以简化 openai、anthropic 和 ollama 等提供商之间的法学硕士集成。 aisuite 使开发人员能够使用简单的“provider:model”字符串(例如 openai:gpt-4o 或 anthropic:claude-3-5)在模型之间切换,从而无需大量重写代码。通过提供统一的接口,aisuite 显着降低了复杂性,加速了开发,并为构建多功能 gen ai 应用程序开辟了新的可能性。

在本文中,我们将探讨 aisuite 的工作原理、实际应用以及它在解决与不同法学硕士合作的挑战方面的有效性。

入门

目录

什么是aisuite为什么aisuite很重要使用 aisuite 进行实验创建聊天完成创建通用查询函数

什么是aisuite

aisuite 是由 andrew ng 团队开发的开源 python 库,用于简化来自多个提供商的大型语言模型 (llm) 的集成和管理。它抽象化了使用不同 api、配置和数据格式的复杂性,为开发人员提供了一个统一的框架来简化他们的工作流程。

aisuite的主要特点:

简单的界面:aisuite 提供了一个简单且一致的界面来管理各种 llm。开发者只需几行代码即可将模型集成到他们的应用程序中,大大降低了 gen ai 项目的进入门槛。统一框架:通过抽象多个api之间的差异,aisuite无缝处理不同类型的请求和响应。这减少了开发开销并加速了原型设计和部署。轻松模型切换:使用aisuite,模型之间的切换就像更改代码中的单个字符串一样简单。例如,开发人员可以指定“provider:model”组合,如 openai:gpt-4o 或 anthropic:claude-3-5,而无需重写应用程序的重要部分。可扩展性:aisuite 旨在适应不断发展的 gen ai 环境。开发人员可以在新模型和提供程序可用时添加它们,确保应用程序保持最新的人工智能功能。

为什么aisuite很重要?

aisuite 解决了 gen ai 生态系统中的一个关键痛点:不同提供商的法学硕士之间缺乏互操作性。通过提供统一的接口,它简化了开发过程,节省了时间并降低了成本。这种灵活性允许团队通过为特定任务选择最佳模型来优化性能。

早期基准测试和社区反馈凸显了 aisuite 减少多模型应用程序集成时间、提高开发人员效率和生产力的能力。随着 gen ai 生态系统的发展,aisuite 降低了实验、构建和扩展人工智能驱动的解决方案的障碍。

尝试 aisuite

让我们通过安装必要的依赖项开始探索 aisuite。

安装依赖项

通过执行以下命令创建并激活虚拟环境。

python -m venv venvsource venv/bin/activate #for ubuntuvenv/scripts/activate #for windows

使用 pip 安装 aisuite、openai 和 python-dotenv 库。

pip install aisuite[all] openai python-dotenv

AISuite:简化跨多个 LLM 提供商的 GenAI 集成

设置环境和凭据

创建一个名为 .env 的文件。该文件将存储您的环境变量,包括 openai 密钥。

打开 .env 文件并添加以下代码来指定您的 openai api 密钥:

openai_api_key=sk-proj-7xypjkdag_gdl0_...groq_api_key=gsk_8nigj24k2p0j5rwrwoobw...

将 api 密钥添加到环境变量中。

import osfrom dotenv import load_dotenvload_dotenv()os.environ['openai_api_key'] = os.getenv('openai_api_key')os.environ['anthropic_api_key'] = getpass('enter your anthropic api key: ')

初始化aisuite客户端

创建 aisuite 客户端实例,实现与多个 llm 的标准化交互。

client = ai.client()defining the promptthe prompt syntax closely resembles openai’s structure, incorporating roles and content.messages = [   {"role": "system", "content": "you are a helpful assistant."},   {"role": "user", "content": "tell a joke in 1 line."}]

查询型号

用户可以使用aisuite查询模型,如下。

# openai modelresponse = client.chat.completions.create(model="openai:gpt-4o", messages=messages, temperature=0.75)# ollama modelresponse = client.chat.completions.create(model="ollama:llama3.1:8b", messages=messages, temperature=0.75)# anthropic modelresponse = client.chat.completions.create(model="anthropic:claude-3-5-sonnet-20241022", messages=messages, temperature=0.75)# groq modelresponse = client.chat.completions.create(model="groq:llama-3.2-3b-preview", messages=messages, temperature=0.75)print(response.choices[0].message.content)

model=”openai:gpt-4o”:指定模型的类型和版本。messages=messages:将之前定义的提示发送到模型。温度=0.75:调整响应的随机性。较高的值鼓励创造性输出,而较低的值会产生更具确定性的结果。response.choices[0].message.content:从模型的响应中检索文本内容。

创建聊天完成

让我们使用 openai 模型创建聊天完成代码。

import osfrom dotenv import load_dotenvload_dotenv()os.environ['openai_api_key'] = os.getenv('openai_api_key')import aisuite as aiclient = ai.client()provider = "openai"model_id = "gpt-4o"messages = [    {"role": "system", "content": "you are a helpful assistant"},    {"role": "user", "content": "provide an overview of the latest trends in ai"},]response = client.chat.completions.create(    model = f"{provider}:{model_id}",    messages = messages,)print(response.choices[0].message.content)

使用以下命令运行应用程序。

python app.py

您将得到如下输出,

AISuite:简化跨多个 LLM 提供商的 GenAI 集成

创建用于查询的通用函数

与其编写单独的代码来调用不同的模型,不如创建一个通用函数来消除代码重复并提高效率。

def ask(message, sys_message="you are a helpful assistant", model="openai:gpt-4o"):    client = ai.client()    messages = [        {"role": "system", "content": sys_message},        {"role": "user", "content": message}    ]    response = client.chat.completions.create(model=model, messages=messages)    return response.choices[0].message.contentprint(ask("provide an overview of the latest trends in ai"))

ask 函数是一个可重用的实用程序,设计用于向 ai 模型发送查询。它接受以下参数:

消息:用户的查询或提示。sys_message(可选):指导模型行为的系统级指令。model:指定要使用的ai模型。该函数处理输入参数,将其发送到指定模型,并返回 ai 的响应,使其成为与各种模型交互的多功能工具。

下面是使用通用询问函数与 openai 模型交互的完整代码。

import osfrom dotenv import load_dotenvload_dotenv()os.environ['openai_api_key'] = os.getenv('openai_api_key')import aisuite as aidef ask(message, sys_message="you are a helpful assistant", model="openai:gpt-4o"):    client = ai.client()    messages = [        {"role": "system", "content": sys_message},        {"role": "user", "content": message}    ]    response = client.chat.completions.create(model=model, messages=messages)    return response.choices[0].message.contentprint(ask("provide an overview of the latest trends in ai"))

运行代码将产生以下输出。

AISuite:简化跨多个 LLM 提供商的 GenAI 集成

与多个 api 交互

让我们通过以下代码探索使用 aisuite 与多个模型进行交互。

import osfrom dotenv import load_dotenvload_dotenv()os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')os.environ['GROQ_API_KEY'] = os.getenv('GROQ_API_KEY')import aisuite as aidef ask(message, sys_message="You are a helpful assistant", model="openai:gpt-4o"):    client = ai.Client()    messages = [        {"role": "system", "content": sys_message},        {"role": "user", "content": message}    ]    response = client.chat.completions.create(model=model, messages=messages)    return response.choices[0].message.contentprint(ask("Who is your creator?"))print(ask('Who is your creator?', model='ollama:qwen2:1.5b'))print(ask('Who is your creator?', model='groq:llama-3.1-8b-instant'))print(ask('Who is your creator?', model='anthropic:claude-3-5-sonnet-20241022'))

与 anthropic 或 groq 等提供商交互时可能会遇到挑战。希望 aisuite 团队正在积极解决这些问题,以确保无缝集成和功能。

aisuite 是一款用于浏览大型语言模型的强大工具。它使用户能够利用多个人工智能提供商的优势,同时简化开发并鼓励创新。凭借其开源基础和直观的设计,aisuite 成为现代人工智能应用程序开发的基石。

感谢您阅读这篇文章!!

感谢 gowri m bhatt 审阅内容。

如果您喜欢这篇文章,请点击心形按钮♥并分享以帮助其他人找到它!

本教程的完整源代码可以在这里找到,

github – codemaker2015/aisuite-examples : github.com

资源

github – andrewyng/aisuite:与多个生成式 ai 提供商的简单、统一的接口:github.com

以上就是AISuite:简化跨多个 LLM 提供商的 GenAI 集成的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1354889.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 18:52:10
下一篇 2025年12月13日 18:52:21

相关推荐

  • PyTorch 中的斯坦福汽车

    请我喝杯咖啡☕ *我的帖子解释了斯坦福汽车。 stanfordcars()可以使用stanford cars数据集,如下所示: *备忘录: 第一个参数是 root(必需类型:str 或 pathlib.path)。 *绝对或相对路径都是可能的。第二个参数是 split(可选-默认:”tr…

    好文分享 2025年12月13日
    000
  • 关于法学硕士 Observability 和 LangSmith 您需要了解的一切

    在人工智能驱动的应用时代,大型语言模型(LLM)已成为解决复杂问题的需求,从生成自然语言到辅助决策过程。然而,这些模型日益复杂和不可预测,使得有效监控和理解其行为变得具有挑战性。这就是可观察性在 LLM 申请中变得至关重要的地方。 可观察性是通过分析系统的输出和指标来理解系统内部状态的实践。对于 L…

    2025年12月13日
    000
  • 代码日的到来仓库困境

    第 15 天:仓库困境 这个谜题并不太难,我发现自己只是做了很多函数以及很多 if 语句和循环。 今天我对 2D 网格导航有点厌倦了,因此很晚才发布这篇文章(我不得不休息一天)。 您一如既往地可以在这里找到我的解决方案。 再说一次,今天没什么值得讨论的重大问题。主要概念是: a) 在网格中循环导航指…

    2025年12月13日
    000
  • 灵感墨水

    标题:利用 InspireInk 释放您的创造力:您的人工智能写作伴侣 写作有时感觉像是一次孤独的旅程,但如果你有一个同伴来引导你度过情节曲折、人物弧线和风格灵感呢?隆重推出 InspireInk,这是一款功能强大的人工智能驱动工具,专为想要提升手艺并将故事变为现实的作家而设计。 什么是 Inspi…

    2025年12月13日
    000
  • 用主轴打造 AP CSP 的未来

    像专业人士一样使用主轴练习 AP® CSP 概念! (诚​​征开发人员)您是一名开发人员,正在寻找一种方式回馈编码社区并帮助未来的计算机科学家吗? Spindle 就是您的最佳选择! Spindle 是一个独特的开源项目,允许学生使用考试中使用的真实实时代码来练习 AP® CSP 考试概念。与传统学…

    2025年12月13日
    000
  • 从多种逻辑到一种高效逻辑

    大家好!今天我想分享一下我的 LeetCode 解题经验。我是数据结构和算法的初学者,目前主要关注Python。我在 LeetCode 上解决了链表概念中的三个问题:合并 k 排序列表、反向链表和两个数字相加。 对于 Merge k Sorted Lists 问题,有多种方法可供选择。但是,选择最有…

    2025年12月13日
    000
  • Jupyter Notebooks 就像电子表格一样学习两者

    电子表格是“商业软件的暗物质”:它们无处不在,它们是隐形的,并且它们将所有东西结合在一起。商业和财务在电子表格上运行;没有其他软件工具能够让这么多人为这么多不同的问题构建解决方案。在这种情况下,您必须将“Jupyter 是新 Excel”的任何断言理解为故意耸人听闻。 但是,Jupyter 笔记本确…

    2025年12月13日
    000
  • PyTorch 中的 CIFAR

    请我喝杯咖啡☕ *我的帖子解释了 cifar-10。 cifar10()可以使用cifar-10数据集,如下所示: *备忘录: 第一个参数是 root(必需类型:str 或 pathlib.path)。 *绝对或相对路径都是可能的。第二个参数是 train(optional-default:true…

    2025年12月13日
    000
  • 如何批量删除Reddit评论(4)

    2024年如何批量删除Reddit评论 编辑(总体最佳)Reddit 的强力删除套件Nuke Reddit 历史 1. Redact(非技术用户批量删除 Reddit 评论的最佳方法) 经验:Redact 提供了一种简单的解决方案,可以批量删除 Reddit 评论和帖子。它提供了对时间范围的精细控制…

    2025年12月13日
    000
  • 使用 Python 自动化数据分析:我的项目实践指南

    数据分析对于各个行业都至关重要,但有效处理原始数据可能是一项艰巨的挑战。通过这个项目,我创建了一个自动化数据分析管道,它简化了数据处理和转换,使其速度更快。 为什么要进行自动化数据分析? 手动流程既耗时又容易出错。为了解决这个问题,我开发了一个基于 Python 的管道,可以自动执行这些任务,同时确…

    2025年12月13日 好文分享
    000
  • 如何使用 Python 和 Boto3 检索 ECnstances 信息

    如果您使用 aws(amazon web services),您可能需要定期与 ec2(弹性计算云)实例进行交互。无论您是管理大量虚拟机还是自动化某些基础设施任务,以编程方式检索 ec2 实例详细信息都可以为您节省大量时间。 在本文中,我们将介绍如何使用 python 和 boto3 sdk 来检索…

    2025年12月13日
    000
  • 使用 Python 和 Boto3 查找并验证 AWS 中未使用的安全组

    有效管理 aws 安全组对于维护安全且经济高效的云环境至关重要。安全组是 aws 网络安全的重要组成部分,但随着时间的推移,未使用的安全组会不断累积。这些未使用的组不仅会使您的环境变得混乱,还可能带来安全风险或不必要地增加成本。 在本文中,我们将探讨如何使用 python 和 boto3 识别 aw…

    2025年12月13日
    000
  • 我们制作了一个 AI SWE,解决了 SWE 工作台上的问题,% 开源

    我们 composio 正在为 ai 代理构建工具基础设施。我们用户最大的要求之一是用于构建有效的自定义编码代理的工具包。因此,我们创建了 swe-kit,这是一个入门模板,其中包含用于构建 ai 编码代理的所有工具包。 这些代理可以在本地端到端运行,以自动化您的编码工作流程。 为了测试我们工具的效…

    2025年12月13日
    000
  • 值得关注的顶级编程语言哪些将塑造未来?

    随着 2025 年的临近,技术格局继续快速发展,推动了对迎合人工智能、云计算、Web 开发等新兴趋势的编程语言的需求。对于希望未来蓬勃发展的开发商和企业来说,保持领先地位至关重要。本文探讨了 2025 年将占据主导地位的 5 种编程语言、它们的主要功能以及它们在塑造未来技术方面的相关性。 1. Py…

    2025年12月13日
    000
  • 探索 Python 的 itertools 模块:释放迭代器的力量

    在 python 编程领域,迭代器在促进数据结构的高效且内存友好的迭代方面发挥着至关重要的作用。 python 中的 itertools 模块是一个功能强大的工具包,它提供了大量用于创建和操作迭代器的函数。在本文中,我们将深入研究 python 的 itertools 模块,以释放其全部潜力并了解它…

    2025年12月13日 好文分享
    000
  • 代码的出现 &#- 天爪装置

    第 13 天:爪子装置(数学,数学,还有更多数学)。 解决方案链接 今天的挑战是用 python 完成的,但有所改变。做出此选择是为了:a) 测试我的 python / 了解更多 pythonb) 今天看起来像是一个非常沉重的数学难题,所以觉得 python 会是完美的,我没有错 – 它…

    2025年12月13日
    000
  • 强大的 Python 性能优化技术,可实现更快的代码

    作为一名 python 开发人员,我了解到优化代码对于创建高性能应用程序至关重要。在本文中,我将分享我用来增强 python 代码性能的七种强大技术,重点介绍提高执行速度和内存效率的实用方法。 生成器和迭代器 优化 python 代码最有效的方法之一是使用生成器和迭代器。这些工具在处理大型数据集时特…

    2025年12月13日
    000
  • Python 数据分析简介:部分数据类型和变量

    数据类型 数据类型是指定变量可以保存的值/数据类型的分类。 它们包括: integer 或 int:整数(例如 1、43、78、100、34)。 string 或 str:用引号引起来的文本数据。根据编程语言的不同,它们可以用单引号 (”) 或双引号 (“”) 括…

    2025年12月13日
    000
  • Python 应用程序的 Dockerfile

    让我们为 python 应用程序创建一个简单的 dockerfile。此示例假设您有一个名为 app.py 的 python 脚本和一个包含应用程序依赖项的requirements.txt 文件。 打开终端。导航到要创建或编辑 dockerfile 的目录。输入 vi dockerfile 并按 e…

    2025年12月13日
    000
  • Python终端推荐引擎

    codecademy cs 认证课程的下一步是推荐引擎。我编写了一个简单的视频游戏推荐,并返回 5 种类型之一的 5 款游戏,并允许玩家看到有关该列表中任何游戏的简介。 上一个项目专注于对我当前工作具有实际应用的东西,即贷款和储蓄股息的金融计算器。这个更适合一种爱好,随着我深入学习计算机科学,我发现…

    2025年12月13日
    000

发表回复

登录后才能评论
关注微信