Uživatelské nástroje

Nástroje pro tento web


milvus

Milvus (vektorová databáze)

Milvus je vysoce výkonná open-source vektorová databáze navržená pro ukládání, indexování a správu masivních objemů vektorů (tzv. embeddings). Byla vytvořena společností Zilliz, uvolněna jako open-source v roce 2019 a dnes patří mezi nejpopulárnější nástroje pro vývoj aplikací využívajících umělou inteligenci (AI) a strojové učení (ML).

Hlavní vlastnosti

Milvus se vyznačuje několika klíčovými vlastnostmi, které z něj činí ideální volbu pro moderní AI architektury:

  • Vysoký výkon a škálovatelnost: Architektura je plně distribuovaná a cloud-native. Odděluje datové úložiště od výpočetních prostředků, což umožňuje snadné horizontální škálování.
  • Podpora různých metrik vzdálenosti: Umožňuje měřit podobnost vektorů pomocí euklidovské vzdálenosti (L2), kosinové podobnosti (Cosine) nebo vnitřního součinu (IP).
  • Pokročilé indexování: Nabízí širokou škálu algoritmů pro přibližné hledání nejbližšího souseda (ANN), včetně indexů jako jsou IVF_FLAT, HNSW nebo DiskANN.
  • Široká ekosystémová integrace: Databáze má oficiální integrace s moderními frameworky pro práci s velkými jazykovými modely (LLM), jako jsou LangChain či LlamaIndex.

Architektura

Architektura databáze Milvus je postavena na moderních principech a skládá se ze čtyř nezávisle škálovatelných vrstev:

  1. Přístupová vrstva (Access Layer): Zajišťuje API rozhraní pro klienty (dostupné SDK pro Python, Java, Go, Node.js a další).
  2. Koordinační služba (Coordinator Service): Mozek celého systému, který spravuje topologii clusteru a přiřazuje úkoly.
  3. Pracovní uzly (Worker Nodes): Provádějí samotné těžké operace, jako je dotazování (hledání podobností) a vkládání dat.
  4. Úložiště (Storage): Zajišťuje perzistenci dat. Pro uchovávání transakčních logů využívá zprávové systémy (např. Apache Pulsar nebo Kafka) a pro samotná data objektová úložiště (AWS S3, MinIO).

Případy užití (Use Cases)

Díky schopnosti bleskově vyhledávat v miliardách vektorů má Milvus široké uplatnění:

  • Sémantické vyhledávání textu: Vyhledávání na základě skutečného významu vět pomocí NLP modelů, nikoliv jen na základě shody klíčových slov.
  • Retrieval-Augmented Generation (RAG): Slouží jako externí „dlouhodobá paměť“ pro velké jazykové modely (např. ChatGPT), kterým dodává relevantní kontext z firemních dat.
  • Multimodální vyhledávání: Rozpoznávání a hledání vizuálně nebo zvukově podobných obrázků, videí a audia.
  • Doporučovací systémy (Recommender Systems): Nabízení produktů nebo obsahu uživatelům na základě vektorové podobnosti jejich preferencí.

Instalace a základní použití

Pro lokální testování a vývoj je nejrychlejší využít odlehčenou verzi Milvus Lite, kterou lze nainstalovat jako standardní Python knihovnu bez nutnosti konfigurovat kontejnery:

pip install pymilvus

Níže je ukázka základního připojení a vytvoření kolekce v jazyce Python:

from pymilvus import MilvusClient
 
# Inicializace lokálního klienta (vytvoří soubor milvus_demo.db)
client = MilvusClient("milvus_demo.db")
 
# Vytvoření nové kolekce
client.create_collection(
    collection_name="ai_dokumenty",
    dimension=768  # Dimenze musí odpovídat výstupu vašeho embedding modelu
)
 
print("Kolekce byla úspěšně vytvořena.")

Odkazy a zdroje

milvus.txt · Poslední úprava: autor: admin