AISuite:简化多 LLM 的 GenAI 集成 本文介绍了 AISuite,一个开源的 Python 库,旨在简化来自不同提供商的大型语言模型 (LLM) 的集成。它解决了开发人员因 API 碎片化而面临的挑战,提供了一个统一的接口,可以简化工作流程并加速开发。本文提供了关于安装、设置和使用的实用指南,展示了 AISuite 如何提高 Gen AI 应用的生产力。
• 主要观点 • 独特见解 1
AISuite 缩短多模型应用程序集成时间的能力
2
AISuite 适应不断发展的 AI 技术的潜力
• 实际应用 • 关键主题 1
大型语言模型的集成
2
AI 开发的统一接口
3
AISuite 的实际应用
• 核心洞察 1
简化了各种 LLM 的集成过程
2
减少了开发时间和复杂性
3
开源性质允许社区贡献和更新
• 学习成果 1
了解如何使用 AISuite 集成多个 LLM
2
获得设置和使用 AISuite 的实践技能
3
学习开发 Gen AI 应用的最佳实践
示例
教程
代码示例
可视化内容
基础知识
高级内容
实用技巧
最佳实践
“ AISuite 简介AISuite 是一个开源的 Python 库,旨在简化来自不同提供商的生成式 AI (GenAI) 模型的集成。它由 Andrew Ng 的团队开发,解决了开发人员在使用 OpenAI 的 GPT 系列、Anthropic 的 Claude 以及 Ollama 等开源选项时面临的多大语言模型 (LLM) 集成的复杂性。AISuite 通过提供统一的接口来简化这一过程,允许开发人员通过最少的代码更改在模型之间切换。这种抽象减少了开发时间,并增强了 GenAI 应用的通用性。通过使用简单的 'provider:model' 字符串(例如 'openai:gpt-4o' 或 'anthropic:claude-3-5'),开发人员可以轻松地在项目中管理和利用不同的 LLM。
“ 为什么 AISuite 对 GenAI 开发至关重要GenAI 开发中的主要挑战在于 LLM API 和配置的碎片化。每个提供商都有其独特的 API 要求,这使得创建能够无缝利用多个模型的应用程序变得困难。AISuite 通过提供一个抽象底层复杂性的统一接口来解决这个问题。这至关重要,因为它:
* **缩短集成时间:**开发人员花费更少的时间处理 API 差异,而将更多时间用于构建创新功能。
* **增强灵活性:**轻松切换模型,无需进行大量代码重写即可优化特定任务的性能。
* **降低入门门槛:**简化开发过程,使更广泛的开发人员能够更轻松地使用 GenAI。
* **促进创新:**允许开发人员尝试不同的模型和方法,从而培养创造力和解决问题的能力。
AISuite 缩短集成时间和提高开发人员效率的能力,使其成为快速发展的 GenAI 领域中一个宝贵的工具。
“ AISuite 入门:安装与设置要开始使用 AISuite,请按照以下步骤安装必要的依赖项并设置您的环境:
1. **创建虚拟环境:**
```bash
python -m venv venv
source venv/bin/activate # 对于 Ubuntu
venv/Scripts/activate # 对于 Windows
```
2. **安装 AISuite 和必需的库:**
```bash
pip install aisuite[all] openai python-dotenv
```
3. **设置环境变量:**
* 创建一个 `.env` 文件来存储您的 API 密钥。
* 将您的 OpenAI 和其他提供商的 API 密钥添加到 `.env` 文件中:
```
OPENAI_API_KEY=sk-your-openai-api-key
GROQ_API_KEY=gsk_your_groq_api_key
ANTHROPIC_API_KEY=your_anthropic_api_key
```
4. **加载环境变量:**
```python
import os
from dotenv import load_dotenv
import getpass
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')
os.environ['ANTHROPIC_API_KEY'] = getpass.getpass('请输入您的 ANTHROPIC API 密钥:')
```
5. **初始化 AISuite 客户端:**
```python
import aisuite as ai
client = ai.Client()
```
完成这些步骤后,您就可以开始使用 AISuite 与各种 LLM 进行交互了。
“ 使用 AISuite 创建聊天补全AISuite 通过提供一种标准化的方式与不同的 LLM 进行交互,从而简化了创建聊天补全的过程。以下是如何使用 OpenAI 模型创建聊天补全:
```python
import os
from dotenv import load_dotenv
import aisuite as ai
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')
client = ai.Client()
provider = "openai"
model_id = "gpt-4o"
messages = [
{"role": "system", "content": "您是一个乐于助人的助手"},
{"role": "user", "content": "提供最新的 AI 趋势概述"},
]
response = client.chat.completions.create(
model = f"{provider}:{model_id}",
messages = messages,
)
print(response.choices[0].message.content)
```
此代码片段演示了如何:
* 导入必要的库并加载环境变量。
* 初始化 AISuite 客户端。
* 定义聊天补全的模型和消息。
* 使用 `client.chat.completions.create` 方法创建聊天补全。
* 打印模型的响应。
运行此代码将生成 OpenAI GPT-4o 模型的响应,提供最新的 AI 趋势概述。
“ 构建通用查询函数为了进一步简化您的工作流程,您可以创建一个通用的函数,让您无需为每个模型编写单独的代码即可查询不同的模型。以下是这样一个函数的示例:
```python
import os
from dotenv import load_dotenv
import aisuite as ai
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')
def ask(message, sys_message="您是一个乐于助人的助手", 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.content
print(ask("提供最新的 AI 趋势概述"))
```
此 `ask` 函数接受消息、可选的系统消息和模型标识符作为输入。然后,它使用 AISuite 客户端将查询发送到指定的模型并返回响应。此函数可以轻松重用以与不同的 LLM 进行交互,使您的代码更具模块化和效率。
“ 使用 AISuite 与多个 LLM 进行交互AISuite 的真正强大之处在于它能够无缝地与来自不同提供商的多个 LLM 进行交互。以下是使用 `ask` 函数查询各种模型的示例:
```python
import os
from dotenv import load_dotenv
import aisuite as ai
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')
os.environ['GROQ_API_KEY'] = os.getenv('GROQ_API_KEY')
def ask(message, sys_message="您是一个乐于助人的助手", 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.content
print(ask("你是谁创造的?"))
print(ask('你是谁创造的?', model='ollama:qwen2:1.5b'))
print(ask('你是谁创造的?', model='groq:llama-3.1-8b-instant'))
print(ask('你是 ভয়ঙ্কর的创造者?', model='anthropic:claude-3-5-sonnet-20241022'))
```
此代码演示了如何使用相同的 `ask` 函数查询 OpenAI、Ollama、Groq 和 Anthropic 模型。只需更改 `model` 参数,您就可以轻松地在不同的 LLM 之间切换并比较它们的响应。这种灵活性对于构建通用且适应性强的 GenAI 应用至关重要。
“ 结论:AISuite 带来的 GenAI 开发未来AISuite 对于从事生成式 AI 开发的开发人员来说是一个游戏规则的改变者。通过提供对多个 LLM 提供商的统一接口,它简化了开发过程,缩短了集成时间,并促进了创新。随着 GenAI 生态系统的不断发展,AISuite 将在使开发人员能够构建更强大、更通用的 AI 应用方面发挥关键作用。其开源性质和直观的设计使其成为任何希望在其项目中利用多个 LLM 功能的人的必备工具。有了 AISuite,GenAI 开发的未来将比以往任何时候都更加光明和易于访问。
原始链接:https://codemaker2016.medium.com/aisuite-simplifying-genai-integration-across-multiple-llm-providers-96798747e8ed
评论(0)