Vektorová databáze

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Vektorová databáze nebo vektorové úložiště (anglicky vector database management system, VDBMS, vector database nebo vector store) je databáze, která spolu s dalšími datovými položkami může ukládat vektory, tedy seznamy čísel s pevnou délkou. Vektorové databáze obvykle implementují algoritmy ANN (Aproximate Nearest Neighbor), takže lze v databázi vyhledávat pomocí vektoru, a získat tak databázové záznamy, jejichž uložené vektory jsou dotazovanému vektoru nejbližší.

Vektory jsou matematické reprezentace dat ve vysokorozměrném prostoru. V tomto prostoru každá dimenze odpovídá nějaké vlastnosti (feature) dat a k reprezentaci složitých dat lze použít desítky až stovky tisíc dimenzí. +more Pozice vektoru v tomto prostoru představuje jeho charakteristiky. Vektorizovat lze slova, věty nebo celé dokumenty a obrázky, záznamy zvuku a další typy dat.

Vektory charakterizující data lze vypočítat z nezpracovaných dat pomocí metod strojového učení, jako jsou algoritmy extrakce znaků dat, vnoření slov nebo metody hlubokého učení. Smyslem je, aby sémanticky podobné datové položky obdržely vektory, které jsou blízko u sebe.

Vektorové databáze lze použít pro vyhledávání podle podobnosti, multimodální vyhledávání, doporučovací nástroje, velké jazykové modely (LLM) atd.

Vektorové databáze se také používají k implementaci Retrieval-Augmented Generation (RAG), což je metoda pro zlepšení doménově specifických výstupů velkých jazykových modelů. Východiskem jsou soubory textových dokumentů popisujících danou doménu a pro každý dokument se spočítá charakteristický vektor (v tomto kontextu známý jako embedding), obvykle pomocí metod hlubokého učení, a uloží se do vektorové databáze. +more Po zadání uživatelského dotazu se spočítá vektor odpovídající tomuto dotazu, a jeho pomocí se z vektorové databáze vyberou nejrelevantnější dokumenty. Ty jsou pak automaticky doplněny k výchozímu dotazu jako jeho kontext a velký jazykový model vytvoří odpověď v tomto kontextu.

Příklady vektorových databází

Apache CassandraLicence Apache 2. 0
Rozšíření vektorové databáze Azure Cosmos DBN/A (Managed Service)
LlamaIndexLicence MIT
MilvusLicence Apache 2. +more0
MongoDB AtlasN/A (Managed Service)
CouchbaseN/A
PineconeUzavřený software
Postgres s pgvectorPostgreSQL licence
QdrantLicence Apache 2. 0
WeaviateBSD 3-Clause
ChromaLicence Apache 2. 0
ElasticsearchServer Side Public License, Elastic License
VespaLicence Apache 2. 0
SurrealDBBusiness Source License & Apache License (po 4 letech)
.

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top