iX - 自主GPT-4代理平台
在宇宙旋涡的沙海中,Ix犹如一颗神秘的宝石,
人类智慧的光辉在禁忌知识的边缘上闪耀,
把复杂的阴影投射到整个星系。
-- 亚崔迪斯抄写员,《Ixian创新编年史》
🌌 项目简介
构建AI驱动的工作流:
- QA聊天机器人
- 代码生成
- 数据提取
- 数据分析
- 数据扩充
- 研究助手
主要功能
🧠 模型
- OpenAI
- Google PaLM(实验性)
- Anthropic(实验性)
- Llama(实验性)
⚒️ 无代码代理编辑器
无代码编辑器用于创建和测试代理。编辑器提供了一个界面,可以将节点拖放并连接成一个代表代理认知逻辑的图。聊天功能嵌入在编辑器中,便于快速测试和调试。
https://github.com/kreneskyp/ix/assets/68635/f43923b9-7bce-4b64-b30e-3204eb1673e4
💬 多代理聊天界面
通过单一接口创建和与多个代理互动。聊天室支持多个代理。默认包括IX调解代理,将任务委派给其他代理。您可以通过@提到
特定代理来完成任务。
https://github.com/kreneskyp/ix/assets/68635/d1418c23-afb5-4aed-91c7-bf99b1c165d5
💡 智能输入
智能输入栏自动完成代理@提到
和由任务创建的文件和数据{文物}
。
https://github.com/kreneskyp/ix/assets/68635/27cf7085-7349-4641-9327-d31a3041a94c
⚡ 消息队列驱动代理工作者
代理运行后端通过docker化并由celery消息队列触发。这使得后端可以水平扩展,支持并行运行的代理集群。
⚙️ 组件配置层
IX实现了一个组件配置层,将LangChain组件映射到配置图。配置层驱动许多其他系统和功能。例如,组件字段和连接器定义用于在无代码编辑器中动态渲染节点和表单。
🛠️ 入门指南
先决条件
Windows Linux子系统(仅限Windows)
- 打开Powershell
- 运行`wsl --install`以安装和/或激活WSL
Python
CLI需要Python 3.8或更高版本。应用的python版本由镜像管理。Agent-IX CLI
启动IX的最快方法是使用agent-ix CLI。CLI启动一个预配置的docker集群,使用docker-compose自动下载所需的镜像并启动应用集群。
pip install agent-ix
ix up
使用scale
命令扩展代理工作者。每个工作者将并行运行代理进程。工作者数量限制取决于可用的内存和CPU容量。
ix scale 5
客户端可以启动特定版本,包括在master
分支上构建的不稳定dev
镜像。
ix up --version dev
如何工作
基本用法
您可以与使用该指令来调查、计划和完成任务的代理聊天。代理能够搜索网络、编写代码、创建图像、与其他API和服务互动。如果可以编写代码,它就在代理可以帮助您的可能范围内。
-
设置服务器并访问http://0.0.0.0:8000,一个新的聊天将会自动创建默认代理。
-
输入请求,IX调解将任务委派给最适合应对的代理。或者
@提到
一个代理来指定特定代理完成任务。 -
可以根据需要添加或移除自定义代理,以处理您的任务。
创建自定义代理和链
IX提供了调解代理IX、编码代理和其他示例代理。可以通过链编辑器或Python API构建自定义代理。
链编辑器
- 导航到链编辑器
- 点击根连接器打开组件搜索
- 将代理、链、工具及其他组件拖放到编辑器中
- 连接组件以创建链
- 打开测试聊天试试!
Python API
🧙 开发设置
1. 先决条件
在开始之前,确保您已在系统上安装以下软件:
Windows Linux子系统(仅限Windows)
- 打开Powershell
- 运行`wsl --install`以安装和/或激活WSL
Git & Make
- Mac:
brew install git make
- Linux:
apt install git make
- Windows (WSL):
apt install git make
2. 克隆仓库
git clone https://github.com/kreneskyp/ix.git
cd ix
3. 设置环境
在.env
中设置配置
cp .env.template .env
OPENAI_API_KEY=YOUR_KEY_HERE
4. 构建并初始化IX集群
镜像将在大多数情况下自动重新构建。设置NO_IMAGE_BUILD=1
以跳过重建镜像。
使用image
目标构建并启动IX镜像。dev_setup
目标将构建前端并初始化数据库。请参阅开发工具部分的更多命令以管理开发环境。
make dev_setup
5. 运行IX集群
IX集群使用docker-compose运行。它将启动容器来运行web服务器、应用服务器、代理工作者、数据库、redis和其他支持服务。
make cluster
6. 查看日志
Web和应用容器日志
make server
代理工作者容器日志
make worker
7. 打开用户界面
访问http://0.0.0.0:8000以访问用户界面。在那里,您可以创建和编辑代理和链。平台将自动生成代理进程以完成所需任务。
扩展工作者
使用scale
目标调整活动代理工作者的数量。默认情况下是1个代理工作者处理任务。代理数量没有硬性限制,但工作者数量受到可用内存和CPU容量的限制。
make scale N=5
开发者工具
这里有一些有用的命令供开发者设置和管理开发环境:
运行:
make up
/make cluster
:在开发模式下启动应用,在http://0.0.0.0:8000。make server
:查看web和应用容器的日志。make worker
:查看代理工作者容器的日志。
构建:
make image
:构建Docker镜像。make frontend
:重新构建前端(GraphQL、relay、webpack)。make webpack
:仅重新构建JavaScript。make webpack-watch
:在文件更改时重新构建JavaScript。make dev_setup
:构建前端和生成数据库。make node_types_fixture
:为组件类型定义构建数据库fixture。
数据库
make migrate
:运行Django数据库迁移。make migrations
:生成新的Django数据库迁移文件。
实用工具
make bash
:在Docker容器中打开bash shell。make shell
:打开一个Django shell_plus会话。
代理Fixtures
使用dump_agent
django命令转储fixtures。此命令将收集并转储代理和链,包括组件图。
-
make bash
-
./manage.py dump_agent -a alias