AutoGen:构建多智能体人工智能系统
AutoGen 是一个功能强大的框架,可简化人工智能应用程序的开发。凭借其独特的特性和功能,AutoGen 可以轻松创建多代理人工智能系统。本指南将介绍 AutoGen 的优势,并逐步说明如何安装和使用 AutoGen Studio 来构建多智能体工作流。
简介
AutoGen 是一个功能强大的框架,可简化人工智能应用程序的开发。凭借其独特的特性和功能,AutoGen 可以轻松创建多代理人工智能系统。本指南将介绍 AutoGen 的优势,并逐步说明如何安装和使用 AutoGen Studio 来构建多智能体工作流。
1. AutoGen 的优势
-
多代理协作 AutoGen 可促进人工智能代理之间的协作,创建团队或 "工作人员 "来处理复杂的任务。交换信息和协调行动的能力增强了解决问题的能力。
-
模块化设计 AutoGen 的模块化方法允许开发人员混合和匹配智能体、工具、任务和团队等组件。这种设计为构建人工智能系统提供了灵活性和定制选项。
-
与 LLM 集成 AutoGen 利用语言和学习模型 (LLM) 的强大功能来完成生成计划、代码编写、响应评估和错误恢复步骤等任务。这种集成增强了人工智能工作流程。
-
快速原型开发 AutoGen Studio 是构建多智能体工作流的界面,可实现快速原型开发。它可作为终端用户界面的展示平台,并演示人工智能系统的功能。
-
代码生成和执行 AutoGen 通过利用 Docker 容器进行隔离执行,简化了代码生成和执行。这一功能提高了效率和可扩展性。
2. 本地安装AutoGen Studio
-
安装Python 3.11: AutoGen Studio 2.0 需要 Python 3.11 及以上版本。确保已安装此版本。创建项目文件夹:为 AutoGen 项目创建一个新文件夹。
-
创建项目文件夹:为 AutoGen 项目创建一个新文件夹。
-
创建虚拟环境:使用
python3 -m venv venv
设置新的虚拟环境,并使用source venv/bin/activate
激活它(在 Windows 系统中,使用venv\Scripts\activate
来激活)。 -
安装 AutoGen Studio:运行
pip install autogenstudio
安装 AutoGen Studio 及其依赖项。 -
配置 API 密钥:将 OpenAI 或 Azure OpenAI API 密钥设置为环境变量(例如:
set OPENAI_API_KEY=<your_api_key>
)。 -
启动 AutoGen Studio:运行
autogenstudio ui --port 8081
在 8081 端口启动应用程序。打开网页浏览器,进入 http://localhost:8081/ 访问 AutoGen Studio 界面。
在终端中执行此操作后,终端应显示如下内容。
Initialized application data folder: /Users/krishankantsinghal/.autogenstudio
INFO: Started server process [72082]
INFO: Waiting for application startup.
***** App started *****
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8081 (Press CTRL+C to quit)
3. 使用 AutoGen Studio
3.1 Build
可以创建智能体、定义其技能并指定智能体工作流。
3.2 Playground 功能区
在 Playground 与智能体互动、测试工作流并探索 AutoGen Studio 的相关功能。
4. AutoGen 的关键概念–模型、工作流、智能体和技能及示例:
4.1 模型
在 AutoGen 中,模型通常是指为智能体提供动力的大型语言模型 (LLM)。AutoGen 支持与各种 LLM 集成,例如 OpenAI 的 GPT 模型或 Azure OpenAI 服务模型。例如,您可以将 AutoGen 配置为使用 OpenAI 的 "text-davinci-003 "模型或部署在 Azure OpenAI 服务上的自定义模型。
4.2 工作流
AutoGen 中的工作流是一种规范,它定义了一组智能体以及它们应如何协作完成任务。它描述了不同智能体之间的角色、职责和交互。例如,一个工作流程可能涉及与用户交互的 “用户智能体”、生成计划和代码的 "助理智能体 "以及运行和评估所生成代码的 “代码执行智能体”。
4.3 智能体
AutoGen 中的智能体是具有特定能力和职责的人工智能实体。可以为智能体分配角色、技能和指令以指导其行为。例如:可以让 “图像生成智能体” 负责根据文本提示生成图像,或让 “研究智能体” 负责从各种来源查找相关信息。
其中UserProxyAgent、AssistantAgent 和 GroupChat 是 AutoGen 框架中的三个智能体组件模版,它们在多智能体对话系统中各司其职。
- UserProxyAgent:
-
UserProxyAgent 是一种用户代理智能体,主要用于作为人类用户的代理。它可以在每次交互时请求人类输入,并且具有执行代码和调用函数的能力。
-
其主要功能是通过发送消息来启动与 AssistantAgent 的对话,并将任务描述传递给 AssistantAgent。AssistantAgent 处理这些消息,将其拆分为可操作的任务并执行这些任务,然后将结果反馈给 UserProxyAgent。
-
UserProxyAgent 默认情况下会启用代码执行功能,但不启用基于 LLM 的自动回复功能。如果需要启用 LLM 基础的自动回复,可以注册相应的方法。
-
它通常被配置为总是请求人类输入(human_input_mode=“ALWAYS”),并且默认情况下禁用 LLM 响应。
- AssistantAgent:
-
AssistantAgent 是一个基于大型语言模型(LLM)的智能体,能够自主生成 Python 代码和建议。
-
它可以处理由 UserProxyAgent 发送的任务描述,将其分解为可执行的任务并执行这些任务。此外,AssistantAgent 还可以提供反馈或进一步的代码执行。
-
AssistantAgent 的设计目的是作为人工智能助手,利用 LLM 来完成复杂的任务,而不需要人工干预或代码执行。
- GroupChat:
-
GroupChat 是一个由多个智能体组成的群聊环境,允许它们协同工作以完成用户或用户代理智能体提出的问题。
-
在 GroupChat 中,不同的智能体可以组合在一起,例如 UserProxyAgent 和 AssistantAgent 可以一起参与群聊,共同解决复杂问题。
-
GroupChat 管理器负责协调各个智能体之间的通信和任务分配。
4.4 技能
AutoGen 中的技能是定义智能体如何解决特定任务的函数(如 Python 函数)。技能通常有描述性名称、文档说明和默认设置。例如,“generate_images” 技能可以是一个 Python 函数,它将文本提示作为输入,并使用Stable Diffusion等人工智能模型生成图像。
4.5 示例
下面的例子可以说明这些概念:假设你想建立一个多智能体系统,用于创建营销材料。可以定义以下组件:
-
模型:OpenAI 的 text-davinci-003
-
工作流:营销材料创建工作流
-
代理:
-
用户智能体:与用户交互以收集需求
-
内容生成智能体:根据需求生成文本内容
-
图片生成智能体:创建与文本内容配套的图像
-
布局智能体:将文本和图像组合成具有视觉吸引力的布局
-
评审智能体:评估最终营销材料并提出改进建议
-
技能:
-
generate_text
:内容生成智能体根据提示生成文本的技能 -
generate_images
图像生成智能体根据文本描述生成图像的技能 -
layout_content
:布局智能体将文本和图像结合到布局中的技能 -
review_material
:评审智能体能够评估最终营销材料的技能
在此示例中,智能体通过定义的工作流程进行协作,利用各自的技能根据用户需求创建营销材料。
结论
AutoGen 和 AutoGen Studio 使开发人员能够高效地构建多代理人工智能系统。从协作解决问题到模块化设计、与 LLM 集成、快速原型设计以及代码生成和执行,AutoGen 为开发人员提供了一系列好处。通过探索该框架,能够让我们在自己的人工智能应用中应用相关功能。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
更多推荐
所有评论(0)