项目简介

Gen AI Toolbox for Databases 是一个开源服务器,它位于您的应用编排框架和数据库之间,充当控制平面,用于修改、分发和调用工具。它通过集中管理工具,简化了 Gen AI 工具的开发、部署和维护,使得代理可以更便捷、安全地访问数据库中的数据。

主要功能点

  • 简化开发: 通过少量代码集成工具到您的代理中,支持工具在多个代理或框架之间复用,并简化新版本工具的部署。
  • 提升性能: 提供连接池、身份验证等最佳实践,优化工具性能。
  • 增强安全性: 集成身份验证机制,提供更安全的数据访问。
  • 端到端可观测性: 内置 OpenTelemetry 支持,提供开箱即用的指标和追踪功能。
  • 资源管理: 集中管理数据源连接信息。
  • 工具注册与执行: 允许注册和执行各种数据库操作工具。
  • 工具集管理: 支持定义和加载工具集合,方便按需加载工具。
  • MCP 协议支持: 通过 HTTP 和 SSE 协议提供 MCP 服务,与 MCP 客户端兼容。

安装步骤

  1. 下载服务器二进制文件

    访问 发布页面 获取最新版本,根据您的操作系统和 CPU 架构,下载预编译的二进制文件。

    例如,Linux AMD64 架构下,可以使用以下命令下载并安装:

    export VERSION=0.3.0
    curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
    chmod +x toolbox
  2. 或者,使用 Docker 镜像

    您也可以使用 Docker 镜像来安装 Toolbox:

    export VERSION=0.3.0
    docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
  3. 或者,从源代码编译

    确保已安装 Go,然后运行以下命令从源代码编译安装:

    go install github.com/googleapis/[email protected]

服务器配置

Toolbox 主要通过 'tools.yaml' 文件进行配置。您可以定义数据源 (sources)、工具 (tools) 和工具集 (toolsets)。

以下是一个 'tools.yaml' 示例:

sources:
  my-pg-source:
    kind: postgres
    host: 127.0.0.1
    port: 5432
    database: toolbox_db
    user: toolbox_user
    password: my-password

tools:
  search-hotels-by-name:
    kind: postgres-sql
    source: my-pg-source
    description: Search for hotels based on name.
    parameters:
      - name: name
        type: string
        description: The name of the hotel.
    statement: SELECT * FROM hotels WHERE name ILIKE '%' || $1 || '%';

toolsets:
    my_first_toolset:
        - search-hotels-by-name

MCP 客户端配置 (JSON 格式):

{
  "serverName": "GenAI-Toolbox",
  "command": "./toolbox",
  "args": ["--tools-file", "tools.yaml"]
}

参数注释:

  • 'serverName': MCP 服务器的名称,可以自定义。
  • 'command': 启动 MCP 服务器的可执行文件路径,这里假设 'toolbox' 二进制文件在当前目录下。请根据实际情况修改路径。
  • 'args': 启动服务器的命令行参数,'"--tools-file tools.yaml"' 指定了工具配置文件的路径。

基本使用方法

  1. 配置 'tools.yaml' 文件: 根据您的数据库和需求,配置数据源、工具和工具集。参考 官方文档 获取更详细的配置信息。

  2. 启动 Toolbox 服务器: 在终端中执行以下命令启动服务器:

    ./toolbox --tools_file tools.yaml

    服务器默认监听 'http://127.0.0.1:5000',您可以通过 '--address' 和 '--port' 参数自定义监听地址和端口。

  3. 使用 MCP 客户端连接: 配置您的 MCP 客户端,使其连接到 Toolbox 服务器的 '/mcp' 端点(例如 'http://127.0.0.1:5000/mcp')。客户端可以通过 HTTP POST 请求或 SSE 连接与服务器进行交互,并按照 MCP 协议发送请求和接收响应。

  4. 集成到 LLM 应用: 使用官方提供的 SDK (如 'toolbox-langchain', 'toolbox-llamaindex') 或直接通过 MCP 协议与服务器交互,将 Toolbox 提供的工具集成到您的 LangChain 或 LlamaIndex 应用中。

信息

分类

AI与计算