title | emoji | colorFrom | colorTo | sdk | sdk_version | app_file | pinned |
---|---|---|---|---|---|---|---|
Interview PDFs with opensource LLMs - Brazil documents |
📚 |
indigo |
blue |
streamlit |
1.28.0 |
app.py |
false |
Este projeto implementa um sistema de Retrieval-Augmented Generation (RAG) conversacional usando Streamlit, LangChain, e modelos de linguagem de grande escala. O aplicativo permite que os usuários façam upload de documentos PDF, façam perguntas sobre o conteúdo desses documentos, e mantenham um histórico de chat para contexto em conversas contínuas.
Reinaldo Chaves ([email protected])
- Interface de usuário Streamlit com tema dark
- Upload de múltiplos arquivos PDF
- Processamento de documentos usando LangChain e ChromaDB
- Geração de respostas usando o modelo llama-3.2-90b-text-preview da Meta
- Embeddings de texto usando o modelo all-MiniLM-L6-v2 do Hugging Face
- Histórico de chat para manter o contexto da conversa
- Barra lateral com orientações importantes para o usuário
- Python 3.7+
- Streamlit
- LangChain
- ChromaDB
- PyPDF2
- Transformers
- Outras dependências listadas em
requirements.txt
-
Clone este repositório:
git clone https://github.com/seu_usuario/seu_repositorio.git cd seu_repositorio
-
Instale as dependências:
pip install -r requirements.txt
-
Configure as variáveis de ambiente ou tenha em mãos:
- Chave da API Groq
- Token da API Hugging Face
-
Execute o aplicativo Streamlit:
streamlit run app.py
-
Abra o navegador e acesse o endereço local mostrado no terminal.
-
Insira suas chaves de API quando solicitado.
-
Faça upload de um ou mais arquivos PDF.
-
Faça perguntas sobre o conteúdo dos documentos na caixa de entrada de texto.
- Upload de Documentos: Os usuários fazem upload de arquivos PDF, que são processados e divididos em chunks menores.
- Criação de Embeddings: O texto é convertido em embeddings usando o modelo Hugging Face.
- Armazenamento de Vetores: Os embeddings são armazenados em um banco de dados ChromaDB para recuperação eficiente.
- Processamento de Perguntas: As perguntas dos usuários são contextualizadas com base no histórico do chat.
- Recuperação de Informações: O sistema recupera os chunks de texto mais relevantes com base na pergunta.
- Geração de Respostas: O modelo llama-3.2-90b-text-preview da Meta gera uma resposta com base nos chunks recuperados e na pergunta.
- Manutenção do Histórico: O histórico do chat é mantido para fornecer contexto em conversas contínuas.
- Não compartilhe documentos contendo informações sensíveis ou confidenciais.
- As respostas geradas pela IA podem conter erros ou imprecisões. Sempre verifique as informações importantes.
- Este projeto é para fins educacionais e de demonstração. Use com responsabilidade.
Contribuições são bem-vindas! Por favor, abra uma issue para discutir mudanças importantes antes de fazer um pull request.