Despre acest curs
Scopul cursului este să construim prima jumătate a unui sistem RAG: curățăm o bulă discursivă, generăm embeddings cu un model multilingv, construim un index FAISS local și testăm regăsirea semantică prin top-k rezultate.
În C5 sistemul nu generează răspunsuri. Sistemul caută fragmente relevante. C6 va folosi aceste fragmente ca input pentru generare.
Materiale
data/bubbles/ sunt curate.Ce facem în C5
- Separăm recuperarea de generare în logica RAG.
- Explorăm
data/typed/corpus_typed.json. - Alegem o bulă discursivă / un agent.
- Curățăm textele slabe și exportăm
data/bubbles/<agent_slug>.jsonl. - Transformăm textele în reprezentări (embeddings) cu
paraphrase-multilingual-MiniLM-L12-v2. - Construim un index FAISS local.
- Salvăm
index.faissșiindex.pkl. - Testăm manual regăsirea semantică prin top-k rezultate.
Pipeline C5
RAG în două etape
C5 — Retrieval
→ Embeddings
→ FAISS
→ Top-k
→ Context
C6 — Generation
→ Prompt
→ LLM
→ Răspuns
FAISS în EchoChamber
data/bubbles/<agent_slug>.jsonl → embeddings normalize_embeddings=True → faiss.IndexFlatIP(dim) → assets/vectorstores/<agent_slug>/index.faiss → assets/vectorstores/<agent_slug>/index.pkl
index.faiss păstrează vectorii. index.pkl păstrează textele și metadatele.
Livrabile C5
Date
- 01
data/typed/corpus_typed.json - 02
data/bubbles/<agent_slug>.jsonl
Notebook-uri
- 03
notebooks/student_XX/C5_01_explore_typed_corpus.ipynb - 04
notebooks/student_XX/C5_02_build_vectorstore.ipynb
Vectorstore
- 05
assets/vectorstores/<agent_slug>/index.faiss - 06
assets/vectorstores/<agent_slug>/index.pkl
Script
- 07
scripts/build_vectorstore.py
GitHub Issues / Workflow
- adaugă
data/typed/corpus_typed.json - adaugă
scripts/build_vectorstore.py - verifică structura folderelor pentru C5
- fiecare student lucrează în
notebooks/student_XX/ - alege un agent / o bulă discursivă
- inspectează textele; elimină exemplele slabe
- exportă
data/bubbles/<agent_slug>.jsonl
- încarcă fișierul
.jsonlcurățat - generează embeddings cu
paraphrase-multilingual-MiniLM-L12-v2 - construiește indexul FAISS
- salvează
index.faissșiindex.pkl - face un test de regăsire semantică top-k
Legătura cu C6
C4: comentarii → adnotare → axe → tipologii C5: corpus typed → embeddings → retrieval → context automat C6: context recuperat → prompt → LLM → răspuns
C6 pornește de la vectorstore-ul construit în C5. În C6 adăugăm stratul de generation: contextul recuperat este trimis ca input unui LLM, iar răspunsul este generat pe baza fragmentelor relevante din corpus.
Resurse
RAG și retrieval