当前位置: 首页 > news >正文

无障碍全免费上手智能体:Autogen Studio结合Deepseek Coder打造一款AI旅游规划师

本文的唯一目的是通过打造一款AI旅游规划师,通俗易懂、深入浅出的讲清楚AI应用的大方向-智能体-的原理。

无需科学上网无需付费API无需编程能力,一小时即可部署、搭建一款复杂的、多代理交互的AI智能体-旅游规划师,通过观察它的工作流程,深入连接AI智能体的本质和原理。

一,环境准备

1,本地部署Autogen Studio

下载、部署Autogen,请参考我的另一篇博客https://blog.csdn.net/epitomizelu/article/details/140287498,第三部分可以忽略。

环境搭建、下载、安装,在这篇博客中都有非常详细的说明,最后关于pycharm的安装可以忽略,不影响我们打造AI旅游规划师。

从开始准备环境,到部署启动Autogen Studio,大约半小时可以搞定。

启动成功后,在浏览器输入如下地址。

http://localhost:8081/build

即可看到如下界面。

在这里插入图片描述

2,准备Deepseek Coder的API Key

对于未做过软件开发的人来说,API Key可能是个陌生的概念,但其本质非常简单,它就是一个由多个字符组成的口令,是一把钥匙,有API提供者颁发,API调用者在调用API时需要携带API Key,表明调用者是以合法的、被承认的身份调用API,否则调用行为会被拒绝。

如果还是没法理解,那就直接行动起来,先去Deepseek平台创建一个API Key。

为什么选择Deepseek?

原因有以下三个:

  • ① Deepseek Coder的代码解释能力非常强大。
  • ② Deepseek是国内大模型,没有网络和权限问题。
  • ③ 有免费额度,非常有利于学习体验。

2.1,打开Deepseek开发平台

直接渠道Deepseek开放平台的API Keys界面https://platform.deepseek.com/api_keys。

如果你是第一次使用,需要注册,注册是傻瓜式的,非常简单。

在这里插入图片描述

2.2,创建API Key

点击下方的创建按钮。

在这里插入图片描述
在下面的弹窗中为你的API Key取个名字,名字是为了方便管理。然后点击创建。
在这里插入图片描述

点击创建后,API Key就生成了。注意,API Key只展示一次,所以要保存好,如果遗忘,无法找回,只能重新创建。

在这里插入图片描述
再次提醒,保存好上面创建的API Key。

二,给Autogen的代理配置大脑

智能体相当于一家公司,公司的工作通常是由多个人协作完成的,与此类似,智能体的工作是由多个代理协作完成的,从这个角度来看,代理可以类比为人。

注意,Autogen中,代理是非常核心的概念。

既然把代理比作人,那么它一定有思考能力和推理能力,也就是说,它一定有大脑。

对,只不过代理的大脑是大模型。在我们的这个实验中,选择Deepseek作为代理的大脑。

所以,接下来,就是给代理配置大脑。

1,模型登记

就像员工入职登记信息一样,首先要在Autogen Studio界面上登记Deepseek的信息。

如下图,在Autogen Studio的界面上,按照如下步骤打开登记界面 。
在这里插入图片描述

  • ① 选择Build
  • ② 选models菜单
  • ③ 点击 New Model 按钮

模型登记界面如下。

在这里插入图片描述

  • ① 填写模型名称,deepseek有两个模型,一个是deepseek-coder,一个是deepseek-chat,这里选择deepseek-coder,二选一,不能填其他
  • ② API Key,把之前创建好的API Key复制粘贴到这里即可
  • ③ 接口地址,直接复制粘贴,不要修改:https://api.deepseek.com/v1
  • ④ 备注,按需填写即可

登记完成后,点击 Test Model 进行测试,校验信息是否准确。有如下提示,说明模型登记成功,点击保存即可。

在这里插入图片描述

2,给代理配置大脑

目前,仅仅登记了大脑的信息,接下来得给代理装上这个大脑。

代理是怎么来的呢?

我们要打造的智能体-AI旅游规划师,是Autogen Studio中自带的智能体,所有的代理都已经创建好了,只是这些代理目前都没有大脑。

如下图,点击①Agents菜单,切换到代理列表界面,需要给如图所示2~6一共五个代理配置大脑

注意,第一个代理user_proxy不需要大脑,user_proxy只是前端接待和指令执行者,不需要动脑子。

在这里插入图片描述

以给代理default_assistant配置大脑为例,演示步骤,其他代理类似。

  • ① 点击代理default_assistant
  • ② 在弹出的浮窗中点击Models,切换到模型选择界面
  • ③ 点击add按钮

在这里插入图片描述

  • ④ 在弹出的下来列表中选择deepseek-code模型作为代理的大脑

