# Agente Tutor de Matemática – RAG Agentic com Ciclo de Feedback

> Arquitetura de Fluxo.

- Fonte: https://doutorai.pt/apps/agentic-rag-math-agent
- Categoria: RAG e Conhecimento
- Dificuldade: Médio
- Modelos: OpenAI, Llama
- Frameworks: LlamaIndex
- Corre local?: Precisa de APIs cloud
- Chaves necessárias: OPENAI_API_KEY, TAVILY_API_KEY
- Licença: Apache-2.0
- Site: Doutor AI (https://doutorai.pt) - ferramentas de IA para pequenos negócios em português

## Tutorial completo

# 🧠 Agente Tutor de Matemática – RAG Agente com Ciclo de Feedback

Este projeto implementa uma **arquitetura Agentic-RAG** para simular um professor de matemática que resolve **questões de matemática ao nível do JEE** com explicações passo a passo. O sistema encaminha inteligentemente as consultas entre uma base de dados vetorial e uma pesquisa na web, aplica guardrails de entrada/saída e incorpora feedback humano para aprendizagem contínua.

## 📌 Funcionalidades

- ✅ **Guardrails de Entrada** (DSPy): Aceita apenas questões académicas de matemática.
- 📚 **Pesquisa na Base de Conhecimento**: Utiliza **Qdrant Vector DB** com OpenAI Embeddings para corresponder a questões conhecidas.
- 🌐 **Fallback Web**: Integra a **API Tavily** quando não é encontrada uma boa correspondência.
- ✍️ **Explicações GPT-4.1**: Gera soluções matemáticas passo a passo.
- 🛡️ **Guardrails de Saída**: Filtra por correção e segurança.
- 👍 **Feedback Humano no Ciclo**: Os utilizadores classificam as respostas (Sim/Não), registadas para aprendizagem futura.
- 📊 **Benchmarking**: Avaliado no conjunto de dados **JEEBench** com limites de questões ajustáveis.
- 💻 **Interface Streamlit**: Painel interativo com múltiplas abas.

## 🚀 Fluxo da Arquitetura
<img width="465" alt="Screenshot 2025-05-04 at 3 45 58 PM" src="https://github.com/user-attachments/assets/c0a9e612-2ef0-413c-b779-c99fe9f48619" />


## 📚 Base de Conhecimento

- **Conjunto de Dados:** [JEEBench (HuggingFace)](https://huggingface.co/datasets/daman1209arora/jeebench)
- **Base de Dados Vetorial:** Qdrant (com OpenAI Embeddings)
- **Armazenamento:** Construído com `llama-index` para persistir embeddings e realizar pesquisa de similaridade top-1

## 🌐 Pesquisa na Web

- Utiliza a **API Tavily** para pesquisa de fallback quando a KB não contém uma boa correspondência
- O conteúdo obtido é enviado para **GPT-4o** para uma explicação clara


## 🔐 Guardrails

- **Guardrail de Entrada (DSPy):** Aceita apenas questões académicas relacionadas com matemática
- **Guardrail de Saída (DSPy):** Bloqueia conteúdo alucinado ou fora do tópico


## 👨‍🏫 Feedback Humano no Ciclo

- A interface Streamlit permite que os alunos deem 👍 / 👎 após verem a resposta
- O feedback é registado num ficheiro JSON local para melhorias futuras

## 📊 Benchmarking

- Avaliado em **50 questões aleatórias de Matemática do JEEBench**
- **Precisão Atual:** 66%
- Resultados do benchmark guardados em: `benchmark/results.csv`


## 🚀 Demonstração 

Para executar a aplicação com Streamlit:

```bash
streamlit run app/streamlit.py
```

## Poupe horas todas as semanas com IA, sem complicações

O **Doutor AI** dá-lhe 1859 prompts de IA prontos a copiar, por indústria e em português simples - mais uma biblioteca técnica completa para quem quer ir mais longe. [Ver planos →](https://doutorai.pt/precos)

---
Conteúdo de Doutor AI (https://doutorai.pt). Ao citar, indique a fonte: https://doutorai.pt/apps/agentic-rag-math-agent
