Despre acest curs
C6 face trecerea de la regăsire semantică la generare cu context. În C5 am recuperat fragmente relevante din FAISS. În C6 folosim aceste fragmente împreună cu un rol discursiv pentru a genera un răspuns RAG. Accentul este pe mecanismul complet: context recuperat, rol, prompt, LLM și răspuns testabil în aplicație.
C5 selectează contextul. C6 transformă contextul recuperat într-un răspuns generat, cu rol discursiv.
Materiale
core/agent.py.Ce învățăm
- RAG complet: regăsire + generare.
- RAG cu rol: context + voce discursivă.
- Agent simplu = model + rol + context.
- Roluri definite în YAML: identificator, nume, prompt de sistem.
- LangChain minimal:
PromptTemplatereutilizabil. - Diferența dintre RAG simplu, RAG cu rol și Agentic RAG.
- Cum mutăm logica din notebook în
core/agent.pyșiapp/app.py.
Activități practice
- Creăm
assets/roles/role_XX.yaml. - Integrăm rolurile individuale în
assets/roles/roles.yaml. - Încărcăm FAISS și metadatele construite în C5.
- Recuperăm top-k fragmente pentru un input politic nou.
- Construim promptul manual și apoi îl refacem cu
PromptTemplate. - Generăm răspunsuri RAG pentru agentul ales.
- Testăm un mini-agent cu tool de regăsire.
- Conectăm logica la
core/agent.py. - Verificăm tab-ul Agent RAG din
app/app.py.
Pipeline C6
C5 selectează contextul. C6 transformă contextul recuperat într-un răspuns generat, cu rol discursiv.
Concepte-cheie
| Nivel | Intrare | Ieșire | Observație |
|---|---|---|---|
| RAG simplu | input + context | răspuns | Generează cu context recuperat, fără rol discursiv explicit. |
| RAG cu rol | input + context + rol YAML | răspuns cu voce controlată | Este forma urmărită în C6. |
| Agentic RAG | input + decizii intermediare | răspuns + traseu orchestrat | Intră în C7, odată cu LangGraph. |
Livrabile C6
Individual
- 01
assets/roles/role_XX.yaml - 02
notebooks/student_XX/C6_01_rag_agent_response.ipynb
Echipă
- 03
assets/roles/roles.yaml - 04
core/agent.py - 05
app/app.py— tab minim Agent RAG
Opțional
- 06
outputs/c6_agent_responses/*.jsonl
GitHub Issues / Workflow
- creează
assets/roles/role_XX.yaml - definește identificator, nume și prompt de sistem
- păstrează rolul suficient de clar pentru testare RAG
- adaugă rolurile individuale în
assets/roles/roles.yaml - verifică identificatorii și compatibilitatea cu retriever-ul existent
- rulează
C6_01_rag_agent_response.ipynb - recuperează top-k fragmente similare pentru un input politic nou
- generează un răspuns cu rol și context
- mută logica principală în
core/agent.py - verifică încărcarea rolurilor și compatibilitatea cu retriever-ul din C5
- testează parametrii
provider,kșitemperature
- leagă backend-ul din
core/agent.pyde interfață - adaugă un tab minim Agent RAG în
app/app.py - afișează răspunsul agentului și contextul folosit
Legătura cu aplicația
assets/roles/role_XX.yaml → assets/roles/roles.yaml → core/agent.py → app/app.py → tab Agent RAG
C6 conectează notebook-ul la aplicație. Backend-ul este core/agent.py, iar interfața minimă este tab-ul Agent RAG din app/app.py. În C7, această piesă devine nod într-un flux LangGraph.
La finalul C6
La finalul C6, fiecare echipă are un prim agent RAG testabil: roluri YAML, regăsire FAISS, prompt structurat, răspuns generat și un tab minim în aplicație. Sistemul nu este încă Agentic RAG complet; orchestrarea cu LangGraph intră în C7.