DirectorySearchTool

Experimental: O DirectorySearchTool está em desenvolvimento contínuo. As funcionalidades e recursos podem evoluir, e comportamentos inesperados podem ocorrer enquanto aprimoramos a ferramenta.

Descrição

O DirectorySearchTool permite a busca semântica dentro do conteúdo de diretórios especificados, aproveitando a metodologia de Recuperação com Geração Aumentada (RAG) para uma navegação eficiente entre arquivos. Projetada para flexibilidade, a ferramenta possibilita que usuários especifiquem dinamicamente os diretórios de busca em tempo de execução ou definam um diretório fixo durante a configuração inicial.

Instalação

Para utilizar o DirectorySearchTool, comece instalando o pacote crewai_tools. Execute o seguinte comando no seu terminal:

pip install 'crewai[tools]'

Inicialização e Uso

Importe o DirectorySearchTool do pacote crewai_tools para começar. Você pode inicializar a ferramenta sem especificar um diretório, permitindo definir o diretório de busca em tempo de execução. Alternativamente, a ferramenta pode ser inicializada já com um diretório predefinido.

Code
from crewai_tools import DirectorySearchTool

# Para especificação dinâmica de diretório em tempo de execução
tool = DirectorySearchTool()

# Para buscas em diretório fixo
tool = DirectorySearchTool(directory='/path/to/directory')

Argumentos

  • directory: Um argumento do tipo string que especifica o diretório de busca. Este parâmetro é opcional durante a inicialização, mas obrigatório para buscas caso não tenha sido definido inicialmente.

Modelo Personalizado e Embeddings

O DirectorySearchTool utiliza OpenAI para embeddings e sumarização por padrão. As opções de personalização dessas configurações incluem a alteração do provedor de modelo e configurações, ampliando a flexibilidade para usuários avançados.

Code
tool = DirectorySearchTool(
    config=dict(
        llm=dict(
            provider="ollama", # As opções incluem ollama, google, anthropic, llama2 e mais
            config=dict(
                model="llama2",
                # Configurações adicionais aqui
            ),
        ),
        embedder=dict(
            provider="google", # ou openai, ollama, ...
            config=dict(
                model="models/embedding-001",
                task_type="retrieval_document",
                # title="Embeddings",
            ),
        ),
    )
)