reichaves commited on
Commit
4e7f38e
·
unverified ·
1 Parent(s): e6a166c

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +125 -2
README.md CHANGED
@@ -1,2 +1,125 @@
1
- # chatbotmaritacaai
2
- Chatbot com modelo IA especializado em Português do Brasil - entrevista PDFs
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Chatbot-with-MaritacaAI-for-PDFs
3
+ emoji: 📚
4
+ colorFrom: indigo
5
+ colorTo: blue
6
+ sdk: streamlit
7
+ sdk_version: 1.28.0
8
+ app_file: app.py
9
+ pinned: false
10
+ ---
11
+
12
+ # Chatbot with MaritacaAI for PDFs
13
+
14
+ [![Hugging Face Spaces](https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Spaces-blue)](https://huggingface.co/spaces/reichaves/Chatbot-with-MaritacaAI-for-PDFs)
15
+ [![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://chatbotmaritacaai-jkiyzmcjcuvduw5dzymwu5.streamlit.app/)
16
+
17
+ Este projeto implementa um sistema de Recuperação de Informações Aumentada por Geração (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.
18
+
19
+ ## Autor
20
+
21
+ Reinaldo Chaves ([email protected])
22
+
23
+ ## Características
24
+
25
+ - Interface de usuário Streamlit com tema dark e layout responsivo
26
+ - Upload e processamento de múltiplos arquivos PDF
27
+ - Processamento de documentos usando LangChain e FAISS
28
+ - Geração de respostas usando o modelo sabia-3 da Maritaca AI especializado em Português do Brasil
29
+ - Embeddings de texto usando o modelo all-MiniLM-L6-v2 do Hugging Face
30
+ - Histórico de chat persistente para manter o contexto da conversa
31
+ - Barra lateral com orientações importantes para o usuário
32
+ - Contagem de tokens por resposta
33
+ - Formatação especial para documentos jurídicos e pedidos LAI
34
+
35
+ ## Requisitos
36
+
37
+ - Python 3.7+
38
+ - Streamlit
39
+ - LangChain
40
+ - FAISS
41
+ - PyPDF2
42
+ - MaritalkAI
43
+ - HuggingFace Embeddings
44
+ - Outras dependências listadas em `requirements.txt`
45
+
46
+ ## Instalação
47
+
48
+ 1. Clone este repositório:
49
+ ```
50
+ git clone https://github.com/reichaves/rag_chat_llama3.git
51
+ cd rag_chat_llama3
52
+ ```
53
+
54
+ 2. Instale as dependências:
55
+ ```
56
+ pip install streamlit langchain langchain_huggingface maritalk faiss-cpu tenacity cachetools
57
+ ```
58
+
59
+ 3. Configure as chaves de API necessárias:
60
+ - Chave da API Maritaca AI (https://plataforma.maritaca.ai/)
61
+ - Token da API Hugging Face (https://huggingface.co/docs/hub/security-tokens)
62
+
63
+ ## Uso
64
+
65
+ 1. Execute o aplicativo Streamlit:
66
+ ```
67
+ streamlit run app.py
68
+ ```
69
+
70
+ 2. Abra o navegador e acesse o endereço local mostrado no terminal.
71
+ 3. Insira suas chaves de API quando solicitado.
72
+ 4. Faça upload de um ou mais arquivos PDF.
73
+ 5. Faça perguntas sobre o conteúdo dos documentos na caixa de entrada de texto.
74
+
75
+ ## Como funciona
76
+
77
+ 1. **Upload de Documentos**: Os usuários fazem upload de arquivos PDF, que são processados e divididos em chunks menores.
78
+ 2. **Criação de Embeddings**: O texto é convertido em embeddings usando o modelo all-MiniLM-L6-v2 do Hugging Face.
79
+ 3. **Armazenamento de Vetores**: Os embeddings são armazenados em um banco de dados FAISS para recuperação eficiente.
80
+ 4. **Processamento de Perguntas**: As perguntas dos usuários são contextualizadas com base no histórico do chat.
81
+ 5. **Recuperação de Informações**: O sistema recupera os chunks de texto mais relevantes com base na pergunta.
82
+ 6. **Geração de Respostas**: O modelo sabia-3 da Maritaca AI gera uma resposta em Português do Brasil com base nos chunks recuperados e na pergunta.
83
+ 7. **Manutenção do Histórico**: O histórico do chat é mantido para fornecer contexto em conversas contínuas.
84
+
85
+ ## Funcionalidades Especiais
86
+
87
+ - Formatação especial para análise de documentos jurídicos
88
+ - Processamento detalhado de documentos da Lei de Acesso à Informação (LAI)
89
+ - Sistema de cache para melhor performance
90
+ - Tratamento de erros robusto
91
+ - Interface adaptativa que mantém o contexto da conversa
92
+
93
+ ## Avisos Importantes
94
+
95
+ - Não compartilhe documentos contendo informações sensíveis ou confidenciais
96
+ - As respostas geradas pela IA podem conter erros ou imprecisões
97
+ - Sempre verifique as informações com as fontes originais
98
+ - Este projeto é para fins educacionais e de demonstração
99
+ - Use com responsabilidade e em conformidade com as políticas de uso das APIs
100
+
101
+ ## Contribuições
102
+
103
+ Contribuições são bem-vindas! Por favor:
104
+ 1. Faça um fork do projeto
105
+ 2. Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)
106
+ 3. Commit suas mudanças (`git commit -m 'Add some AmazingFeature'`)
107
+ 4. Push para a branch (`git push origin feature/AmazingFeature`)
108
+ 5. Abra um Pull Request
109
+
110
+ ## Licença
111
+
112
+ [MIT License](LICENSE)
113
+
114
+ ## Citação
115
+
116
+ Se você usar este projeto em sua pesquisa ou aplicação, por favor cite:
117
+
118
+ ```
119
+ @software{chatbot-maritacaai-pdfs,
120
+ author = {Reinaldo Chaves},
121
+ title = {Chatbot with MaritacaAI for PDFs},
122
+ year = {2024},
123
+ url = {https://github.com/reichaves/rag_chat_llama3}
124
+ }
125
+ ```