AgentLLM 项目介绍
项目概述
AgentLLM 是一个创新的开源项目,旨在利用嵌入在浏览器中的大语言模型(LLM)来开发自主代理。其主要目标是展示嵌入式LLM能够以可接受的性能处理自主代理的复杂目标导向任务。
背景与动机
随着像 OpenAI 的 ChatGPT 和 GPT-4 这样的大型语言模型的快速发展,出现了可以自主行动、自主实现特定目标的自主代理。然而,这些高级的LLM通常需要大量计算资源,仅能依赖于强大的远程服务器进行操作。这种操作方式引发了诸多问题,如隐私、成本及可用性等。因此,嵌入式的浏览器本地LLM出现,改变了人们对自主代理及其潜在应用的认识。
技术实现
AgentLLM 的实现建立在 WebLLM 的研究基础上,后者通过使用 WebGPU 来利用GPU进行推理,从而显著提升了性能。这与之前仅基于CPU的实现相比,有了重大的性能突破。此外,AgentLLM 项目修改了流行的 AgentGPT 项目,替换了其中的 ChatGPT,用 WizardLM 替代,并改变了提示机制。AgentGPT 允许部署自主代理来执行任意目标,从基本任务到复杂问题求解,而其界面友好的特性,减少了依赖于外部因素的复杂性与不可预测性,使其成为了快速原型创建和任务分解的理想平台。
使用指南
运行演示
- 安装 Chrome 或 Edge 浏览器,并确保版本在 M113 及以上。
- 以提升性能为目的,可以使用启动参数
--enable-dawn-features=disable_robustness
,例如在 MacOS 的终端中可运行以下命令启用 Chrome:/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-dawn-features=disable_robustness
- 访问 AgentLLM 演示页面。
本地开发与部署
对于开发者,提供了多种本地运行方法,其中最简单的是使用 Docker 进行运行,以下是几种可选的部署方式:
- 使用 Docker 安装:
./setup.sh --docker
- 使用 Docker Compose 部署:
./setup.sh --docker-compose
- 本地开发环境设置:
./setup.sh --local
手动安装
如需手动安装,则需具备 Node.js +18 版本。首先 fork 项目并克隆到本地,然后通过命令行安装依赖,配置环境变量并进行数据库迁移,最后运行开发服务器。
git clone git@github.com:YOUR_USER/AgentLLM.git
cd AgentLLM
npm install
# 配置 .env 文件
# 修改 Prisma 架构以使用 sqlite(可选)
./prisma/useSqlite.sh
# 建立数据库结构
npx prisma db push
# 运行开发服务器
npm run dev
免责声明
AgentLLM 是一个概念验证项目,使用的是实验性技术,尚不具备生产环境的准备,因此应仅用于研究。在使用软件时,用户需承担其使用的全部风险。
更多项目详情请访问 Medium 文章。