Pesquisa RAG em DOCX
DOCXSearchTool
Seção intitulada “DOCXSearchTool”Descrição
Seção intitulada “Descrição”A DOCXSearchTool é uma ferramenta RAG desenvolvida para buscas semânticas dentro de documentos DOCX.
Ela permite que os usuários pesquisem e extraiam informações relevantes de arquivos DOCX de forma eficiente, utilizando buscas baseadas em consultas.
Esta ferramenta é inestimável para análise de dados, gestão da informação e tarefas de pesquisa,
otimizando o processo de encontrar informações específicas em grandes coleções de documentos.
Instalação
Seção intitulada “Instalação”Instale o pacote crewai_tools executando o seguinte comando no seu terminal:
uv pip install docx2txt 'crewai[tools]'Exemplo
Seção intitulada “Exemplo”O exemplo a seguir demonstra a inicialização da DOCXSearchTool para buscar dentro do conteúdo de qualquer arquivo DOCX ou com o caminho de um arquivo DOCX específico.
from crewai_tools import DOCXSearchTool
# Inicialize a ferramenta para buscar dentro do conteúdo de qualquer arquivo DOCXtool = DOCXSearchTool()
# OU
# Inicialize a ferramenta com um arquivo DOCX específico,# assim o agente só poderá buscar dentro do conteúdo do arquivo DOCX especificadotool = DOCXSearchTool(docx='path/to/your/document.docx')Argumentos
Seção intitulada “Argumentos”Os seguintes parâmetros podem ser usados para customizar o comportamento da DOCXSearchTool:
| Argumento | Tipo | Descrição |
|---|---|---|
| docx | string | Opcional. Um argumento que especifica o caminho para o arquivo DOCX que você deseja pesquisar. Se não for fornecido durante a inicialização, a ferramenta permite a especificação posterior do caminho de qualquer arquivo DOCX para busca. |
Modelo e embeddings personalizados
Seção intitulada “Modelo e embeddings personalizados”Por padrão, a ferramenta utiliza o OpenAI tanto para embeddings quanto para sumarização. Para customizar o modelo, você pode usar um dicionário de configuração como no exemplo:
from chromadb.config import Settings
tool = DOCXSearchTool( config={ "embedding_model": { "provider": "openai", "config": { "model": "text-embedding-3-small", # "api_key": "sk-...", }, }, "vectordb": { "provider": "chromadb", # ou "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), } }, })