链载Ai

标题: 大模型 | XAgent 的部署及运行 [打印本页]

作者: 链载Ai    时间: 昨天 09:30
标题: 大模型 | XAgent 的部署及运行

自动化是人工智能的一个重要方面,它旨在减轻人类在工作中的负担,提高工作效率和质量。在过去的几年里,自动化技术的一个热门领域是流程自动化(Process Automation),它旨在自动化各种复杂的业务流程,包括数据处理、文档处理、客户服务等。

Agent 在机器人流程自动化 (Robotic Process Automation,RPA) 领域扮演了革命性的角色。

XAgent简介

XAgent 是一个开源、基于大型语言模型(LLM)的通用自主智能体,可以自动解决各种复杂任务。

XAgent 采用双环机制,外循环用于高层任务管理,起到规划(Planning)的作用,内循环用于底层任务执行,起到执行(Execution)的作用。

XAgent 特点:

XAgent 原理

在XAgent中,规划和任务执行过程通过双循环机制(外循环和内循环)进行编排。其本质上,外循环处理高层次的任务管理和分配,内循环专注于每个子任务的低层次执行和优化。

外循环

外循环作为高层规划器和整个问题解决序列的主要协调者,充当整个问题解决序列的管理。它的职责可以分解如下:

内循环内循环负责执行外循环分配的各个子任务。基于外循环给定的子任务,内循环会指定一个合适的ToolAgent,确保任务达到预期的结果。内循环的关键点包括:

PlanAgent:动态规划和迭代改进

PlanAgent赋予智能体不断制定和修订计划的能力,以适应多变的环境和突发需求。这些能力对于确保灵活性、弹性和效率以应对未预见的挑战至关重要。PlanAgent专用于外循环,其通过生成初始计划和不断修订计划来实现这一目标。PlanAgent包含四个函数来优化计划:

ToolAgent:在函数调用中协同推理和行动

ToolAgent使用ReACT会寻找最佳的一系列动作(工具调用)来完成子任务。在每一轮中,智能体根据先前的交互生成一个动作,对于每个动作,在同一个函数调用中将智能体的推理和行动协同起来,即推理跟踪(“思考”)和将要执行的动作都被视为特定函数的参数。具体而言,每个(函数调用)具有以下组件:

ToolServer:多样化的支持工具

ToolServer包括三个关键组件:

部署

1. 环境搭建

1.1 基本环境安装

gitclonehttps://github.com/OpenBMB/XAgent.gitcdXAgent#安装依赖python版本>=3.10pipinstall-rrequirements.txt

1.2 配置

运行之前在assets/config.yml中配置XAgent

在assets/config.yml中提供至少一个OpenAI key用于访问OpenAI API。

如果想更换XAgentServer的config_file路径,需要修改*.env文件中CONFIG_FILE*的值并重启docker容器。

1.3 编译和运行ToolServer

ToolServer作为docker容器,为XAgent运行提供安全的环境。(如果修改了配置,需要重新执行下述命令)

dockercomposeup--build

4. 运行XAgent

dockerexecXAgent-Serversystemctlstartnginx

5. 访问XAgent-Server

XAgent-Server启动后,默认的访问地址是 http://localhost:5173, 要确保端口是对外开放的,首次访问该地址,会看到上个步骤的控制台上会打印访问的日志信息:

XAgent-Server|XAgentServiceStartupParam:XAgent-Server|app:app:appXAgent-Server|prod:FalseXAgent-Server|base_dir:XAgentServerXAgent-Server|use_redis:FalseXAgent-Server|recorder_root_dir:running_recordsXAgent-Server|default_login:TrueXAgent-Server|check_running:FalseXAgent-Server|host:0.0.0.0XAgent-Server|port:8090XAgent-Server|debug:TrueXAgent-Server|reload:TrueXAgent-Server|workers:1XAgent-Server|share_url:https://x-agent.net/api/conv/communityXAgent-Server|DB:<class'XAgentServer.application.core.envs.XAgentServerEnv.DB'>XAgent-Server|Redis:<class'XAgentServer.application.core.envs.XAgentServerEnv.Redis'>XAgent-Server|Email:<class'XAgentServer.application.core.envs.XAgentServerEnv.Email'>XAgent-Server|Upload:<class'XAgentServer.application.core.envs.XAgentServerEnv.Upload'>XAgent-Server|XAgentServiceInitDependence.XAgent-Server|initathreadpoolexecutor,max_workers:1XAgent-Server|XAgentServiceInitDependence:Complete!XAgent-Server|Defaultuser:Guest,token:xagent,youcanuseittologinXAgent-Server|XAgentServerDependences:XAgent-Server|Python:3.10+XAgent-Server|FastAPI:HttpserverXAgent-Server|Websocket:longconnectwithclientXAgent-Server|MySQL:savexagentdataXAgent-Server|SqlAlchemy:ORMwithMySQLXAgent-Server|Redis:savestatusofinteractionXAgent-Server|Threading:runinteractionXAgent-Server|APScheduler:senddatatoclientandkeepaliveXAgent-Server|FastAPIAPIRouter:managewebsocketrouteXAgent-Server|XAgentError:XAgentServer.exts.exception_extXAgent-Server|XAgentServerVersion:XAgent-Server|V1.1.0XAgent-Server|Notes:XAgent-Server|SinceV1.1.0,XAgent-Server|Localstoragewillnolongerbesupported,replacedbyMysql.XAgent-Server|TheservicedependsonRedisandMysql,XAgent-Server|soyouneedtoinstallRedisandMysqlbeforeusingit.XAgent-Server|Beforeyouusethisservice,pleaseensurethatthefollowingservicesareavailable:XAgent-Server|1.Redisondocker,port:6379,youcanstartitbydocker,defaultpassword:xagentXAgent-Server|2.Mysqlondocker,port:3306,youcanstartitbydockerXAgent-Server|3.XAgentToolServerisrunnningonport8080XAgent-Server|4.Port8090isnotoccupied








欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5