Agent Zero

文章目录

    • 一、关于 Agent Zero
      • 现在有了UI:
      • 关键概念
        • 1、General-purpose 助理
        • 2、计算机作为工具
        • 3、多智能体合作
        • 4、完全可定制和可扩展
        • 5、沟通是关键
      • 不错的功能
      • 记住
      • 已知问题
      • 理想的环境
    • 二、Setup - 如何在Windows和MacOS上安装Agent Zero
      • 提醒:
      • 1、安装Conda(minicon da)
      • 2、安装Docker(Docker桌面应用程序)
      • 3、下载Agent Zero
      • 4、设置Conda环境
      • 5、配置Agent Zero
      • 6、运行Agent Zero


一、关于 Agent Zero

  • github : https://github.com/frdel/agent-zero
  • 联系:discord | YouTube | twitter

Agent Zero 🤖 first demonstration


个人和有机AI框架

  • Agent Zero 不是一个预定义的代理框架。它被设计为动态的、有机增长的和在使用时学习的。
  • Agent Zero 完全透明、可读、可理解、可定制和交互式。
  • Agent Zero 使用计算机作为工具来完成其(您的)任务。

现在有了UI:

在这里插入图片描述



关键概念


1、General-purpose 助理
  • Agent Zero 不是为特定任务预先编程的(但可以),它的意思是一个通用的个人助理,给它一个任务,它会收集信息,执行命令和代码,与其他代理实例协作,并尽最大努力完成它。
  • 它具有持久记忆,允许它记住以前的解决方案、代码、事实、指令等,以便在未来更快、更可靠地解决任务。

2、计算机作为工具
  • Agent Zero 使用操作系统作为工具来完成其任务。它没有预先编程的单一用途工具。相反,它可以编写自己的代码,并根据需要使用终端创建和使用自己的工具。
  • 它的武器库中唯一的默认工具是在线搜索、内存功能、通信(与用户和其他代理)和代码/终端执行。其他一切都由代理自己创建,或者可以由用户扩展。
  • 工具使用功能是从头开始开发的,即使是非常小的型号,也是最兼容和最可靠的。

3、多智能体合作
  • 每个代理都有一个上级代理给它任务和指示。然后每个代理向上级报告。
  • 在链中第一个代理(代理0)的情况下,上级是人类用户;代理看不出区别。
  • 每个代理都可以创建其从属代理来帮助分解和解决子任务。这有助于所有代理保持上下文干净和集中。

4、完全可定制和可扩展
  • 这个框架中几乎没有任何东西是硬编码的。没有什么是隐藏的。一切都可以由用户扩展或更改。
  • 整个行为由提示/默认/agent.system.md文件中的系统提示定义。更改此提示并显着更改框架。
  • 该框架不以任何方式指导或限制代理。没有代理必须遵循的硬编码轨道。
  • 每个提示,每个在其通信循环中发送到代理的小消息模板,都可以在提示/文件夹中找到并进行更改。
  • 每个默认工具都可以在python/tools/文件夹中找到,并更改或复制以创建新的预定义工具。
  • 当然,它是开源的(除了Perplexity等一些工具,但将来也会被开源替代方案所取代)。

5、沟通是关键
  • 给你的代理一个适当的系统提示和说明,它可以创造奇迹。
  • 代理可以与上级和下级沟通,提出问题,给出指示,并提供指导。在系统提示中指导您的代理如何有效沟通。
  • 终端界面是实时流式和交互式的。您可以在任何时候停下来进行干预。如果您看到您的代理朝错误的方向前进,只需停下来并立即告诉它。
  • 这个框架有很大的自由度。你可以指示你的代理定期向上级报告,请求允许继续。你可以指示他们在决定何时委派子任务时使用积分系统。上级可以双重检查下属的结果和争议。可能性是无穷无尽的。

在这里插入图片描述


不错的功能

  • 输出非常干净、丰富多彩、可读性和交互性;没有任何隐藏。
  • 您在终端中看到的相同彩色输出会自动保存到每个会话的日志/文件夹中的 HTML 文件中。
  • 代理输出是实时流式传输的,允许用户随时阅读和干预。
  • 不需要编码,只需要提示和沟通技巧。
  • 凭借可靠的系统提示,即使是小型模型,该框架也是可靠的,包括精确的工具使用。

