DirectorySearchTool
实验性:DirectorySearchTool 正在持续开发中。功能可能会不断演进,在我们完善该工具时可能会出现意外行为。
DirectorySearchTool 能够在指定目录的内容中进行语义搜索,利用检索增强生成(RAG)方法高效地浏览文件。它设计灵活,允许用户在运行时动态指定搜索目录,或在初始设置期间设置固定目录。
要使用 DirectorySearchTool,首先安装 crewai_tools 包。在终端中执行以下命令:
pip install 'crewai[tools]'
初始化和使用
从 crewai_tools 包中导入 DirectorySearchTool 即可开始使用。您可以在不指定目录的情况下初始化该工具,从而在运行时设置搜索目录。或者,也可以使用预定义的目录初始化该工具。
from crewai_tools import DirectorySearchTool
# For dynamic directory specification at runtime
tool = DirectorySearchTool()
# For fixed directory searches
tool = DirectorySearchTool(directory='/path/to/directory')
directory:一个字符串参数,指定搜索目录。这在初始化时是可选的,但如果未初始设置,则在搜索时需要。
自定义模型和嵌入
DirectorySearchTool 默认使用 OpenAI 进行嵌入和摘要。这些设置的自定义选项包括更改模型提供程序和配置,从而增强高级用户的灵活性。
from chromadb.config import Settings
tool = DirectorySearchTool(
config={
"embedding_model": {
"provider": "openai",
"config": {
"model": "text-embedding-3-small",
# "api_key": "sk-...",
},
},
"vectordb": {
"provider": "chromadb", # or "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),
}
},
}
)