ЁЯЧ║я╕П рдзрдбрд╛ 01 тАФ Vector databases рдХрд╛: рдЕрд░реНрдерд╛рдиреБрд╕рд╛рд░ рд▓рд╛рд╡рд▓реЗрд▓реЗ рдЧреНрд░рдВрдерд╛рд▓рдп
ЁЯУН рддреБрдореНрд╣реА рдЗрдереЗ рдЖрд╣рд╛рдд: 8 рдкреИрдХреА рдзрдбрд╛ 01 ┬╖ рдкреБрдвреЗ: lesson-02-text-to-vectors
ЁЯУж рдпрд╛ рдмреНрд░рдБрдЪрдордзреНрдпреЗ рдХрд╛рдп рдЖрд╣реЗ
Vector databases рдХреЛрдгрддрд╛ рдкреНрд░рд╢реНрди рд╕реЛрдбрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╣реЗрдд рддреЗ тАФ рдЖрдгрд┐ рдЖрддреНрддрд╛рдЪ рдЪрд╛рд▓рд╡рддрд╛ рдпреЗрдИрд▓ рдЕрд╕рд╛ рдПрдХ рдЦрд░рд╛ рдЫреЛрдЯрд╛ vector DB: vectordb/vectordb.py.
ЁЯзТ 5 рд╡рд░реНрд╖рд╛рдВрдЪреНрдпрд╛ рдореБрд▓рд╛рд▓рд╛ рд╕рдордЬрд╛рд╡рд▓реНрдпрд╛рд╕рд╛рд░рдЦреЗ
рд╢рд╛рд│реЗрдЪреНрдпрд╛ рдЧреНрд░рдВрдерд╛рд▓рдпрд╛рдд рд╢реЛрдзрд╛рдЪреА рдПрдХ рдЕрдбрдЪрдг рдЖрд╣реЗ. ЁЯУЪ Card catalog рдкреБрд╕реНрддрдХреЗ рд╢реАрд░реНрд╖рдХрд╛рддрд▓реНрдпрд╛ рдиреЗрдордХреНрдпрд╛ рд╢рдмреНрджрд╛рдВрд╡рд░реВрди рд╢реЛрдзрддреЗ. "рдкреНрд░рд╛рдгреНрдпрд╛рдВрд╢реА рджрдпрд╛рд│реВ рд╡рд╛рдЧрдгреНрдпрд╛рдмрджреНрджрд▓рдЪреА рдкреБрд╕реНрддрдХреЗ" рдорд╛рдЧрд┐рддрд▓реА рддрд░ catalog рд▓рд╛тАж рдХрд╛рд╣реАрдЪ рд╕рд╛рдкрдбрдд рдирд╛рд╣реА тАФ рдХрд╛рд░рдг рд╕рд░реНрд╡реЛрддреНрддрдо рдкреБрд╕реНрддрдХрд╛рдЪреЗ рдирд╛рд╡ рдЖрд╣реЗ "Every Living Thing". рдПрдХрд╣реА рд╢рдмреНрдж рд╕рд╛рд░рдЦрд╛ рдирд╛рд╣реА! рд╕рдЧрд│реА рдкреБрд╕реНрддрдХреЗ рд╡рд╛рдЪрд▓реЗрд▓реНрдпрд╛ рдЧреНрд░рдВрдердкрд╛рд▓рд╛рд▓рд╛ рдорд╛рд╣реАрдд рдЕрд╕рддреЗ рдХреА рд╣реЗрдЪ рдпреЛрдЧреНрдп рдкреБрд╕реНрддрдХ рдЖрд╣реЗ. Catalog рд▓рд╛ рддреЗ рдХрд│реВ рд╢рдХрдд рдирд╛рд╣реА: keywords strings рдЬреБрд│рд╡рддрд╛рдд, рдЕрд░реНрде рдирд╡реНрд╣реЗ.
рдЖрддрд╛ AI рд╢рд╛рд│реЗрддрд▓рд╛ рдмрд╕рдгреНрдпрд╛рдЪрд╛ hall рдЖрдард╡рд╛ (рддрд┐рдерд▓рд╛ рдзрдбрд╛ 04): рдкреНрд░рддреНрдпреЗрдХ text рд▓рд╛ рдЕрд░реНрдерд╛рдЪреНрдпрд╛ рдЬрд╛рдЧреЗрдд (meaning-space) рдПрдХ рдЬрд╛рдЧрд╛ рдорд┐рд│реВ рд╢рдХрддреЗ тАФ рдЕрд╕реЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЬрд┐рдереЗ рд╕рд╛рд░рдЦреЗ рдЕрд░реНрде рдПрдХрдореЗрдХрд╛рдВрдЪреНрдпрд╛ рдЬрд╡рд│ рдмрд╕рддрд╛рдд. рдЕрдЪрд╛рдирдХ search рдореНрд╣рдгрдЬреЗ рднреВрдорд┐рддреА рд╣реЛрддреЗ: рдкреНрд░рд╢реНрдирд╛рд▓рд╛ рдЬрд╛рдЧрд╛ рджреНрдпрд╛, рдЖрдЬреВрдмрд╛рдЬреВрд▓рд╛ рдкрд╛рд╣рд╛, рд╕рд░реНрд╡рд╛рдд рдЬрд╡рд│рдЪреЗ рд╢реЗрдЬрд╛рд░реА рдкрд░рдд рджреНрдпрд╛. "рдкреНрд░рд╛рдгреНрдпрд╛рдВрд╢реА рджрдпрд╛рд│реВ" рд╣реЗ "Every Living Thing" рдЪреНрдпрд╛ рдЕрдЧрджреА рд╢реЗрдЬрд╛рд░реА рдмрд╕рддреЗ, рдПрдХрд╣реА рд╕рд╛рдорд╛рдпрд┐рдХ рд╢рдмреНрдж рд▓рд╛рдЧрдд рдирд╛рд╣реА.
Vector database рдореНрд╣рдгрдЬреЗ рдЦрд░реЛрдЦрд░ рдмрд╛рдВрдзрд▓реЗрд▓рд╛ рд╣рд╛ hall: рд▓рд╛рдЦреЛ рдЬрд╛рдЧрд╛ (vectors) рд╕рд╛рдард╡рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рд╕рд░реНрд╡рд╛рдд рдЬрд╡рд│рдЪреНрдпрд╛ рдкрдЯрдХрди рд╢реЛрдзрдгреНрдпрд╛рдЪреА рдЬрд╛рдЧрд╛. рд╕рдВрдкреВрд░реНрдг product рдЗрддрдХреЗрдЪ:
- рдЧреЛрд╖реНрдЯреА рдЖрдд рдареЗрд╡рд╛, рдкреНрд░рддреНрдпреЗрдХреАрдЪреА рдЬрд╛рдЧрд╛ (рдЖрдгрд┐ рдХрд╛рд╣реА stickers ЁЯП╖я╕П тАФ metadata) рд╕реЛрдмрдд,
- рдирд╡реА рдЬрд╛рдЧрд╛ рджрд┐рд▓реА рдХреА рд╕рд░реНрд╡рд╛рдд рдЬрд╡рд│рдЪреНрдпрд╛ k, рдкрдЯрдХрди рдкрд░рдд рджреНрдпрд╛,
- рдореЛрдареНрдпрд╛ scale рд╡рд░рд╣реА рд╡реЗрдЧрд╛рдиреЗ тАФ рдпреЛрдЧреНрдп index рд╕рд╣ тАФ рдкреНрд░рддреНрдпреЗрдХ рдЬрд╛рдЧреЗрд▓рд╛ рдПрдХреЗрдХ рдХрд░реВрди рди рд╡рд┐рдЪрд╛рд░рддрд╛.
рдмрд╛рдХреА рд╕рдЧрд│реЗ тАФ chunking, filters, indexes, RAG тАФ рд╣реЗ рдпрд╛ рддреАрди рдХрд╛рдорд╛рдВрдЪреЗрдЪ рд╕реБрдзрд╛рд░рдгреЗ рдЖрд╣реЗ, рдЖрдгрд┐ рд╣рд╛ course рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯ рд╢рд┐рдХрд╡рддреЛ.
ЁЯЧ║я╕П рдЖрдХреГрддреА
flowchart LR
q["тЭУ 'books about being<br/>kind to animals'"]
subgraph kw["ЁЯУЗ keyword catalog"]
k1["match exact words тЖТ<br/>'kind'? 'animals'? тАж<br/>тЭМ nothing found"]
end
subgraph vdb["ЁЯЧ║я╕П the meaning hall - vector DB"]
s1["seat the question<br/>in meaning-space"]
s2["find nearest seats"]
s3["тЬЕ 'Every Living Thing'<br/>zero shared words!"]
s1 --> s2 --> s3
end
q --> kw
q --> vdb
тЭУ рдХрд╛рдп
- Vector database = storage + embedding vectors рд╡рд░ рд╡реЗрдЧрд╡рд╛рди nearest-neighbor search, рд╕рд╣рд╕рд╛ metadata filtering рд╕рд╣. рдзрдбрд╛ 08 рдордзреНрдпреЗ рднреЗрдЯрдгрд╛рд░реА рдЙрджрд╛рд╣рд░рдгреЗ: pgvector, Pinecone, Chroma, FAISS рд╡рд░ рдЖрдзрд╛рд░рд┐рдд systems.
- рдЦрд╛рд▓реАрд▓ рдЧреЛрд╖реНрдЯреАрдВрдЪреНрдпрд╛ рдЦрд╛рд▓реА рд╣реАрдЪ рдпрдВрддреНрд░рдгрд╛ рдЕрд╕рддреЗ: semantic search, RAG (AI рд╢рд╛рд│рд╛ L10 тАФ open-book рдкрд░реАрдХреНрд╖реЗрдЪрд╛ page-finder!), recommendations, dedup ("рдЕрд╕реЗ ticket рдЖрдкрдг рдЖрдзреА рдкрд╛рд╣рд┐рд▓реЗ рдЖрд╣реЗ рдХрд╛?"), рдЖрдгрд┐ agent memory (Agents рд╢рд╛рд│рд╛ L04).
- Keyword search рд╕рдВрдкрд▓реЗрд▓рд╛ рдирд╛рд╣реА тАФ рдЬрд┐рдереЗ vectors рдзреВрд╕рд░ рдЕрд╕рддрд╛рдд рддрд┐рдереЗ рддреЛ рдиреЗрдордХрд╛ рдЕрд╕рддреЛ (рдиреЗрдордХреЗ IDs, рдирд╛рд╡реЗ, error codes). рдкреНрд░реМрдв systems рджреЛрдиреНрд╣реА рд╡рд╛рдкрд░рддрд╛рдд (hybrid тАФ рдзрдбрд╛ 06).
ЁЯдФ рдХрд╛
рдкреНрд░рддреНрдпреЗрдХ "рддреБрдордЪреНрдпрд╛ docs рд╢реА рдЧрдкреНрдкрд╛" product, рдпреЛрдЧреНрдп policy рд╢реЛрдзрдгрд╛рд░рд╛ рдкреНрд░рддреНрдпреЗрдХ support bot, рдкреНрд░рддреНрдпреЗрдХ "рд╕рд╛рд░рдЦреЗ issues" sidebar тАФ рдкреНрд░рддреНрдпреЗрдХрд╛рдЪреНрдпрд╛ рдЦрд╛рд▓реА vector DB рдЕрд╕рддреЛ. Models рдирдВрддрд░ рд╣рд╛ AI infrastructure рдЪрд╛ рд╕рд░реНрд╡рд╛рдд рдЬрд╛рд╕реНрдд deploy рдЭрд╛рд▓реЗрд▓рд╛ рднрд╛рдЧ рдЖрд╣реЗ, рдЖрдгрд┐ models рдЪреНрдпрд╛ рдЙрд▓рдЯ, рддреЛ рддреБрдореНрд╣реА рдкреВрд░реНрдгрдкрдгреЗ рд╕рдордЬреВ рд╢рдХрддрд╛ тАФ рдЖрдкрд▓рд╛ рдлрдХреНрдд ~70 рдУрд│реАрдВрдЪрд╛ рдЖрд╣реЗ.
ЁЯзк рдХрд░реВрди рдкрд╛рд╣рд╛ (60 рд╕реЗрдХрдВрдж)
python3 vectordb/demo.py
рд╢рд╛рд│реЗрдЪреЗ рд╕рд╛рдд documents index рдХреЗрд▓реЗрд▓реЗ, рддреАрди searches: рдХреНрд░рдорд╡рд╛рд░ рд▓рд╛рд╡рд▓реЗрд▓рд╛ рдЬрд╡рд│рдкрд╛рд╕-semantic hit, metadata рдиреЗ filter рдХреЗрд▓реЗрд▓рд╛ lookup, рдЖрдгрд┐ тАФ рд╕рд░реНрд╡рд╛рдд рд╢рд┐рдХрд╡рдгрд╛рд░реЗ тАФ "pupils" рдпрд╛ рд╕рдорд╛рдирд╛рд░реНрдереА рд╢рдмреНрджрд╛рд╡рд░рдЪреЗ рдкреНрд░рд╛рдорд╛рдгрд┐рдХ рдЕрдкрдпрд╢. рддреЗрдЪ рдЕрдкрдпрд╢ рдзрдбрд╛ 02 рдЪрд╛ рдкрд╣рд┐рд▓рд╛ рдореБрджреНрджрд╛ рдЖрд╣реЗ. ЁЯШД
тПня╕П рдкреБрдвреЗ
Text рд▓рд╛ рдЬрд╛рдЧрд╛ рдХрд╢реА рдорд┐рд│рддреЗ: рд╢рдмреНрджрд╛рдВрдкрд╛рд╕реВрди vectors рдкрд░реНрдпрдВрдд тАФ рдЖрдгрд┐ рдЖрдкрд▓реНрдпрд╛ toy рдЪреЗ vectors рдкреНрд░рд╛рдорд╛рдгрд┐рдХ рдкрдг рдЬрд╡рд│рдЪреЗрдЪ рдкрд╛рд╣рдгрд╛рд░реЗ (nearsighted) рдХрд╛ рдЖрд╣реЗрдд.
git checkout lesson-02-text-to-vectors