记住

1、Agent Zero 可能很危险!通过正确的指导,Agent Zero 可以做很多事情,甚至对您的计算机、数据或帐户有潜在的危险。始终在隔离的环境中运行Agent Zero (如内置的docker容器),并小心您的愿望。

2、Agent Zero 不是预编程的;它是基于提示的。整个框架只包含极少量的代码,不以任何方式指导代理。一切都在于提示/文件夹中的系统提示。在这里,您可以根据需要重写整个框架行为。如果您的代理未能正确沟通,使用工具,推理,使用内存,寻找答案-只是更好地指导它。

3、如果你不能提供理想的环境,让你的代理知道。Agent Zero 是为了在一个隔离的虚拟环境中使用(为了安全起见),预先安装和配置了一些工具。如果你不能提供所有必要的条件或API密钥,只需更改系统提示,告诉你的代理它可以使用什么操作系统和工具。没有什么是硬编码的;如果你不告诉你的代理某个工具,它就不会知道它,也不会尝试使用它。


在这里插入图片描述


已知问题

1、系统提示糟透了。你可以做得更好。如果你这样做了,请帮帮我:)

2、docker容器中代理和终端之间通过SSH的通信有时会中断并停止产生输出。有时是因为代理运行类似“server.serve_forever()”的东西导致终端挂起,有时会发生随机错误。重新启动代理和/或docker容器会有所帮助。

3、代理可以破坏他的操作系统。有时代理可以停用虚拟环境、卸载包、更改配置等。同样,删除docker容器并清理work_dir/就足以解决这个问题。


理想的环境

  • Docker容器:运行Agent Zero的完美环境是内置的docker容器。代理可以自行下载映像frdel/agent-zere-exe并启动容器,您只需要运行docker(如Docker Desktop应用程序)。
  • Python:必须在系统上安装Python才能运行框架。
  • 互联网访问:代理需要互联网访问才能使用其在线知识工具并执行需要连接的命令和脚本。如果您不需要代理在线,您可以更改提示/文件夹中的提示并使其完全本地。

在这里插入图片描述


二、Setup - 如何在Windows和MacOS上安装Agent Zero

可以在此处找到带有视频的详细设置指南:/docs/installation。向下滚动以查看自述文件。

⚠️ 自v0.6以来对启动文件的更改:
main.py文件已替换为run_ui.py(webui)和run_cli.py(终端)启动文件。 webui和终端启动文件的配置已移至initialize.py。

  • Agent Zero不是一个应用程序。这是一个框架。它被定制、编辑、增强。因此,您需要安装必要的组件来运行它。
  • 我将为本教程提供有关如何使Agent Zero在Windows和MacOS上工作的分步说明和视频。

Agent Zero 🤖 Installation guide


提醒:

  1. 您不需要安装Python,Conda会为您处理。
  2. 您不需要API密钥,Agent Zero可以使用本地模型运行,但对于本教程,我将把它留给默认的OpenAI API。本地模型将在另一个教程中介绍。
  3. 您不需要Visual Studio Code或任何其他代码编辑器,但如果有的话,导航和编辑文件会更容易。
  4. Docker不是强制性的,但在没有docker的情况下运行Agent Zero实际上更复杂并且可能非常危险,因此我将展示更简单和推荐的方法-使用Docker Desktop应用程序。
  5. Git/Github不是强制性的,你可以在浏览器中下载框架文件。我不会在本教程中展示如何使用Git。

1、安装Conda(minicon da)

Conda是一个python环境管理器,它将帮助您将项目和安装分开。Full Conda有更多功能,但您只需要“minicon da”。

1)转到此处的minicon da下载页面。如果链接不起作用,只需在网上搜索“minicon da下载”。

2)根据您的操作系统,下载正确的minicon da安装程序。对于MacOS,选择末尾带有“pkg”的版本。

在这里插入图片描述


在这里插入图片描述


3)运行安装程序并完成安装过程,在这里您可以将所有内容保留为默认值,只需单击Next、Next…使用“pkg”图形安装程序的MacOS也是如此。

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


4)安装完成后,您应该在Windows机器上安装了“Anaconda Powershell Prompt”。在MacOS上,当您打开应用程序文件夹中的终端应用程序并键入“conda–version”时,您应该会看到安装的版本。

