AndreaDR79/dnd-rag
0
D&D 5e — Agentic RAG
Agentic RAG (Corrective RAG) sul Manuale del Giocatore di D&D 5e, costruito con LangGraph.
Invece di un RAG lineare (cerca → genera), un grafo a stati dove l'agente:
- recupera documenti (hybrid search FAISS + BM25, fusione RRF)
- valuta se sono rilevanti (LLM con output strutturato Pydantic)
- se non lo sono, riformula la domanda e ricerca di nuovo (loop, con guardia anti-loop)
- genera la risposta dal contesto
Stack
- LangGraph — grafo ciclico con stato condiviso e routing condizionale
- Gemma 4 31B (via Google AI) — generazione e giudizio
- intfloat/multilingual-e5-large — embeddings (prefissi
query:/passage:) - FAISS + BM25 — hybrid search con EnsembleRetriever (RRF)
- Streamlit — interfaccia
Architettura del grafo
domanda → [recupera] → [valuta] → rilevante?
├── sì → [genera] → END
└── no → [riformula] → (torna a recupera, max N)Configurazione
Richiede il secret GOOGLE_API_KEY (impostato nelle Settings dello Space).
