使用说明
CLI代理体系结构
该存储库提供了一种高性能的人工智能代理架构,将孤立的工具服务器与中央编排器集成在一起,专注于安全性、可靠性和兼容性。该系统利用Docker容器为执行特定于工具的代码提供安全的环境。
先决条件
- python:需要3.10或更高版本。
- 码头工人:必须在您的系统上安装并运行,才能管理和运行隔离的工具服务器。
- 紫外线:此项目使用
uv用于快速可靠的Python包管理。
设置和安装
1.环境准备
- 使用以下命令初始化项目环境并安装依赖项:这将安装必要的库,包括
uv syncfastapi,docker,httpx,以及各种语言模型的SDK,例如anthropic,openai,以及google-genai. - 创建一个
.env文件,并添加所需的API密钥(例如。,ANTHROPIC_API_KEY,OPENAI_API_KEY,或GOOGLE_API_KEY).
2.构建工具图像
编排器需要预先构建的Docker镜像来启动工具服务器。例如,天气工具需要一个名为 weather-server:test.
- 运行镜像生成器脚本以生成必要的Docker镜像:此脚本构建
uv run src/cli_server/docker_image_builder.pyweather-server图像并将其保存在本地供编排器访问。
运行应用程序
要与代理交互,您必须先启动编排器服务器,然后启动CLI客户端。
1.启动编排器
编排器管理工具容器的生命周期,并处理工具列表、激活和执行的请求。
- 启动编排服务器:默认情况下,编排器在上运行FastAPI应用程序
uv run src/orchestrator.pyhttp://127.0.0.1:8000.
2.启动CLI客户端
在单独的终端窗口中,启动交互式客户端与代理通信:
- 启动CLI客户端:客户端处理用户交互循环,并使用语言模型来确定哪些工具命令(例如
uv run src/cli_client/cli_client.pylist,activate,或execute)发送给编排器。
核心组件
- 编排器(
src/orchestrator.py):一个基于FastAPI的服务器,管理工具服务器的注册表,控制Docker容器,并在这些容器中执行代码。 - CLI客户端(
src/cli_client/cli_client.py):管理对话历史记录,并将用户意图转换为编排器命令。 - Docker镜像生成器(
src/cli_server/docker_image_builder.py):一个用于自动创建特定于工具的Docker镜像的实用程序。 - 工具服务器:在中定义了单个工具(如天气服务器)
src/cli_server/并在隔离环境中运行以确保安全。
项目路线图
- 用TypeScript重写架构以提高性能。
- 为OpenAI和Anthropic API添加全面的工具注册。
- 通过在工具手册中包含更详细的使用示例来改进服务器文档。