在这里插入图片描述


在这里插入图片描述


2、安装Docker(Docker桌面应用程序)

  • 简而言之,Docker是一种在您的机器上运行虚拟计算机的方式。这些是轻量级的、一次性的并且与您的操作系统隔离,因此它是沙盒Agent Zero 的一种方式。
  • Agent Zero仅在需要执行代码和命令时才连接到Docker容器。框架本身在您的机器上运行。
  • 在没有docker的情况下运行Agent Zero是可能的,但更复杂和危险,我不会在本教程中介绍这一点。
  • Docker有一个用于所有主要操作系统的带有GUI的桌面应用程序,所以我将使用它。

1)转到此处的Docker Desktop下载页面。如果链接不起作用,只需在网上搜索“docker桌面下载”。

2)下载您的操作系统版本。不要被看似缺失的windows intel/amd版本所欺骗,这是按钮本身,而不是在下拉框中。


在这里插入图片描述


3)运行安装程序并完成安装过程。它应该比Conda安装更短,您可以将所有内容保留为默认值。在MacOS上,安装程序是一个“dmg”映像,因此只需像往常一样将应用程序拖放到您的Applications文件夹中。


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


4)安装后,您应该会在Windows/Mac机器上看到Docker Desktop应用程序。

在这里插入图片描述


在这里插入图片描述


  1. 在应用程序中创建帐户。无需创建图像或容器,框架将为您执行此操作。但是,这需要您登录到Docker Hub,因此在Docker Desktop应用程序中创建一个免费帐户,应用程序首次运行时会提示您。

3、下载Agent Zero

如果您知道如何使用git,您可以从GitHub克隆Agent Zero存储库(https://github.com/frdel/agent-zero)。在本教程中,我将展示如何下载文件。

1)转到Agent Zero 发布在这里。

2)最新版本位于列表顶部,单击“资产”下的“源代码(zip)”按钮下载。

在这里插入图片描述


3)将下载的存档解压缩到您想要的位置。我会将它们解压缩到桌面上的“Agent Zero ”文件夹-Windows上的“C:\用户\frdel\桌面\Agent Zero ”和MacOS上的“/用户/frdel/桌面/Agent Zero ”。


4、设置Conda环境

现在我们有了项目文件和Conda,我们可以为这个项目创建虚拟Python环境,激活它并安装需求。

1)在Windows上打开您的“Anaconda Powershell Prompt”应用程序或在MacOS上打开“终端”应用程序。

2)在终端中,使用“cd”命令导航到Agent Zero文件夹。将路径替换为实际的Agent Zero文件夹路径。

cd C:\Users\frdel\Desktop\agent-zero

您应该会在下一个终端线上看到您的文件夹已更改。

在这里插入图片描述


在这里插入图片描述


3)使用命令“conda create”创建Conda环境。在“-n”是您的环境名称后,您可以选择自己的,我将使用“a0”-Agent Zero 的缩写。在“python”之后是Conda将为您安装到该环境中的Python版本,现在,3.12工作正常。-y跳过确认。

conda create -n a0 python=3.12 -y

4)完成后,通过另一个命令激活此终端窗口的新环境:

conda activate a0

你应该看到左边的(底座)已经变成了(a0)。这意味着这个终端现在使用新的a0虚拟环境,所有的包都将安装到这个环境中。

在这里插入图片描述


在这里插入图片描述


⚠️如果您打开一个新的终端窗口,您将需要为该窗口再次使用“conda激活a0”激活环境。

5)使用“pip”安装需求。Pip是一个Python包管理器。我们可以使用命令从必要性. txt文件安装所有必需的包:

pip install -r requirements.txt

这可能需要一些时间。如果您收到有关版本冲突和兼容性的任何错误,请仔细检查您的环境是否已激活,并且您使用正确的Python版本创建了该环境。

在这里插入图片描述


5、配置Agent Zero

现在我们可以配置Agent Zero -选择模型、设置、API密钥等。

我将使用OpenAI API保留默认配置,我将在. env文件中提供我的OpenAI API密钥。

1)在Agent Zero文件夹中找到“example. env”文件并编辑内容。我会将我的OpenAI API密钥放在“API_KEY_OPENAI=”之后。如果您有其他服务提供商的API密钥,请根据需要添加它们。

