Genai Toolbox

Genai Toolbox

🚀 Toolbox 项目文档

Toolbox 是一个综合性平台,用于管理工具和数据源。它支持多种交互方式,还提供了灵活的配置选项。用户只需通过 tools.yaml 文件,就能轻松定义数据源、工具及其参数。

🚀 快速开始

Toolbox 是一个用于管理工具和数据源的综合性平台,支持多种交互方式,并提供灵活的配置选项。你可以按照以下步骤快速启动项目:

# 克隆仓库
git clone https://github.com/your-repository.git
cd your-repository

# 安装依赖
pip install -r requirements.txt

# 启动服务
python main.py

在启动 Toolbox 之前,建议配置以下环境变量:

export TOOLBOX_HOME=~/toolbox-config
export DB_URL=postgresql://user:password@localhost:5432/database

✨ 主要特性

  • 数据源管理:支持多种数据库类型,如 PostgreSQL 和 MySQL。
  • 工具定义:允许用户自定义 SQL 查询和其他类型的工具操作。
  • 工具集管理:通过 toolsets 功能,用户可以将多个工具组合在一起使用。

📦 安装指南

快速安装

# 克隆仓库
git clone https://github.com/your-repository.git
cd your-repository

# 安装依赖
pip install -r requirements.txt

# 启动服务
python main.py

配置环境变量

在启动 Toolbox 之前,建议配置以下环境变量:

export TOOLBOX_HOME=~/toolbox-config
export DB_URL=postgresql://user:password@localhost:5432/database

💻 使用示例

基础用法

数据源配置(sources.yaml)

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

工具配置(tools.yaml)

tools:
search-hotels-by-name:
kind: postgres-sql
source: my-pg-source
description: 搜索基于名称的酒店。
parameters:
- name: name
type: string
description: 酒店名称。
statement: SELECT * FROM hotels WHERE name ILIKE '%' || $1 || '%';

工具集配置(toolsets.yaml)

toolsets:
my_first_toolset:
- my_first_tool
- my_second_tool
my_second_toolset:
- my_second_tool
- my_third_tool

📚 详细文档

配置详解

数据源配置

sources.yaml 文件中,用户可以定义多个数据源。每个数据源都有一个唯一标识符和相关连接参数。

示例:

sources:
pg_source1:
kind: postgres
host: 127.0.0.1
port: 5432
database: testdb
user: admin
password: secret

工具配置

tools.yaml 文件中,用户可以定义多个工具。每个工具都有一个唯一标识符、类型、关联的数据源以及执行的具体操作。

示例:

tools:
get_user_info:
kind: postgres-sql
source: pg_source1
description: 获取用户信息。
parameters:
- name: user_id
type: integer
description: 用户ID。
statement: SELECT * FROM users WHERE id = $1;

工具集配置

通过 toolsets.yaml 文件,用户可以将多个工具组合在一起,形成一个工具组。这使得在实际应用中可以更方便地管理和使用工具。

示例:

toolsets:
user_management_toolset:
- get_user_info
- update_user_profile
data_analysis_toolset:
- fetch_data
- analyze_results

版本控制

该项目遵循语义化版本控制(Semantic Versioning),格式为 MAJOR.MINOR.PATCH。具体含义如下:

  • MAJOR:当主要功能发生变化或向下不兼容时,增加主版本号。
  • MINOR:添加新功能或改进现有功能而不破坏向后兼容性时,增加次版本号。
  • PATCH:修复已知问题和漏洞时,增加补丁版本号。

贡献指南

如何贡献代码

  1. Fork 仓库
  2. 创建功能分支
  3. 提交代码
  4. 提交 Pull Request

示例提交信息格式:

feat: 新增工具配置功能
fix: 修复数据源连接问题
docs: 更新文档说明

如何报告问题

请通过以下渠道报告任何问题或提出反馈:

附录

常见问题解答(FAQ)

  1. 如何配置环境变量?
  • 按照文档中的“配置环境变量”部分进行操作。
  1. 支持哪些数据库类型?
  • 当前支持 PostgreSQL 和 MySQL,未来计划增加更多类型。
  1. 如何定义新的工具?
  • tools.yaml 文件中添加新的工具条目,并确保其语法正确。

联系方式

感谢您使用 Toolbox!如需进一步帮助,请随时联系我们的支持团队。

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-18 02:57

相似服务问题