Pular para o conteúdo

Pesquisa RAG em DOCX

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.

Instale o pacote crewai_tools executando o seguinte comando no seu terminal:

Terminal window
uv pip install docx2txt 'crewai[tools]'

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 DOCX
tool = DOCXSearchTool()
# OU
# Inicialize a ferramenta com um arquivo DOCX específico,
# assim o agente só poderá buscar dentro do conteúdo do arquivo DOCX especificado
tool = DOCXSearchTool(docx='path/to/your/document.docx')

Os seguintes parâmetros podem ser usados para customizar o comportamento da DOCXSearchTool:

ArgumentoTipoDescrição
docxstringOpcional. 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.

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