跳转到内容

TXT RAG 搜索

该工具用于在文本文件内容中执行 RAG(检索增强生成)搜索。
它允许针对指定文本文件的内容进行语义查询,
对于快速提取信息或根据提供的查询查找特定文本段落非常有价值。

要使用 TXTSearchTool,首先需要安装 crewai_tools 包。
你可以使用 Python 的包管理器 pip 来完成。
打开终端或命令提示符并输入以下命令:

Terminal window
pip install 'crewai[tools]'

该命令会下载并安装 TXTSearchTool 以及所有必要的依赖项。

下面的示例演示如何使用 TXTSearchTool 搜索文本文件。
此示例展示了使用特定文本文件初始化工具,以及随后在该文件内容中进行搜索的过程。

from crewai_tools import TXTSearchTool
# 初始化工具,以搜索智能体在执行过程中了解到的任何文本文件内容
tool = TXTSearchTool()
# 或者
# 使用特定文本文件初始化工具,
# 这样智能体可以在给定的文本文件内容中进行搜索
tool = TXTSearchTool(txt='path/to/text/file.txt')
  • txt (str):可选。你要搜索的文本文件路径。
    如果工具未使用特定文本文件初始化,则该参数才是必需的;
    否则,搜索会在最初提供的文本文件中进行。

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

from chromadb.config import Settings
tool = TXTSearchTool(
config={
# 必需:嵌入提供方 + 配置
"embedding_model": {
"provider": "openai", # 或 google-generativeai、cohere、ollama 等
"config": {
"model": "text-embedding-3-small",
# "api_key": "sk-...", # 如果环境变量已设置,则可选(例如 OPENAI_API_KEY 或 EMBEDDINGS_OPENAI_API_KEY)
# 提供方示例:
# Google → model_name: "gemini-embedding-001", task_type: "RETRIEVAL_DOCUMENT"
# Cohere → model: "embed-english-v3.0"
# Ollama → model: "nomic-embed-text"
},
},
# 必需:向量数据库配置
"vectordb": {
"provider": "chromadb", # 或 "qdrant"
"config": {
# Chroma 设置(可选持久化)
# "settings": Settings(
# persist_directory="/content/chroma",
# allow_reset=True,
# is_persistent=True,
# ),
# Qdrant 向量参数示例:
# from qdrant_client.models import VectorParams, Distance
# "vectors_config": VectorParams(size=384, distance=Distance.COSINE),
# 注意:collection 名称由工具控制(默认:"rag_tool_collection")。
}
},
}
)