ЁЯУЦ рдзрдбрд╛ 10 тАФ RAG: рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд open-book рдкрд░реАрдХреНрд╖рд╛
ЁЯУН рддреБрдореНрд╣реА рдЗрдереЗ рдЖрд╣рд╛рдд: 12 рдкреИрдХреА рдзрдбрд╛ 10 ┬╖ рдорд╛рдЧреЗ: lesson-09-hallucinations ┬╖ рдкреБрдвреЗ: lesson-11-agents
ЁЯУж рдпрд╛ рдмреНрд░рдБрдЪрдордзреНрдпреЗ рдХрд╛рдп рдЖрд╣реЗ
рдзрдбреЗ 01тАУ09, рдЖрдгрд┐ рдЙрджреНрдпреЛрдЧрд╛рдд рд╕рд░реНрд╡рд╛рдд рдЬрд╛рд╕реНрдд deploy рдЭрд╛рд▓реЗрд▓рд╛ AI рдирдореБрдирд╛: Retrieval-Augmented Generation тАФ рдзрдбрд╛ 04 рдЪрд╛ рдмреИрдардХ-рддрдХреНрддрд╛ рдЖрдгрд┐ рдзрдбрд╛ 08 рдЪреЗ desk, рдПрдХрддреНрд░ рдХрд╛рдо рдХрд░рддрд╛рдирд╛.
ЁЯзТ 5 рд╡рд░реНрд╖рд╛рдВрдЪреНрдпрд╛ рдореБрд▓рд╛рд▓рд╛ рд╕рдордЬрд╛рд╡рд▓реНрдпрд╛рд╕рд╛рд░рдЦреЗ
рдкрд░реАрдХреНрд╖реЗрдЪреНрдпрд╛ рджреЛрди рдкрджреНрдзрддреА:
- рдмрдВрдж рдкреБрд╕реНрддрдХ ЁЯза: рдЖрдард╡рдгреАрддреВрди рдЙрддреНрддрд░ рджреНрдпрд╛. рдЖрдкрд▓реЗ рд╣реБрд╢рд╛рд░ рдореВрд▓ рдкреНрд░рд╕рд┐рджреНрдз рд╡рд┐рд╖рдпрд╛рдВрд╡рд░ рдареАрдХ рдХрд░рддреЗ рдЖрдгрд┐ рдкрд╛рддрд│ рд╡рд┐рд╖рдпрд╛рдВрд╡рд░ рдкреБрд╕реНрддрдХрд╛рдВрдЪреА рд╢реАрд░реНрд╖рдХреЗ рд░рдЪрддреЗ (рдзрдбрд╛ 09).
- рдЙрдШрдбреЗ рдкреБрд╕реНрддрдХ ЁЯУЦ: рдпреЛрдЧреНрдп рдкрд╛рдиреЗ desk рд╡рд░ рдЕрд╕рддрд╛рдд; рдореВрд▓ рд╡рд╛рдЪреВрди рдЙрддреНрддрд░ рджреЗрддреЗ. рдЦреВрдкрдЪ рдЬрд╛рд╕реНрдд рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ тАФ рдЖрдгрд┐ рддреЗ рдУрд│реАрд╡рд░ рдмреЛрдЯ рдареЗрд╡реВ рд╢рдХрддреЗ.
рдЕрдбрдЪрдг: рддреБрдордЪреНрдпрд╛ рдХрдВрдкрдиреАрдЪреЗ handbook 4,000 рдкрд╛рдирд╛рдВрдЪреЗ рдЖрд╣реЗ; desk (рдзрдбрд╛ 08!) рд╡рд░ рдЪрд╛рд│реАрд╕ рдорд╛рд╡рддрд╛рдд. рд╕рдВрдкреВрд░реНрдг рдкреБрд╕реНрддрдХ desk рд╡рд░ рдареЗрд╡рддрд╛ рдпреЗрдд рдирд╛рд╣реА. рдЖрддрд╛ рдпреЗрддреЛ рдмреИрдардХ-рддрдХреНрддрд╛ рдЕрд╕рд▓реЗрд▓рд╛ рдЧреНрд░рдВрдердкрд╛рд▓ тАФ RAG:
- рдкрд░реАрдХреНрд╖реЗрдЪреНрдпрд╛ рд╣рдВрдЧрд╛рдорд╛рдЖрдзреА (рдПрдХрджрд╛рдЪ): рдкреНрд░рддреНрдпреЗрдХ document рдЪреЗ chunks рдХрд░рд╛ рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рдЕрд░реНрде-рдЬрд╛рдЧрд╛ рджреНрдпрд╛ тАФ рдПрдХ embedding (рдзрдбрд╛ 04). рддреНрдпрд╛ рдЬрд╛рдЧрд╛ рдПрдХрд╛ vector database рдордзреНрдпреЗ рд╕рд╛рдард╡рд╛.
- рдкреНрд░рд╢реНрди рдЖрд▓реНрдпрд╛рд╡рд░: рдкреНрд░рд╢реНрдирд╣реА embed рдХрд░рд╛ тЖТ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рд░реНрд╡рд╛рдд рдЬрд╡рд│ рдмрд╕рд▓реЗрд▓реЗ chunks рд╢реЛрдзрд╛ (рд╕рд╛рд░рдЦрд╛ рдЕрд░реНрде = рдмрд╣реБрдзрд╛ рд╕рдВрдмрдВрдзрд┐рдд тАФ рд╢реБрджреНрдз рдзрдбрд╛-04 рдЪреА рднреВрдорд┐рддреА, keywords рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА).
- рдкреБрд╕реНрддрдХ рддреНрдпрд╛ рдкрд╛рдирд╛рдВрд╡рд░ рдЙрдШрдбрд╛: рд╡рд░рдЪреЗ chunks рдкреНрд░рд╢реНрдирд╛рд╢реЗрдЬрд╛рд░реА desk рд╡рд░ paste рдХрд░рд╛ тАФ "рдлрдХреНрдд рд╣реЗ рдЙрддрд╛рд░реЗ рд╡рд╛рдкрд░реВрди рдЙрддреНрддрд░ рджреНрдпрд╛, рдЖрдгрд┐ рдХреЛрдгрддрд╛ рдЙрддрд╛рд░рд╛ рддреЗ рд╣рд╡рд╛рд▓рд╛ рджреНрдпрд╛."
- рдореВрд▓ рдкрд╛рдирд╛рдВрд╡рд░реВрди рдЙрддреНрддрд░ рджреЗрддреЗ, рдкрд╛рд╡рддреНрдпрд╛рдВрд╕рд╣. ЁЯз╛
handbook рдордзреНрдпреЗ рдирд╡реЗ рдкрд╛рди? рдЖрдЬ рд░рд╛рддреНрд░реА re-index рдХрд░рд╛ тАФ рдЙрджреНрдпрд╛ рдореБрд▓рд╛рд▓рд╛ рддреЗ "рдорд╛рд╣реАрдд" рдЕрд╕рддреЗ. fine-tuning рд╢реА рддреБрд▓рдирд╛ рдХрд░рд╛ (рдзрдбрд╛ 07): рд╢рд┐рд╖реНрдЯрд╛рдЪрд╛рд░ рд╡рд░реНрдЧрд╛рдЪреЗ рдорд╣рд┐рдиреЗ FACTS рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рдкрдгреЗ рдЬреЛрдбреВ рд╢рдХрдд рдирд╛рд╣реАрдд. рдмрджрд▓рдгрд╛рд░реЗ рдХрд┐рдВрд╡рд╛ рдмрд╛рд╣реЗрд░рдЪреЗ facts тЖТ RAG; рд╕реНрдерд┐рд░ рд╡рд╛рдЧрдгреВрдХ рдХрд┐рдВрд╡рд╛ style тЖТ fine-tuning. рд╣рд╛ рдвреЛрдмрд│ рдирд┐рдпрдо рдЖрд╣реЗ тАФ рдХрд╛рдпрджрд╛ рдирд╛рд╣реА.
ЁЯЧ║я╕П рдЖрдХреГрддреА
flowchart LR
subgraph prep["1 before exam season - indexing, once"]
docs["ЁЯУЪ 4,000-page handbook"]
chunks["тЬВя╕П chunks"]
vdb["ЁЯЧ║я╕П vector DB<br/>every chunk gets a meaning-seat"]
docs --> chunks --> vdb
end
q["тЭУ question"]
near["ЁЯУН nearest seats =<br/>most relevant chunks"]
desk["ЁЯкС the desk:<br/>question + those chunks +<br/>'answer ONLY from these, cite'"]
a["тЬЕ grounded answer<br/>with receipts ЁЯз╛"]
q -->|"2 embed the question"| vdb
vdb -->|"3"| near --> desk -->|"4"| a
тЭУ рдХрд╛рдп
- Pipeline: chunk (рдЖрдХрд╛рд░/overlap рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ!) тЖТ embed тЖТ store тЖТ retrieve top-k тЖТ prompt рдордзреНрдпреЗ рднрд░рд╛ тЖТ рд╣рд╡рд╛рд▓реНрдпрд╛рдВрд╕рд╣ generate рдХрд░рд╛.
- Vector DB: рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рд╡рд░рдЪреЗ рдЬрд╛рдЧрд╛рдВрдЪреЗ рд╕рднрд╛рдЧреГрд╣ (pgvector, Pinecone, ChromaтАж) тАФ рд▓рд╛рдЦреЛ chunks рд╡рд░ рдЬрд▓рдж nearest-neighbor search. рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд╛рдкрд░рд╛рддреАрд▓ рдЯреАрдк: hybrid search (рдЕрд░реНрде + рдЬреБрдиреНрдпрд╛ рдкрджреНрдзрддреАрдЪреЗ keywords) рджреЛрдиреНрд╣реАрдВрдкреИрдХреА рдПрдХрдЯреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рд╕рд░рд╕; рдПрдХ reranker pass top-k рдЕрдзрд┐рдХ рдзрд╛рд░рджрд╛рд░ рдХрд░рддреЛ.
- рдХрдЪрд░рд╛-рдЖрдд рдирд┐рдпрдо: RAG рдЪреА рдЙрддреНрддрд░реЗ retrieval рдЗрддрдХреАрдЪ рдЪрд╛рдВрдЧрд▓реА рдЕрд╕рддрд╛рдд тАФ рдЬрд░ рдпреЛрдЧреНрдп chunk рдЖрдгрд▓рд╛ рдЧреЗрд▓рд╛ рдирд╛рд╣реА, рддрд░ model рдкреБрдиреНрд╣рд╛ рдмрдВрдж-рдкреБрд╕реНрддрдХрд╛рд╡рд░ рдпреЗрддреЛ (рдЖрдгрд┐ рдзрдбрд╛ 09 рдШрдбрддреЛ). retrieval рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рддрдкрд╛рд╕рд╛!
- рд╡рд┐рд░реБрджреНрдз fine-tuning: RAG = рддрд╛рдЬреЗ, рддрдкрд╛рд╕рддрд╛ рдпреЗрдгрд╛рд░реЗ, рдкреНрд░рддреНрдпреЗрдХ-рдкреНрд░рд╢реНрдирд╛рдЪреЗ рдЬреНрдЮрд╛рди; tuning = рдЖрдд рднрд╛рдЬрд▓реЗрд▓реА style/format. рд╡рд┐рд░реБрджреНрдз long context: рд╕рдЧрд│реЗ paste рдХрд░рдгреЗ рдПрдХрд╛ рдорд░реНрдпрд╛рджреЗрдкрд░реНрдпрдВрдд рдЪрд╛рд▓рддреЗ тАФ рдЦрд░реНрдЪ, latency рдЖрдгрд┐ lost-in-the-middle (рдзрдбрд╛ 08) рддреБрдореНрд╣рд╛рд▓рд╛ рдкреБрдиреНрд╣рд╛ retrieval рдХрдбреЗ рдЖрдгрддрд╛рдд.
ЁЯдФ рдХрд╛
"рддреБрдордЪреНрдпрд╛ docs рд╢реА chat рдХрд░рд╛ / рдЖрдордЪреНрдпрд╛ policies рдорд╛рд╣реАрдд рдЕрд╕рд▓реЗрд▓рд╛ support bot / рдЦрд░реЛрдЦрд░ рд╕рдордЬрдгрд╛рд░рд╛ search" тАФ рд╣реЗ RAG рдЖрд╣реЗ, рдЖрдгрд┐ рдмрд╣реБрддреЗрдХ рдХрдВрдкрдиреНрдпрд╛рдВрдЪреА рдкрд╣рд┐рд▓реА рдЦрд░реА AI рдирд┐рд░реНрдорд┐рддреА рд╣реАрдЪ рдЕрд╕рддреЗ. рдкреНрд░рддреНрдпреЗрдХ рдЯрдкреНрдкрд╛ рдЖрддрд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдореВрд▓рддрддреНрддреНрд╡рд╛рдВрдкрд╛рд╕реВрди рд╕рдордЬрддреЛ: рдЬрд╛рдЧрд╛ рдореНрд╣рдгрдЬреЗ рдзрдбрд╛ 04, desk рдореНрд╣рдгрдЬреЗ рдзрдбрд╛ 08, рдХрд╛ рдореНрд╣рдгрдЬреЗ рдзрдбрд╛ 09. stack рдордзреАрд▓ рдХрд╛рд╣реАрд╣реА рдЖрддрд╛ рдЬрд╛рджреВ рдирд╛рд╣реА.
ЁЯзк рдХрд░реВрди рдкрд╛рд╣рд╛ (рд╣рд╛рддрд╛рдиреЗ RAG тАФ retriever рддреБрдореНрд╣реА рдЖрд╣рд╛рдд)
1) Pick a long doc the model can't know (your team wiki, a recent PDF).
2) Ask about it WITHOUT pasting тЖТ watch closed-book guessing (L09).
3) Now find the 2 relevant paragraphs yourself, paste them + "answer
ONLY from these excerpts, cite which one" тЖТ night and day.
рддреБрдореНрд╣реА рдЖрддреНрддрд╛рдЪ pipeline рд╣рд╛рддрд╛рдиреЗ рдЪрд╛рд▓рд╡рд▓реА тАФ step 3 embeddings рдиреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреЗ рдореНрд╣рдгрдЬреЗрдЪ product. (рдЦрд░реЗ рдмрд╛рдВрдзрд╛: pgvector рдХрд┐рдВрд╡рд╛ Chroma рд╕рд╣ ~30 рдУрд│реА.)
тПня╕П рдкреБрдвреЗ
рд╡рд╛рдЪрдгреЗ рдореНрд╣рдгрдЬреЗ рдХрд░рдгреЗ рдирд╡реНрд╣реЗ. рд╡рд┐рджреНрдпрд╛рд░реНрдереНрдпрд╛рд▓рд╛ to-do рдпрд╛рджреА, hall pass рдЖрдгрд┐ рдЦрд░реА tools рджреНрдпрд╛ тАФ agents: рдХреГрддреА рдХрд░рдгрд╛рд░рд╛ loop.
git checkout lesson-11-agents