2)将“example. env”文件重命名为“.env”。这很重要,只有这个确切的“.env”文件名是有效的。

在这里插入图片描述


3)(可选)如果需要,更改模型或在“initialize.py”文件中设置。


6、运行Agent Zero

设置完成。是时候测试Agent Zero 了。让我们仔细检查一下:

1)确保当前终端窗口中的“a0”Conda环境仍然处于活动状态。您可以在每个终端行的左侧看到,例如(a0)或(base)。如果没有,请再次使用“conda激活a0”命令激活。

2)确保您的终端正在查看Agent Zero文件夹。如果没有,请使用您的路径再次使用“cd”命令导航到它。

3)运行您安装的Docker Desktop应用程序,让它在后台运行。无需创建映像或容器,框架将为您执行此操作。但是,这需要您登录到Docker Hub,因此如果您还没有登录Docker Desktop应用程序,请登录。

4)使用Web UI运行Agent Zero :

python run_ui.py

在这里插入图片描述


5)在Web浏览器中打开终端中显示的URL。您应该会看到Agent Zero 界面。第一次需要执行代码时,将下载和部署Docker映像,这可能需要一些时间。看到“初始化docker容器Agent Zero exe以安全执行代码…”时请耐心等待。

在这里插入图片描述


在这里插入图片描述


24-09-17

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/879762.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Tiny-universe学习笔记1:Qwen-blog

本文是参与Datawhale Tiny-universe组队学习的第一篇学习笔记,参考链接:https://github.com/datawhalechina/tiny-universe Tiny-universe学习笔记1:Qwen-blog Qwen整体架构与Llama2类似,具体如下图所示: 其中&#…

深度学习笔记(8)预训练模型

深度学习笔记(8)预训练模型 文章目录 深度学习笔记(8)预训练模型一、预训练模型构建一、微调模型,训练自己的数据1.导入数据集2.数据集处理方法3.完形填空训练 使用分词器将文本转换为模型的输入格式参数 return_tenso…

Java | Leetcode Java题解之第417题太平洋大西洋水流问题

题目&#xff1a; 题解&#xff1a; class Solution {static int[][] dirs {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};int[][] heights;int m, n;public List<List<Integer>> pacificAtlantic(int[][] heights) {this.heights heights;this.m heights.length;this.n…

【JSrpc破解前端加密问题】

目录 一、背景 二、项目介绍 三、JSrpc 处理前端加密步骤 一、背景 解决日常渗透测试、红蓝对抗中的前端密码加密问题&#xff0c;让你的爆破更加丝滑&#xff1b;降低js逆向加密的难度&#xff0c;降低前端加密逻辑分析工作量和难度。 二、项目介绍 运行服务器程序和js脚本…

springCloud(一)注册中心

1.Eureka 要是user-service服务有多个&#xff0c;order-service该怎么调用&#xff1f; 这就需要用到 注册中心 了 。 1.1 搭建Eureka服务 1. pom引入依赖 <dependencies><!--eureka服务端--><dependency><groupId>org.springframework.cloud</gr…

线程局部变量

开发线程的步骤 为什么要学 ThreadLocal 就是为了防止开发随意选库&#xff0c;设置线程局部变量 因为初始化随着项目启动-创建了连接池&#xff0c;但目前getinfo和login都是走从库&#xff0c;没有分开 所以在service层方法运行时&#xff0c;用ReqAop代码提前算出此方法走…

将有序数组——>二叉搜索树

给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵平衡二叉搜索树。 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#xff1a;[0,-10,5,null,-3,null,9] 也将被视为正确答案…

Modbus_RTU和Modbus库

目录 一.Modbus_RTU 1. 与Modbus TCP的区别 2. Modbus RTU特点 3. Modbus RTU协议格式 4. 报文详解 5. 代码实现RTU通信 1. 打开模拟的RTU从机 2. linux端使用代码实现和串口连接 2.1. 框架搭建 2.2 代码 二.Modbus库 1.库函数 一.Modbus_RTU 1. 与Modbus T…

C++初阶学习第六弹------标准库中的string类

目录 一.标准库中的string类 二.string的常用接口函数 2.1string类对象的构造 2.2 string的容量操作 2.3 string类的访问与遍历 2.4 string类对象的修改 2.5 string类常用的非成员函数 三、总结 一.标准库中的string类 可以简单理解成把string类理解为变长的字符数组&#x…

