AI Engineering · ADC 2026 · C6

Curs 6 — RAG și agenți simpli: de la context la răspuns

C5 a construit regăsirea semantică. C6 adaugă rolul discursiv, promptul structurat și generarea cu LLM.

În C6 transformăm vectorstore-ul construit în C5 într-un prim agent RAG funcțional. Agentul primește un text politic nou, recuperează fragmente similare din corpus, aplică un rol discursiv definit în YAML și generează un răspuns cu LLM. Introducem LangChain minimal prin PromptTemplate și pregătim trecerea spre LangGraph în C7.

Curs AI Engineering Program ADC 2026 Limbă Română Sesiune C6

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.

Slides C6
Slide-urile C6 introduc primul agent RAG funcțional: roluri YAML, prompt structurat, integrare minimă LangChain și conectarea logicii la aplicație.
Notebook C6
Notebookul individual pentru primul răspuns RAG cu rol: input politic nou, top-k fragmente similare, prompt structurat și rezultat generat.
C6_01_rag_agent_response.ipynb
Tutorial LangChain
Tutorial HTML separat pentru introducerea în LangChain: componentele principale, LCEL, retrieval, prompturi și legătura cu agentul RAG din C6.
materiale/langchain_tutorial.html
Starter agent
Starterul pentru logica RAG minimală: încărcare roluri YAML, recuperare din retriever, construire prompt și apel LLM din core/agent.py.
materiale/agent.py
input politic nou FAISS top-k comentarii similare rol YAML PromptTemplate LLM răspuns agent

C5 selectează contextul. C6 transformă contextul recuperat într-un răspuns generat, cu rol discursiv.

RAG cu rol
Context recuperat + rol discursiv + generare controlată. Nu folosim doar fragmente similare, ci și o voce clară definită în YAML.
Agent RAG simplu
O funcție fără memorie care primește input + agent și returnează răspuns + contextul folosit pentru acel răspuns.
LangChain
Nu face modelul mai inteligent; standardizează șablonul de prompt și îl face reutilizabil în notebook și în aplicație.
Agentic RAG
Intră în C7. Agentul va decide când caută, cum verifică și cum orchestrează pașii, nu doar cum generează un răspuns.
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.

Individual

Echipă

Opțional

C6 — RAG cu rol, prompt structurat și agent minim
C6.1 C6.1 - Define one agent role individual
  • creează assets/roles/role_XX.yaml
  • definește identificator, nume și prompt de sistem
  • păstrează rolul suficient de clar pentru testare RAG
C6.2 C6.2 - Integrate individual roles into roles.yaml echipă
  • adaugă rolurile individuale în assets/roles/roles.yaml
  • verifică identificatorii și compatibilitatea cu retriever-ul existent
C6.3 C6.3 - Build one RAG agent response individual
  • 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
C6.4 C6.4 - Review core/agent.py and check retriever compatibility echipă
  • mută logica principală în core/agent.py
  • verifică încărcarea rolurilor și compatibilitatea cu retriever-ul din C5
  • testează parametrii provider, k și temperature
C6.5 C6.5 - Add minimal Agent RAG tab to the app echipă
  • leagă backend-ul din core/agent.py de interfață
  • adaugă un tab minim Agent RAG în app/app.py
  • afișează răspunsul agentului și contextul folosit
c6_application_path.txt
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, 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.