跳转到内容

DOCX RAG 搜索

DOCXSearchTool 是一个 RAG 工具,旨在对 DOCX 文档进行语义搜索。
它使用户能够通过基于查询的搜索,有效地在 DOCX 文件中查找并提取相关信息。
对于数据分析、信息管理和研究任务,这个工具都非常有价值,
能够简化在大型文档集合中查找特定信息的过程。

在终端中运行以下命令以安装 crewai_tools 包:

Terminal window
uv pip install docx2txt 'crewai[tools]'

下面的示例演示如何初始化 DOCXSearchTool,以搜索任意 DOCX 文件内容或指定某个 DOCX 文件路径。

from crewai_tools import DOCXSearchTool
# 初始化工具,以搜索任意 DOCX 文件内容
tool = DOCXSearchTool()
# 或者
# 使用特定 DOCX 文件初始化工具,
# 这样智能体只能搜索该指定 DOCX 文件的内容
tool = DOCXSearchTool(docx='path/to/your/document.docx')

下面这些参数可用于自定义 DOCXSearchTool 的行为:

参数类型描述
docxstring可选。指定你要搜索的 DOCX 文件路径。如果初始化时未提供,该工具允许稍后再指定任意 DOCX 文件的内容路径进行搜索。

默认情况下,该工具同时使用 OpenAI 进行嵌入和摘要。若要自定义模型,可以按如下方式使用配置字典:

from chromadb.config import Settings
tool = DOCXSearchTool(
config={
"embedding_model": {
"provider": "openai",
"config": {
"model": "text-embedding-3-small",
# "api_key": "sk-...",
},
},
"vectordb": {
"provider": "chromadb", # 或 "qdrant"
"config": {
# "settings": Settings(persist_directory="/content/chroma", allow_reset=True, is_persistent=True),
# from qdrant_client.models import VectorParams, Distance
# "vectors_config": VectorParams(size=384, distance=Distance.COSINE),
}
},
}
)