Proposta de Projeto Final Integrado: “Enterprise RAG com Spring AI”
Objetivo: Desenvolver uma API corporativa inteligente utilizando RAG (Retrieval-Augmented Generation) para resolver uma dor real de acesso à informação dentro de um contexto específico, culminando na escrita de um artigo científico.
1. O Cenário de Aplicação (Livre Escolha)
A grande vantagem deste formato é que a arquitetura de software é igual para todos, mas o domínio de negócio e os dados são 100% de livre escolha de cada grupo. Isso garante que cada equipe tenha autonomia para resolver uma dor que achem interessante, gerando trabalhos e artigos complementares, mas inovadores por si só. Exemplos de cenários que os grupos podem abraçar: - Assistente Jurídico/Trabalhista: Um RAG alimentado pelas leis da CLT para responder dúvidas de funcionários de RH. - Buscador de Editais de Fomento: Um sistema que vasculha editais complexos da FAPEMIG/CNPq e responde se o aluno se enquadra nas regras para pedir bolsa. - Assistente de Agronomia: IA treinada em catálogos de solo e fertilizantes para aconselhar tratamento agrícola básico. - GovBot Municipal: IA treinada em cima das leis orgânicas e plano diretor da cidade, respondendo dúvidas do cidadão comum.
2. A Arquitetura Obrigatória (A Regra do Jogo)
Todo grupo deverá implementar a seguinte arquitetura técnica: 1. Base de Dados: Uma coleção curada de documentos reais (PDFs ou Textos) relativos ao problema. 2. Coração da IA (Colab/Python): Validação matemática e prototipação do RAG (prova de conceito). 3. Backend Corporativo (Java/Spring): Uma API REST em Java usando Spring Boot e Spring AI. O sistema deve receber chamadas HTTP, consultar um Banco de Dados Vetorial (como o ChromaDB local, Neo4j Vector ou PGVector) e fazer a requisição ao LLM (OpenAI ou Gemini API).
3. Cronograma de Entregas do Trabalho Prático
A avaliação do semestre não será uma prova final, mas sim o desenvolvimento iterativo do projeto. Regra de Ouro: Todas as entregas (código, relatórios e artefatos) deverão ocorrer exclusivamente por meio de repositórios no GitLab self-hosted da disciplina.
| Entrega | Semana | O que deve ser entregue | Peso na Nota |
|---|---|---|---|
| E1 | 5 | Definição e Repositório: O grupo cria o repositório no GitLab da disciplina, envia a proposta do problema no README e faz o commit dos PDFs/Documentos “limpos” e preparados. | 10 pts |
| E2 | 10 | Prova de Conceito (Python): Entrega de um Notebook no Colab comprovando que o RAG funciona na teoria. Busca semântica rudimentar rodando em Python puro com Langchain. | 20 pts |
| E3 | 14 | Microserviço Corporativo (Java): O código fonte do servidor Spring Boot completo. A API deve possuir um endpoint /chat que recebe um JSON com a pergunta e devolve a resposta do LLM baseada nos documentos via Spring AI. |
30 pts |
| E4 | 15 | Artigo Científico e Demoday: Um artigo formato SBC (4 a 6 páginas) relatando a metodologia, os prompts usados e métricas de acerto. Apresentação do software rodando ao vivo para a turma (Postman ou front-end). | 40 pts |
4. Estrutura Esperada do Artigo Científico (E4)
Como todos os grupos utilizarão a mesma arquitetura de software (Spring AI + RAG), a escrita do artigo se torna quase uma “fábrica” padronizada. O professor orienta a estrutura metodológica uma única vez: 1. Introdução: O problema escolhido (ex: dificuldade de entender o regimento acadêmico). 2. Fundamentação: O que é RAG, Embeddings e a vantagem do ecossistema corporativo Java (Spring AI). 3. Metodologia: Como os dados foram preparados (Chunking), qual VectorDB foi utilizado, e diagramação da arquitetura REST. 4. Resultados e Discussões: Testes com perguntas difíceis. Avaliação empírica: a IA alucinou? Respondeu de acordo com o documento? Qual foi o tempo de resposta do endpoint Java? 5. Conclusão: Impacto esperado do uso de IAs generativas no domínio escolhido.