O Projeto LLMUcamp Chatbot é projetado para fornecer um chatbot interativo para responder perguntas sobre o Vestibular da UNICAMP 2025. O projeto utiliza várias bibliotecas e ferramentas, incluindo Streamlit para a interface web, LangChain para processamento de linguagem natural e Chroma para gerenciamento de vectorstores.
O relatório de desenvolvimento do projeto, contendo alguns detalhes da implementação e a análise dos testes, pode ser acessado aqui: Relatório
fabfile.py
- Contém tasks para configurar o ambiente e executar o chatbot tanto em modo CLI ou em modo web com Streamlit.source/utils.py
- Fornece algumas funções auxiliares para o chatbot como o gerenciamento de VectorStores do LangChain.source/LLMUcamp.py
- Define a classeLLMUcamp
para lidar com interações do chatbot e recuperação de embeddings.streamlit_app.py
- Implementa a interface web Streamlit para o chatbot.
Certifique-se de que você tem Python 3.8+ e pip
instalados. Em seguida basta baixar o .zip desse repositório ou o clonar com o comando:
git clone https://github.com/nPr0nn/LLMUcamp.git
Dentro da pasta LLMUcamp. Instale os pacotes Python necessários usando:
pip install -r requirements.txt
Execute a tarefa setup
para inicializar configurar o ambiente:
fab setup
Esse comando irá:
- Criar um arquivo
.env
com as variáveis de ambienteGROQ_API_KEY
eRAG_URL
caso o arquivo.env
não exista. A chave de acesso para o API do Groq (GROQ_API_KEY
) será requisitada ao usuário na primeira execução desse comando e ela será guardada apenas localmente no arquivo.env
. - Inicializar a VectorStore com os embeddings referentes à página determinada na url
RAG_URL
. Por padrão essa página é https://www.pg.unicamp.br/norma/31879/0 que contém a publicação da Resolução GR-029/2024, de 10/07/2024 que "Dispõe sobre o Vestibular Unicamp 2025 para vagas no ensino de Graduação".
Para iniciar a interface de linha de comando do chatbot, use a tarefa runCLI:
fab runCLI
Chabot funcionando no terminal:
Para iniciar a interface web do chatbot, use a tarefa runWeb:
fab runWeb
Chatbot no Streamlit - Imagem 01:
Chatbot no Streamlit - Imagem 02:
Para avaliar o chatbot foi desenvolvido 2 conjuntos de teste. O primeiro contendo 100 perguntas geradas pelo ChatGPT acerca do vestibular da Unicamp. E o segundo contendo 10 perguntas criadas por um ser humano. Ambos os conjuntos estão em arquivos .txt na pasta tests_data/
5F7F
questions
. Ao rodar o comando abaixo cada uma das perguntas será passada ao chatbot e as respostas serão salvas na pasta tests_data/answers
fab test
Caso deseje adicionar suas próprias perguntas basta criar um arquivo .txt com elas dentro da pasta tests_data/questions
(precisam estar numeradas)
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.
Para quaisquer dúvidas ou problemas, entre em contato :)
- Lucas Nogueira Roberto
- Email: lucasnogueira064@gmail.com
- LinkedIn: lucas-nogueira