分享内容
通过打造一款 AI 旅游规划师,通俗易懂、深入浅出的讲清楚 AI 应用的大方向 - Agent 智能体 - 的原理。
无需科学上网,无需付费API,无需编程能力,一小时即可部署、搭建一款复杂的、多代理交互的 AI 智能体 - 旅游规划师,通过观察它的工作流程,深入连接 AI 智能体的本质和原理。
环境准备
1.本地部署 Autogen Studio
官方文档:microsoft.github.io/autogen/0.2…
中文文档:www.aidoczh.com/autogen/doc…
参考《AutoGen智能体开发平台快速入门》
一,Python 环境的准备
AutoGen Studio 依赖 Python 环境,这里建议大家使用 Anaconda 去管理 Python 环境,避免环境之间的冲突问题。
有的小伙伴不懂 Python,但并不妨碍我们学习 AutoGen,只要按照步骤来,谁都可以搞定。
下载安装 Conda
点击 mirrors.tuna.tsinghua.edu.cn/anaconda/ar… 进入到清华大学开源软件镜像站下载界面。
会发现有很多版本可选,用网页搜索功能搜索1.5.0,以 windows 为例,下载 exe 安装文件。
下载完成之后点击 exe 文件进行安装,安装非常简单。
使用 anaconda 创建 python 环境
windows 开始菜单搜索栏,搜索 Prompt,搜索结果中可以看应用Aanconda Powershell Prompt。
打开这个应用。
接下来,我们将使用这个工具创建一个特定版本的 Python 环境。
在打开的命令行工具中输入如下命令,然后回车。
conda create -n autogenstudio python=3.10
-n 后面是的 autogenstudio 是环境的名称,相当于一个标识,后续要用这个环境时通过这个名称进行查找python=3.10,是指定 python 的版本
执行命令创建环境的过程中,会有一次交互 (如下图),命令行界面等待输入时,键盘输入字母 y 即可。
稍等片刻,知道有如下输出,说明环境创建成功。
接下来,输入如下命令,切换到创建好的环境。
conda activate autogenstudio
顾名思义,这个命令的含义是激活我们刚刚创建好的环境,这个环境的名称是autogenstudio。
到此为止,Python 环境已经准备好了,非常简单吧。
安装 Autogen Studio
1,下载 autogen studio
接下来我们需要安装 Autogen Studio。
那怎么安装呢?超级简单,在刚刚我们准备好的 python 环境中执行一个命令就好。
pip install autogenstudio==0.1.5
但如果直接这样执行的话,因为它会访问国外的网站完成下载,所以速度非常慢,慢到不能忍受。
所以我们需要让它去国内的镜像下载。
通过参数 -i 指定国内镜像地址,我们使用阿里云的镜像。
上述命令就变成如下这样了。
pip install autogenstudio==0.1.5 -i https://mirrors.aliyun.com/pypi/simple
回车执行命令。
速度相当 OK,很快就完成下载和安装了。
2,启动 autogen studio
下载之后,使用如下命令启动 autogen studio 服务。
autogenstudio ui --port 6000
回车执行命令。
有如下输出,说明启动成功。
3,访问 autogen studio
从开始准备环境,到部署启动 Autogen Studio,大约半小时可以搞定。
启动成功后,在浏览器输入如下地址。
http://localhost:8081/build
即可看到如下界面。
2.本地部署 Deepseek
使用 Ollama 部署 DeepSeek-R1 模型的步骤相对简单,以下是详细的部署流程:
步骤 1: 安装 Ollama
- 下载 Ollama :首先,访问 Ollama 官方网站 下载适用于你的操作系统(Windows 或 macOS)的版本。
- 安装 Ollama :按照安装向导完成安装过程。
步骤 2: 安装 DeepSeek-R1 模型
- 打开终端或 命令提示符 ****:根据你的操作系统打开命令行工具(macOS 用户使用 Terminal,Windows 用户使用 Command Prompt 或 PowerShell)。
- 拉取模型 :在终端中输入以下命令下载 DeepSeek-R1 模型:
ollama pull deepseek-r1:1.5b
该命令会从 Ollama 的官方模型库中拉取 DeepSeek-R1 模型,并下载到本地。
步骤 3: 启动模型
- 运行 DeepSeek-R1 模型 :使用以下命令启动 DeepSeek-R1 模型:
ollama run deepseek-r1:1.5b
该命令会启动模型,并在本地环境中启动一个推理服务。
ollama api地址:http://localhost:11434/v1
步骤 4: 配置 Open WebUI
- 安装 Open WebUI :确保你的系统已经安装了 Open WebUI。如果没有安装,可以通过以下命令进行安装:
conda create -n open-webui python=3.10
activate open-webui
pip install open-webui
2. 配置 WebUI :运行以下命令启动 Open WebUI:
open-webui serve
启动后,你可以通过浏览器访问 WebUI 界面,通常是 http://localhost:8080 。
给 Autogen 的代理配置大脑
智能体相当于一家公司,公司的工作通常是由多个人协作完成的,与此类似,智能体的工作是由多个代理协作完成的,从这个角度来看,代理可以类比为人。
注意,Autogen 中,代理是非常核心的概念。
既然把代理比作人,那么它一定有思考能力和推理能力,也就是说,它一定有大脑。
对,只不过代理的大脑是大模型。在我们的这个实验中,选择 Deepseek 作为代理的大脑。
所以,接下来,就是给代理配置大脑。
1.模型登记
就像员工入职登记信息一样,首先要在 Autogen Studio 界面上登记 Deepseek 的信息。
如下图,在 Autogen Studio 的界面上,按照如下步骤打开登记界面 。
- ① 选择 Build
- ② 选 models 菜单
- ③ 点击
New Model按钮
模型登记界面如下。
- ① 填写模型名称
- ② API Key,把之前创建好的 API Key 复制粘贴到这里即可
- ③ 接口地址,直接复制粘贴,不要修改: http://localhost:11434/v1
- ④ 备注,按需填写即可
登记完成后,点击 Test Model 进行测试,校验信息是否准确。有如下提示,说明模型登记成功,点击 保存 即可。
2.给代理配置大脑
目前,仅仅登记了大脑的信息,接下来得给代理装上这个大脑。
代理是怎么来的呢?
我们要打造的智能体 - AI 旅游规划师,是 Autogen Studio 中自带的智能体,所有的代理都已经创建好了,只是这些代理目前都没有大脑。
如下图,点击①Agents 菜单,切换到代理列表界面, 需要给如图所示2~6一共五个代理配置大脑 。
注意,第一个 代理user_proxy不需要大脑 ,user_proxy 只是前端接待和指令执行者,不需要动脑子。
以给代理 default_assistant 配置大脑为例,演示步骤,其他代理类似。
- ① 点击代理 default_assistant
- ② 在弹出的浮窗中点击 Models,切换到模型选择界面
- ③ 点击
add按钮
- ④ 在弹出的下来列表中选择 deepseek-code 模型作为代理的大脑
其实,到此位置,我们的智能体已经打造完成,接下来可以让 AI 旅游规划师开始工作了。
构建多Agent应用
1.AI 旅游规划师workflow
先来看看 AI 旅游规划师的真实面目。
到目前,我们仅仅知道代理,代理和 AI 旅游规划师的关系是什么呢?
简单的说,AI 旅游规划师的工作是有多个代理合作完成的。
代理之间的协作是由 workflow 工作流定义的。
切换到工作流界面,如下图。
点击上图中的 Travel Planning Workflow ,进入其配置界面,选择界面上的 Agents 卡片。
-
default_assistant ,是个有用的人工智能助手。使用你的编码和语言技能来解决任务。在以下情况下,建议用户执行 Python 代码 (在 Python 代码块中) 或 shell 脚本 (在 sh 代码块中)。
- 1、当你需要收集信息时,使用代码输出你需要的信息,例如,浏览或搜索网页,下载 / 阅读文件,打印网页或文件的内容,获取当前日期 / 时间,检查操作系统。当足够的信息被打印出来,任务就可以根据你的语言技能来解决了,你就可以自己解决这个任务
- 2、当需要使用代码执行某项任务时,请使用该代码执行该任务并输出结果。聪明地完成任务。如果需要,逐步解决任务。如果没有提供计划,首先解释你的计划。清楚哪一步使用代码,哪一步使用您的语言技能。使用代码时,必须指示代码块中的脚本类型。除了执行您建议的代码之外,用户不能提供任何其他反馈或执行任何其他操作。用户无法修改代码。所以不要建议用户修改不完整的代码。如果不打算由用户执行,则不要使用代码块。如果希望用户在执行之前将代码保存到文件中,请将 # filename: 作为第一行放在代码块中。不要在一个响应中包含多个代码块。不要要求用户复制和粘贴结果。相反,在相关时使用 “print” 函数作为输出。检查用户返回的执行结果。如果结果表明存在错误,请修复错误并再次输出代码。建议使用完整代码而不是部分代码或代码更改。如果错误无法修复,或者在代码成功执行之后任务仍未得到解决,请分析问题,重新审视您的假设,收集您需要的额外信息,并考虑一种不同的尝试方法。当你找到答案时,仔细核实答案。如果可能的话,在你的回答中包括可核实的证据。当所有事情都完成后,最后回复 “TERMINATE”。
-
user_proxy ,这个代理的角色是 initiator(发起人),它的功能是接收用户的任务,把任务交给 Receiver 进行分析、拆解
-
travel_groupchat ,这个代理的角色是 Receiver,它的功能是把 Initiator 代理分配过来的任务进行理解、拆解
-
language_assistant ,是一个很有帮助的助手,可以回顾旅行计划,提供重要的 / 关键的提示,如何最好地处理语言或沟通挑战的反馈给特定的目的地。如果计划中已经包含了语言技巧,那么您可以提到该计划是令人满意的,并且具有合理性。
-
local_assistant ,您是一个本地助理,可以为用户推荐本地活动或要访问的地点,并且可以利用所提供的任何上下文信息。你可以推荐当地的活动、参观的地方、吃饭的餐馆等等。您还可以提供有关天气、当地事件等的信息。你可以提供当地的信息,但你不能提出一个完整的旅行计划。您只能提供有关本地区域的信息。
-
planner_assistant :一个有用的助手,可以为用户提供旅行计划,并利用所提供的任何上下文信息。你是主要的协调人,将收到来自其他代理 (当地助理,语言助理) 的建议或意见。您必须确保最终计划集成了来自其他代理或团队成员的建议。你的最终反应必须是完整的计划。当计划完成并且集成了所有透视图时,可以使用 TERMINATE 进行响应。
前面不是说涉及多个代理吗?这里明明只有两个代理。
要回答这个问题,得回到 Agents 界面,点击代理 travel_groupchat 。
在代理 travel_groupchat 的配置界面上选择 Agents 卡片,可以看到在这里关联其他 Agent。
相当于代理 travel_groupchat 是个 Leader,管理着很多员工。
2.AI 旅游规划师执行任务
Autogen Studio 上的 Playgournd 就是智能体的表演舞台,接下来我们把旅游规划师请上舞台。
- ① 选择卡片 Playground
- ② 点击左侧
+New按钮 - ③ 选择工作流
Travel Planning Workflow - ④ 点击按钮
Create
现在就可以给旅游规划师下任务。
3.AI 旅游规划师执行效果
我给旅游规划师下达了这样一个任务。
制定去云南旅游的3天计划
这是智能体给我的响应,当然,这不重要。
关键的地方,在于对话的最下面,点开 Agent Messages 。
Agent Messages 展示了为了完成这个任务,多个 Agent 之间发生的对话,就像一个公司的某个部门完成一个任务一样,多个同事要进行多轮复杂的、网站的交流。
如下图,这个过程,至少有二个代理参与,但他们的对话过程对用户来说,是不透明的。
用户就是提出问题,等待答案。
总结
当然,具备生产力的智能体会更加复杂,但也是在这个原理之上,设计更为复杂的工作流,每个代理具备更多的能力,甚至是具备物理世界的能力,比如动手术、诊断、搬东西、采购、运输等等。
可以想象,随之 AI 的能力越来越强,智能体落地的可能性就越来越大。
目前 AI 的发展虽然如火如荼,但是并没有杀手级别的应用出现,如果没有应用,就不可能真正的进入 AI 时代。智能体极有可能是 AI 应用落地的最佳形态。