跳转到主要内容

概述

此工具旨在促进 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-generativeai",
            config=dict(
                model_name="gemini-embedding-001",
                task_type="RETRIEVAL_DOCUMENT",
                # title="Embeddings",
            ),
        ),
    )
)