在这里插入图片描述
其实,到此位置,我们的智能体已经打造完成,接下来可以让AI旅游规划师开始工作了。

三,智能体的工作原理

1,AI旅游规划师的真实面目-工作流workflow

先来看看AI旅游规划师的真实面目。

到目前,我们仅仅知道代理,代理和AI旅游规划师的关系是什么呢?

简单的说,AI旅游规划师的工作是有多个代理合作完成的。

代理之间的协作是由workflow工作流定义的。

切换到工作流界面,如下图。

在这里插入图片描述
点击上图中的Travel Planning Workflow,进入其配置界面,选择界面上的Agents卡片。

在这里插入图片描述

这个界面上仅仅发现了两个代理:

  • user_proxy,这个代理的角色是initiator,它的功能是接收用户的任务,把任务交给Receiver进行分析、拆解
  • travel_groupchat,这个代理的角色是Receiver,它的功能是把Initiator代理分配过来的任务进行理解、拆解

前面不是说涉及多个代理吗?这里明明只有两个代理。

要回答这个问题,得回到Agents界面,点击代理travel_groupchat

在这里插入图片描述

在代理travel_groupchat的配置界面上选择Agents卡片,可以看到在这里关联其他Agent。

在这里插入图片描述
相当于代理travel_groupchat是个Leader,管理着很多员工。

2,让旅游规划师登上舞台

Autogen Studio上的Playgournd就是智能体的表演舞台,接下来我们把旅游规划师请上舞台。

在这里插入图片描述

  • ① 选择卡片Playground
  • ② 点击左侧+New按钮
  • ③ 选择工作流Travel Planning Workflow
  • ④ 点击按钮Create

现在就可以给旅游规划师下任务。

3,让旅游规划师开始它的表演

我给旅游规划师下达了这样一个任务。

制定去云南旅游的3天计划,并画出路线图,并生成图片。

这是智能体给我的响应,当然,这不重要。

在这里插入图片描述

关键的地方,在于对话的最下面,点开Agent Messages

在这里插入图片描述

Agent Messages展示了为了完成这个任务,多个Agent之间发生的对话,就像一个公司的某个部门完成一个任务一样,多个同事要进行多轮复杂的、网站的交流。

如下图,这个过程,至少有三个代理参与,但他们的对话过程对用户来说,是不透明的。

在这里插入图片描述

用户就是提出问题,等待答案。

总结

当然,具备生产力的智能体会更加复杂,但也是在这个原理之上,设计更为复杂的工作流,每个代理具备更多的能力,甚至是具备物理世界的能力,比如动手术、诊断、搬东西、采购、运输等等。

可以想象,随之AI的能力越来越强,智能体落地的可能性就越来越大。

目前AI的发展虽然如火如荼,但是并没有杀手级别的应用出现,如果没有应用,就不可能真正的进入AI时代。

智能体极有可能是AI应用落地的最佳形态。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Vuforia AR篇(八)— AR塔防上篇
  • Wireshark 对 https 请求抓包并展示为明文
  • matlab R2016b安装cplex12.6,测试时cplex出现出现内部错误的解决方法
  • “论软件维护方法及其应用”写作框架,软考高级论文,系统架构设计师论文
  • 前端挑战:Tkinter布局与设计【三种布局】
  • 基于STM32设计的家庭智能健康监测系统(局域网)(185)
  • Elasticsearch:介绍 retrievers - 搜索一切事物
  • 接口基础知识3:详解url
  • C++基础(二十):常见C++11的新特性
  • Unity3D开发之传送带实现
  • C语言——二维数组
  • 检测精度评价指标召回率和精确率
  • C到C嘎嘎的衔接篇
  • [FPGA]-时序传输模型分析
  • Python:while循环
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • JavaScript设计模式系列一:工厂模式
  • JS基础之数据类型、对象、原型、原型链、继承
  • Mysql数据库的条件查询语句
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 闭包--闭包作用之保存(一)
  • 汉诺塔算法
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • Spring Batch JSON 支持
  • Spring第一个helloWorld
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • 进程与线程(三)——进程/线程间通信
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​2021半年盘点,不想你错过的重磅新书
  • # Panda3d 碰撞检测系统介绍
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • ###项目技术发展史
  • #13 yum、编译安装与sed命令的使用
  • #window11设置系统变量#
  • #前后端分离# 头条发布系统
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • #预处理和函数的对比以及条件编译
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (MTK)java文件添加简单接口并配置相应的SELinux avc 权限笔记2
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (二)构建dubbo分布式平台-平台功能导图
  • (六)DockerCompose安装与配置
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • .NET C# 操作Neo4j图数据库
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .net core使用EPPlus设置Excel的页眉和页脚
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .NetCore部署微服务(二)
  • .Net多线程Threading相关详解
  • .NET应用架构设计:原则、模式与实践 目录预览