高性能AI代理架构

一个集成了隔离工具服务器和中央协调器的高性能AI代理架构,专注于安全性、可靠性和兼容性。

  • by Samaritan001
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Samaritan001/cli_agent

使用说明

CLI代理体系结构

该存储库提供了一种高性能的人工智能代理架构,将孤立的工具服务器与中央编排器集成在一起,专注于安全性、可靠性和兼容性。该系统利用Docker容器为执行特定于工具的代码提供安全的环境。

先决条件

  • python:需要3.10或更高版本。
  • 码头工人:必须在您的系统上安装并运行,才能管理和运行隔离的工具服务器。
  • 紫外线:此项目使用 uv 用于快速可靠的Python包管理。

设置和安装

1.环境准备

  • 使用以下命令初始化项目环境并安装依赖项:
    uv sync
    
    这将安装必要的库,包括 fastapi, 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.py
    
    此脚本构建 weather-server 图像并将其保存在本地供编排器访问。

运行应用程序

要与代理交互,您必须先启动编排器服务器,然后启动CLI客户端。

1.启动编排器

编排器管理工具容器的生命周期,并处理工具列表、激活和执行的请求。

  • 启动编排服务器:
    uv run src/orchestrator.py
    
    默认情况下,编排器在上运行FastAPI应用程序 http://127.0.0.1:8000.

2.启动CLI客户端

在单独的终端窗口中,启动交互式客户端与代理通信:

  • 启动CLI客户端:
    uv run src/cli_client/cli_client.py
    
    客户端处理用户交互循环,并使用语言模型来确定哪些工具命令(例如 list, 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添加全面的工具注册。
  • 通过在工具手册中包含更详细的使用示例来改进服务器文档。