跳转到主要内容

概述

该工具旨在促进 MySQL 数据库表内的语义搜索。利用 RAG(检索与生成)技术,MySQLSearchTool 为用户提供了一种高效查询数据库表内容的方法,专为 MySQL 数据库量身定制。它通过语义搜索查询简化了查找相关数据的过程,使其成为需要在 MySQL 数据库中对海量数据集执行高级查询的用户的宝贵资源。

安装

要安装 crewai_tools 包并使用 MySQLSearchTool,请在您的终端中执行以下命令
pip install 'crewai[tools]'

示例

下面是一个示例,展示了如何使用 MySQLSearchTool 在 MySQL 数据库的表中进行语义搜索
代码
from crewai_tools import MySQLSearchTool

# Initialize the tool with the database URI and the target table name
tool = MySQLSearchTool(
    db_uri='mysql://user:password@localhost:3306/mydatabase',
    table_name='employees'
)

参数

MySQLSearchTool 的运行需要以下参数
  • db_uri:一个字符串,表示要查询的 MySQL 数据库的 URI。此参数为必需项,必须包含必要的身份验证详细信息和数据库位置。
  • table_name:一个字符串,指定数据库中将要执行语义搜索的表的名称。此参数为必需项。

自定义模型和嵌入

默认情况下,该工具使用 OpenAI 进行嵌入和摘要。要自定义模型,您可以使用如下所示的配置字典:
代码
tool = MySQLSearchTool(
    config=dict(
        llm=dict(
            provider="ollama", # or google, openai, anthropic, llama2, ...
            config=dict(
                model="llama2",
                # temperature=0.5,
                # top_p=1,
                # stream=true,
            ),
        ),
        embedder=dict(
            provider="google",
            config=dict(
                model="models/embedding-001",
                task_type="retrieval_document",
                # title="Embeddings",
            ),
        ),
    )
)