PGSearchTool
!!! note "开发中" PGSearchTool 目前正在开发中。本文档概述了预期功能和界面。随着开发的进行,请注意某些功能可能尚不可用或可能会更改。
描述
PGSearchTool 被设想为一个强大的工具,用于在 PostgreSQL 数据库表中进行语义搜索。通过利用先进的检索和生成(RAG)技术,它旨在提供一种有效的方式来查询数据库表内容,专门针对 PostgreSQL 数据库。该工具的目标是简化通过语义搜索查询找到相关数据的过程,为需要在 PostgreSQL 环境中对大型数据集进行高级查询的用户提供宝贵资源。
安装
crewai_tools
包将在发布时包含 PGSearchTool,可以使用以下命令进行安装:
pip install 'crewai[tools]'
(注意:PGSearchTool 尚未包含在当前版本的 crewai_tools
包中。一旦工具发布,此安装命令将会更新。)
示例用法
以下是一个拟议的示例,展示如何使用 PGSearchTool 在 PostgreSQL 数据库中的表上进行语义搜索:
from crewai_tools import PGSearchTool
# 使用数据库 URI 和目标表名初始化工具
tool = PGSearchTool(db_uri='postgresql://user:password@localhost:5432/mydatabase', table_name='employees')
参数
PGSearchTool 设计为需要以下参数才能运行:
db_uri
:表示要查询的 PostgreSQL 数据库的 URI 的字符串。此参数将是必需的,并且必须包括必要的身份验证 详细信息和数据库的位置。table_name
:指定将在其中执行语义搜索的数据库中的表名的字符串。此参数也将是必需的。
自定义模型和嵌入
该工具打算默认使用 OpenAI 进行嵌入和摘要。用户将有选项使用配置字典自定义模型,如下所示:
tool = PGSearchTool(
config=dict(
llm=dict(
provider="ollama", # 或 google, openai, anthropic, llama2, ...
config=dict(
model="llama2",
# temperature=0.5,
# top_p=1,
# stream=true,
),
),
embedder=dict(
provider="google", # 或 openai, ollama, ...
config=dict(
model="models/embedding-001",
task_type="retrieval_document",
# title="Embeddings",
),
),
)
)