项目简介

NVIDIA Agent Intelligence Toolkit (AIQ Toolkit) 是一个功能强大的库,旨在帮助开发者轻松构建和部署企业级AI Agent。它通过将代理(Agents)、工具(Tools)和工作流(Workflows)抽象为可复用的函数,简化了开发流程。AIQ Toolkit 设计为框架无关,可以与现有的Agentic框架协同工作。

主要功能点

  • 框架无关性: 支持集成使用不同框架构建的Agent和工具。
  • 组件可重用: Agent、工具和工作流都可以作为独立组件被组合和复用。
  • 工作流编排: 轻松定义和定制复杂的Agentic工作流。
  • 性能分析与可观测性: 提供内置工具进行工作流性能分析和OpenTelemetry兼容的可观测性。
  • 评估系统: 支持Agentic工作流的验证和准确性维护。
  • 用户界面: 提供一个UI界面用于交互、可视化和调试。
  • MCP服务器能力: 可以配置为MCP服务器,通过标准的JSON-RPC协议向LLM客户端暴露选定的Agent和工具功能。

安装步骤

  1. 环境准备: 需要安装 Git, Git Large File Storage (LFS), uv 包管理器以及 Python 3.11 或更高版本。
  2. 克隆仓库:
    git clone https://github.com/NVIDIA/AIQToolkit.git aiqtoolkit
    cd aiqtoolkit
  3. 更新子模块和LFS文件:
    git submodule update --init --recursive
    git lfs install
    git lfs fetch
    git lfs pull
  4. 创建并激活Python环境:
    uv venv --seed .venv
    source .venv/bin/activate
    (确保Python版本符合要求,必要时使用 'uv venv --seed .venv --python 3.11' 指定版本)
  5. 安装库及其依赖: 安装核心库及所有可选依赖(包括MCP前端所需):
    uv sync --all-groups --all-extras
  6. 验证安装:
    aiq --version
    如果显示版本号,则安装成功。

服务器配置

AIQ Toolkit 作为 MCP 服务器运行时,是通过一个特殊的“前端”(Front-end)模式实现的。LLM 客户端连接时,并不直接通过代码配置服务器内部,而是需要知道如何启动 AIQ Toolkit 并使其进入 MCP 模式。

  1. AIQ Toolkit 配置文件: 您需要创建一个 AIQ Toolkit 的配置文件(通常是 YAML 格式),例如 'aiq_config.yaml'。在这个文件中,您需要定义一个 'general.front_end' 部分,指定类型为 'mcp',设置服务器监听的 'port',并列出您希望通过 MCP 协议暴露给客户端调用的 AIQ Toolkit 函数(即工具或工作流)的名称列表 'tool_names'。同时,这个配置文件也需要定义这些工具、工作流以及它们可能依赖的 LLM、Embedders 等。
  2. MCP 客户端配置: MCP 客户端连接时,需要配置启动 AIQ Toolkit MCP 服务器进程的命令和参数。典型的配置会指定 AIQ Toolkit 的可执行文件路径(例如 '/path/to/your/.venv/bin/aiq'),接着是启动 MCP 模式的命令(例如 'mcp'),然后是指向您的 AIQ Toolkit 配置文件的参数(例如 '--config_file aiq_config.yaml')。AIQ Toolkit 启动后,会读取此配置文件中的 MCP 设置,并按照指定的端口等信息开始监听 MCP 客户端的连接。

基本使用方法

  1. 准备 AIQ Toolkit 配置文件: 创建或修改您的 AIQ Toolkit 配置文件(例如 'aiq_config.yaml'),确保其中包含了 'general.front_end' 部分,类型设置为 'mcp',并配置了端口和 'tool_names' 列表。
  2. 启动 AIQ Toolkit MCP 服务器: 使用命令行工具启动服务器,例如:
    aiq mcp --config_file aiq_config.yaml
    (请根据您的安装路径和配置文件名调整命令)。
  3. MCP 客户端连接: 配置您的 MCP 客户端,使其连接到 AIQ Toolkit MCP 服务器监听的主机和端口(例如 'localhost:9901'),并使用上述启动命令来启动服务器进程(如果客户端负责启动服务器的话)。一旦连接建立,客户端即可通过 MCP 协议调用在 'tool_names' 列表中暴露的功能。

信息

分类

AI与计算