https://github.com/usp-open-code/icmc-open-chatbot
Este projeto tem como objetivo desenvolver um chatbot para ajudar alunos a navegarem pelos serviços oferecidos pela universidade. O chatbot utiliza as tecnologias LlamaIndex, Llama3 e RAG (Retrieval-Augmented Generation) para fornecer respostas precisas e contextualizadas, integrando informações institucionais de maneira eficiente.
https://github.com/usp-open-code/icmc-open-chatbot
icmc llama llm projeto
Last synced: 3 months ago
JSON representation
Este projeto tem como objetivo desenvolver um chatbot para ajudar alunos a navegarem pelos serviços oferecidos pela universidade. O chatbot utiliza as tecnologias LlamaIndex, Llama3 e RAG (Retrieval-Augmented Generation) para fornecer respostas precisas e contextualizadas, integrando informações institucionais de maneira eficiente.
- Host: GitHub
- URL: https://github.com/usp-open-code/icmc-open-chatbot
- Owner: USP-Open-Code
- License: mit
- Created: 2024-10-10T05:30:17.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-28T23:28:08.000Z (about 1 year ago)
- Last Synced: 2025-05-29T00:32:41.084Z (about 1 year ago)
- Topics: icmc, llama, llm, projeto
- Language: Python
- Homepage:
- Size: 190 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Bot de Notícias










## Sobre o Projeto
É aplicação conversacional baseada em um grafo que utiliza a técnica de Retrieval-Augmented Generation (RAG), com um nó adicional de correção. Antes de gerar uma resposta com base em um documento semanticamente semelhante, o sistema avalia seu contexto, garantindo maior precisão e coerência.
O sistema adota uma arquitetura em camadas (Layered Architecture), utilizando FastAPI como framework principal para a API REST. O armazenamento é dividido entre ChromaDB, responsável pela gestão dos arquivos usados no RAG, e MongoDB, que armazena os logs da aplicação.
O processamento de linguagem natural é realizado por meio do LangChain e LangGraph, que orquestram os agentes e implementam a lógica baseada em grafos. Toda a infraestrutura é containerizada com Docker e Docker Compose, garantindo facilidade de implantação e escalabilidade.
A API e os containers já estão configurados. Para iniciar a aplicação, basta executar:
```bash
# BUILDAR E EXECUTAR O PROJETO
docker-compose -f docker/docker-compose.yml --env-file .env up --build
```
PS: Não se esqueça de alterar os [Prompts](src/services/crag/prompts.py).
## O grafo
```mermaid
graph TD
__start__([__start__
]):::first
find_references(find_references)
agent(agent)
tools(tools)
crag(crag)
generate(generate)
__end__([__end__
]):::last
crag -->generate;
find_references --> generate;
generate --> __end__;
tools --> crag;
__start__ -. general .-> agent;
__start__ -. specific .-> find_references;
agent -. continue .-> tools;
agent -. end .-> __end__
```
## Autor
**[@CuriousGu](https://www.github.com/CuriousGu) 🇧🇷**
## Docs
1. [Estrutura](docs/pt_br/ESTRUTURA.md)
2. [Instalação](docs/pt_br/INSTALACAO.md)
3. [Configurações](docs/pt_br/CONFIGURACAO.md)
4. [API](docs/pt_br/API.md)
5. [Contribuição](docs/pt_br/CONTRIBUICAO.md)
## Licença
Este projeto está sob a licença MIT, sinta-se a vontade para usar.
Veja o arquivo [LICENSE](LICENSE) para mais detalhes.
## Contatos
- Email: gustavo_ortega@usp.br
- Linkedin: [Gustavo M. Ortega](https://www.linkedin.com/in/gustavomendoncaortega/)