Lagent & AgentLego 智能体应用搭建
1. 什么是智能体
智能体指的是可以感知环境并根据观察到的信息作出决策的实体。这些决策旨在实现某种目标或任务。智能体可以是简单的,如一个自动温度调节器,也可以是复杂的,如一个用于高频交易的自动化程序,或者是高级的机器学习模型。
智能体的关键特性包括:
- 自主性:智能体能够在没有外部操作的情况下独立执行任务。
- 社会能力:在多智能体系统中,智能体可以与其他智能体或用户进行交互。
- 反应性:智能体能够感知环境并对变化做出响应。
- 主动性:智能体不仅对环境变化作出反应,还能够自发地采取行动以实现其设计目标。
2. Lagent 是什么
Lagent 是一个轻量级开源智能体框架,旨在让用户可以高效地构建基于大语言模型的智能体。同时它也提供了一些典型工具以增强大语言模型的能力。
Lagent 目前已经支持了包括 AutoGPT、ReAct 等在内的多个经典智能体范式,也支持了如下工具:
- Arxiv 搜索
- Bing 地图
- Google 学术搜索
- Google 搜索
- 交互式 IPython 解释器
- IPython 解释器
- PPT
- Python 解释器
3. AgentLego 是什么
AgentLego 是一个提供了多种开源工具 API 的多模态工具包,旨在像是乐高积木一样,让用户可以快速简便地拓展自定义工具,从而组装出自己的智能体。通过 AgentLego 算法库,不仅可以直接使用多种工具,也可以利用这些工具,在相关智能体框架(如 Lagent,Transformers Agent 等)的帮助下,快速构建可以增强大语言模型能力的智能体。
4. 使用 LMDeploy 部署Lagent Web Demo
下载Lagent,安装LMDeploy
git clone https://github.com/InternLM/lagent.git
pip install lmdeploy==0.3.0
用LMDeploy启动后端服务
lmdeploy serve api_server /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-7b \
--server-name 127.0.0.1 \
--model-name internlm2-chat-7b \
--cache-max-entry-count 0.1
Lagent启动可视化界面
cd lagent/examples
streamlit run internlm2_agent_web_demo.py --server.address 127.0.0.1 --server.port 7860
结果如下图所示