跳转到主要内容

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),
            }
        },
    }
)