Sistema de resposta a perguntas em PDF usando geração de recuperação upmentada (RAG)
Este projeto é um sofisticado sistema de resposta a perguntas, projetado para extrair e fornecer respostas com reconhecimento de contexto dos documentos em PDF. Ao integrar técnicas avançadas de geração de recuperação de recuperação (RAG) e modelos de IA de última geração, o sistema permite que os usuários interajam com seus documentos de maneira mais eficiente e inteligente.
Casos de uso
- Pesquisa acadêmica : extrair rapidamente idéias de trabalhos de pesquisa, relatórios ou estudos.
- Análise Profissional : Navegue por contratos longos, whitepapers ou manuais com facilidade.
- Uso diário : simplifique as interações com documentos densos ou complexos em PDF.
Principais recursos
- Processamento em PDF : Carregue e processe documentos em PDF para análise.
- Perguntas e respostas interativas : Digite perguntas de linguagem natural e receba respostas precisas com base no conteúdo do documento.
- Recuperação avançada : usa a indexação baseada em vetores e a pontuação de similaridade para uma recuperação precisa de conteúdo.
- Interface amigável : um aplicativo da web criado com o streamlit garante facilidade de uso e acessibilidade.
Tecnologias usadas
Frontend: Back -end de streamlit: Python Machine Learning: Huggingface Transformers para geração de texto VectorStoreIndex para indexação de documentos Custom Retriever e pós -processador para melhorar a precisão
Instalação e configuração
- Clone o repositório :
git clone https://github.com/your-repo-name.git
cd your-repo-name
- Execute o aplicativo: Inicie o aplicativo Streamlit:
Carregue um PDF e comece a consultar
- Carregue o arquivo PDF desejado através da interface do aplicativo.

- Insira perguntas e recupere respostas contextualmente precisas.

Como funciona
Processamento em PDF :
- O sistema lê e processa o PDF carregado, dividindo -o em pedaços gerenciáveis para indexação.
Recuperação de informações :
- O conteúdo indexado é recuperado usando incorporação avançada e pontuação de similaridade.
Geração de respostas :
- Um modelo de idioma pré-treinado gera respostas com reconhecimento de contexto e conciso com base no conteúdo recuperado.
Pilha de tecnologia
- Front -end : simplitam para uma experiência interativa e intuitiva do usuário.
- Back -end :
- Transformadores de Huggingface para compreensão e geração da linguagem natural.
- Recuperação baseada em vetores usando incorporações personalizadas.
- Linguagem de programação : Python.
Visão geral do código
app.py
- Um aplicativo Streamlit que fornece a interface do usuário.
- Lida com uploads em PDF, entradas de perguntas e exibe respostas.
rag.py
- Implementa a lógica do rano principal:
- Processamento em PDF : lê e divide o PDF em pedaços gerenciáveis.
- Indexação : cria um índice vetorial para recuperação eficiente de conteúdo.
- Motor de consulta : usa um retriever e pós -processador para responder a perguntas.
- Geração de resposta : gera respostas detalhadas usando um modelo de transformador.
Instruções de uso
- Carregue um arquivo PDF.
- Aguarde o sistema processar o documento.
- Digite sua pergunta e clique em "obter resposta".
- Veja a resposta gerada pelo sistema.
Aprimoramentos futuros
- Suporte a vários documentos : Ative a consulta em vários arquivos PDF.
- Suporte de várias linguagens : adicione suporte ao processamento de documentos em vários idiomas.
- Suporte à GPU : Implemente a aceleração da GPU para os tempos de processamento e resposta mais rápidos.
- Formatos adicionais : expanda o suporte a outros formatos de documentos, como DOCX e TXT.
- UI aprimorada : melhore a interface do usuário com os recursos avançados de análise e visualização.
Contribuindo
Congratulamo -nos com contribuições da comunidade. Para contribuir:
- Fork o repositório.
- Crie um ramo de recursos.
- Envie uma solicitação de tração detalhando sua contribuição.
Para quaisquer problemas ou sugestões, abra uma discussão ou questão no repositório.
Licença
Este projeto está licenciado sob a licença do MIT. Sinta -se à vontade para usar, modificar e distribuí -lo em conformidade com os termos da licença.
Contato
Para consultas ou mais informações, entre em contato com o rastreador ou email de emissão do repositório (se aplicável).