PDF Resposta a perguntas com Gaia e Qdrant
O Gaia PDF RAG é uma aplicação RAG (Retrieval-Augmented Generation) que permite aos utilizadores colocar questões sobre documentos PDF utilizando um nó Gaia local e uma base de dados vetorial Qdrant. Combina o poder dos LLMs locais com uma pesquisa vetorial eficiente para fornecer respostas precisas e contextualizadas.
O código-fonte completo e as instruções detalhadas para configurar e executar este exemplo podem ser encontrados no repositório Gaia Cookbook.
O que pode aprender e construir:
Ao explorar e adaptar este exemplo, pode aprender a fazê-lo:
- Processar e fragmentar documentos PDF: Compreender as etapas envolvidas na divisão de ficheiros PDF em segmentos geríveis para uma recuperação eficaz.
- Implementar a pesquisa semântica com Qdrant: Veja como tirar partido de uma base de dados vetorial para uma pesquisa eficiente e contextualizada dos seus blocos de documentos.
- Integrar LLMs locais via Gaia: Saiba como se conectar ao seu nó Gaia local para utilizar o poder dos modelos de linguagem hospedados localmente para responder a perguntas.
- Aumentar a relevância com o Cross-Encoder Reranking: Descubra técnicas para refinar os resultados da pesquisa e melhorar a exatidão das informações recuperadas.
- Proporcionar uma experiência de utilizador sem falhas com respostas em fluxo contínuo: Implemente feedback em tempo real para os utilizadores à medida que a resposta é gerada.
- Garantir a fiabilidade com a citação inteligente de fontes: Saiba como fornecer referências claras aos documentos de origem para cada resposta.
- Atenuar alucinações com filtragem de relevância: Explore estratégias para filtrar informações irrelevantes e reduzir a probabilidade de respostas incorrectas.
- Criar um bot de perguntas e respostas personalizável para PDF: este exemplo fornece uma base sólida para personalizar e implantar seu próprio sistema de resposta a perguntas para documentos ou coleções de PDF específicos.
Principais caraterísticas demonstradas:
- 📑 Processamento e fragmentação de documentos PDF: Lida eficazmente com a extração e segmentação de conteúdos de ficheiros PDF.
- Pesquisa semântica com Qdrant: Alavanca a incorporação de vetores para recuperação inteligente de partes relevantes de documentos.
- Integração LLM local através do nó Gaia: Liga-se ao seu LLM em execução local para gerar respostas com base no contexto recuperado.
- ️ Reranking de codificadores cruzados para melhorar a relevância: Optimiza os resultados da pesquisa através da aplicação de um modelo de classificação mais sofisticado.
- 💨 Respostas em fluxo contínuo para uma melhor experiência do utilizador : proporciona uma experiência do utilizador mais interactiva e reactiva.
- Citação inteligente da fonte: Indica claramente os documentos de origem utilizados para gerar cada resposta.
- Filtragem da relevância para evitar alucinações: Aumenta a fiabilidade das respostas, filtrando as informações menos relevantes.
Começar a trabalhar:
Pré-requisitos
Antes de executar o Gaia RAG, certifique-se de que tem
- Um nó local de Gaia em execução (consulte esta ligação para saber como executar o seu próprio LLM local: https://docs.gaianet.ai/node-guide/quick-start)
- Servidor Qdrant em execução
- Python 3.8+
- Bibliotecas de sistema necessárias para o processamento de PDF
Instalação
- Clonar o repositório:
git clone https://github.com/harishkotra/gaia-pdf-rag.git
cd gaia-pdf-rag
- Criar um ambiente virtual:
python -m venv venv
source venv/bin/activate # No Windows use: venv\Scripts\activate
- Instalar dependências:
pip install -r requirements.txt
Configuração de componentes
1. Nó de Gaia
Iniciar o nó local de Gaia:
gaianet init
início da gaianet
2. Servidor Qdrant
Iniciar o Qdrant usando o Docker:
docker run -d -p 6333:6333 -p 6334:6334 \
-v $(pwd)/qdrant_storage:/qdrant/storage \
qdrant/qdrant
Executar a aplicação
-
Certifique-se de que o nó Gaia e o Qdrant estão a funcionar
-
Iniciar a aplicação Streamlit:
streamlit run app.py
- Abra o seu browser em
http://localhost:8501
Utilização
- Carregar um documento PDF utilizando a barra lateral
- Clique em "Processar documento" para o indexar
- Fazer perguntas no campo de entrada principal
- Ver respostas e documentos de referência relevantes
Configuração
É possível modificar os seguintes parâmetros em app.py
:
GAIA_NODE_URL
: URL do seu nó Gaia localQDRANT_HOST
: Anfitrião do servidor QdrantQDRANT_PORT
: Porta do servidor QdrantVECTOR_SIZE
: Tamanho da dimensão de incorporaçãoNOME_DA_COLECÇÃO
: Nome da coleção de bases de dados vectoriais
Estrutura do projeto
gaia-pdf-rag/
├── app.py # Aplicação principal do Streamlit
├─── requirements.txt # Dependências do Python
├─── .gitignore # Arquivo Gitignore
├─── README.md
O código-fonte completo e as instruções detalhadas para configurar e executar este exemplo podem ser encontrados no repositório Gaia Cookbook.