c++234继承

#include<iostream> using namespace std;//public 修饰的成员便俩个和方法都能使用 //protected&#xff1a;类的内部 在继承的子类中可使用 class Parents { public:int a;//名字 protected:int b;//密码 private:int c;//情人public:void printT(){cout << &quo…

C:字符串函数(完)-学习笔记

目录 前言&#xff1a; 1、strstr 1.1 strstr的使用 4.2 strstr的模拟实现 5、strtok 5.1 strtok函数的介绍 5.2 strtok函数的使用 6、strerror 前言&#xff1a; 这篇文章将介绍strstr函数&#xff0c;strtok函数&#xff0c;strerror函数 1、strstr 1.1 strstr的使用…

RabbitMQ 高级特性——持久化

文章目录 前言持久化交换机持久化队列持久化消息持久化 前言 前面我们学习了 RabbitMQ 的高级特性——消息确认&#xff0c;消息确认可以保证消息传输过程的稳定性&#xff0c;但是在保证了消息传输过程的稳定性之后&#xff0c;还存在着其他的问题&#xff0c;我们都知道消息…

Linux内核结构

Linux内核结构 文章目录 Linux内核结构一、Linux内核结构介绍1.1 总体结构&#xff1a;1.2 Linux内核结构框图&#xff1a; 二、图解Linux系统架构三、shell3.1 shell的含义&#xff1a;3.2 shell的作用&#xff1a;3.3 shell的类型&#xff1a;3.4 shell的使用&#xff1a;3.5…

安泰电压放大器设计方法是什么样的

电压放大器是电子领域中常用的设备&#xff0c;用于将低电压信号放大成高电压信号。电压放大器在信号处理、通信系统、仪器测量、控制系统、医疗设备和研究和实验室等领域都有着广泛的应用。 电压放大器的设计方法主要包括选择合适的放大器拓扑结构、选择适当的放大器参数以及进…

72v-80V降5V1.5A恒压降压WT6035

72v-80V降5V1.5A恒压降压WT6035 WT6035 是一款高压降压开关稳压器&#xff0c;可用于将 72V - 80V 的电压降为 5V、1.5A 的恒压输出&#xff0c;以下是一些关于它的特点及应用注意事项&#xff1a; 芯片特点&#xff1a; 宽电压输入范围&#xff1a;输入电压范围为 5V 至 100V…

设计模式之命令模式:从原理到实战,深入解析及源码应用

&#x1f3af; 设计模式专栏&#xff0c;持续更新中 欢迎订阅&#xff1a;JAVA实现设计模式 &#x1f6e0;️ 希望小伙伴们一键三连&#xff0c;有问题私信都会回复&#xff0c;或者在评论区直接发言 命令模式 什么是命令模式&#xff1f; 命令模式&#xff08;Command Pattern…

sensitive-word 敏感词 v0.20.0 数字全部匹配,而不是部分匹配

敏感词系列 sensitive-word-admin 敏感词控台 v1.2.0 版本开源 sensitive-word-admin v1.3.0 发布 如何支持分布式部署&#xff1f; 01-开源敏感词工具入门使用 02-如何实现一个敏感词工具&#xff1f;违禁词实现思路梳理 03-敏感词之 StopWord 停止词优化与特殊符号 04-…

《微信小程序实战(3) · 推广海报制作》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

VISIA 皮肤检测

费用:自费158元 不能医保报销 先清洁肌肤,然后做一个皮肤检测. 1200万像素高清摄像头,一个白光,一个偏正光,还有一个紫外光,三种模式,分析面部情况. 8张图 反应皮肤情况应用: 在医美前和医美一次修复完成后,皮肤情况对比. 数值越高 越好 斑点图: 皱纹图: 分数比较低的话,皮肤…

SpringBoot教程(三十) | SpringBoot集成Shiro(权限框架)

SpringBoot教程&#xff08;三十&#xff09; | SpringBoot集成Shiro&#xff08;权限框架&#xff09; 一、 什么是Shiro二、Shiro 组件核心组件其他组件 三、流程说明shiro的运行流程 四、SpringBoot 集成 Shiro1. 添加 Shiro 相关 maven2. 添加 其他 maven3. 设计数据库表4.…