Introdução à Inteligência Artificial | Universidade do Minho
O FS Rules AI é um Agente de Conhecimento baseado em RAG (Retrieval-Augmented Generation), desenhado para auxiliar equipas de Formula Student a navegar na complexidade dos regulamentos técnicos e desportivos (FS Rules 2026).
O sistema permite fazer perguntas em linguagem natural e receber respostas fundamentadas, extraídas diretamente do documento oficial, garantindo precisão técnica e rapidez.
- 🧠 RAG (Retrieval-Augmented Generation): O sistema não "alucina" respostas; consulta o PDF oficial, vetoriza o conteúdo e gera respostas baseadas apenas nas regras reais.
- 🔒 Privacidade & Offline (Local LLM): Executado 100% localmente via Ollama, sem necessidade de internet ou envio de dados para APIs externas.
- 💬 Interface Web Interativa: Chatbot desenvolvido em Flask, com histórico de conversa para manter o contexto das perguntas anteriores.
- 📄 Citações Precisas: O modelo é instruído a justificar as respostas com base nos artigos específicos do regulamento.
| Componente | Tecnologia | Detalhe |
|---|---|---|
| Backend | Python & Flask | Servidor da aplicação e gestão de rotas. |
| LLM Inference | Ollama | Execução local de modelos. |
| Modelo Generativo | gemma3:12b-it-qat |
Modelo quantizado da Google, otimizado para instruções. |
| Embeddings | nomic-embed-text |
Transformação do texto do PDF em vetores pesquisáveis. |
| Processamento | pdfplumber |
Extração de texto do regulamento. |
| Frontend | HTML5, CSS3, JS | Interface de chat responsiva. |
Certifique-se de que tem o Ollama instalado e a correr. No terminal, descarregue os modelos necessários:
ollama pull nomic-embed-text
ollama pull gemma3:12b-it-qat# Criar o ambiente com Conda
conda env create -f env.yml
# Ativar o ambiente
conda activate fs-rules-aiGaranta que o ficheiro do regulamento (FS-Rules.pdf) está colocado na pasta: 📂 document/
- Certifique-se de que o ficheiro
FS-Rules.pdfestá na pastadocument/. - Inicie a aplicação:
python app.py- Aceda no browser a: http://127.0.0.1:5000
- [Guilherme Pinto] - [PG60225@alunos.uminho.pt]
- [Pedro Reis] - [PG59908@alunos.uminho.pt]
- [Luís Silva] - [PG60390@alunos.uminho.pt]
- [João Azevedo] - [PG61693@alunos.uminho.pt]
Este trabalho é de cariz estritamente académico. Universidade do Minho, Escola de Engenharia, Departamento de Informática.