Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Varování
Funkce sémantického úložiště vektorů jádra je ve verzi Preview a vylepšení, která vyžadují zásadní změny, se můžou vyskytovat za omezených okolností před vydáním.
Konec ke konci RAG vzoru s Vektorovými Obchody
Tento příklad je samostatná konzolová aplikace, která demonstruje RAG pomocí sémantického jádra. Ukázka má následující charakteristiky:
- Umožňuje výběr chatu a vkládání služeb.
- Umožňuje výběr vektorových databází.
- Přečte obsah jednoho nebo více souborů PDF a vytvoří bloky dat pro každý oddíl.
- Generuje vkládání pro každý blok textu a upsertuje je do zvolené vektorové databáze.
- Zaregistruje vektorové úložiště jako modul plug-in pro vyhledávání textu v jádru.
- Vyvolá modul plug-in pro rozšíření výzvy poskytnuté modelu AI o další kontext.
Jednoduché ingestování dat a vektorové vyhledávání
Pro dva velmi jednoduché příklady, jak ingestovat data do úložiště vektorů a provádět vektorové vyhledávání, podívejte se na tyto dva příklady, které používají úložiště vektorů Qdrant a InMemory k předvedení jejich použití.
Běžný kód s více úložišti
Úložiště vektorů se mohou v určitých aspektech lišit, například pokud jde o typy jejich klíčů nebo typy polí, které podporují. I tak je možné napsat kód, který je nezávislý na těchto rozdílech.
Ukázku příjmu dat, která to demonstruje, viz:
Ukázku vektorového vyhledávání, která demonstruje stejný koncept, najdete v následujících ukázkách. Každá z těchto ukázek odkazuje na stejný společný kód a liší se pouze u typu úložiště vektorů, které vytvoří pro použití se společným kódem.
- Hledání vektorů Azure AI pomocí běžného kódu
- Vyhledávání ve vektorech v paměti s obecným kódem
- Postgres vektorové vyhledávání se společným kódem
- Vyhledávání vektorů Qdrant s běžným kódem
- Vyhledávání vektorů pomocí Redis s běžným kódem
Podpora více vektorů ve stejném záznamu
Abstrakce Vector Store podporují více vektorů ve stejném záznamu pro vektorové databáze, které to podporují. Následující ukázka ukazuje, jak vytvořit některé záznamy s více vektory a vybrat požadovaný cílový vektor při hledání vektorů.
Vektorové vyhledávání se stránkováním
Při hledání vektorů pomocí abstrakcí vektorového úložiště je možné použít parametry Top a Skip pro podporu stránkování, kde například potřebujete vytvořit službu, která odpovídá malou sadou výsledků na požadavek.
Varování
Ne všechny vektorové databáze nativně podporují funkci Skip pro vektorové vyhledávání, takže některé konektory můžou muset načíst skip + top záznamy a přeskočit na straně klienta, aby simulovaly toto chování.
Použití obecného datového modelu vs. vlastního datového modelu
Abstrakce vektorového úložiště je možné použít bez definování datového modelu a definování schématu prostřednictvím definice záznamu. Tento příklad ukazuje, jak můžete vytvořit vektorové úložiště pomocí vlastního modelu a číst pomocí obecného datového modelu nebo naopak.
Návod
Další informace o použití obecného datového modelu najdete v abstrakcích vektorového úložiště bez definování vlastního datového modelu.
Použití kolekcí vytvořených a zpracovaných pomocí Langchain
Abstrakce vektorového úložiště je možné použít pro přístup k kolekcím vytvořeným a přijatým pomocí jiného systému, například langchainu. Existuje několik přístupů, které je možné dodržovat, aby interoperabilita fungovala správně. Např.
- Vytvoření datového modelu, který odpovídá schématu úložiště použitému implementaci Langchain.
- Použití definice záznamu se speciálními názvy vlastností úložiště pro pole
V následující ukázce si ukážeme, jak tyto přístupy použít k vytvoření implementací vektorového úložiště kompatibilních s jazykem Langchain.
Pro každý vektorový úložiště existuje tovární třída, která demonstruje, jak sestavit vektorové úložiště kompatibilní s Langchainem. Viz např.
- PineconeFactory
- RedisFactory
Ukázka RAG od začátku do konce s využitím Azure AI Search Vector Store
Tento příklad je sada dvou skriptů, první znázorňující základy nastavení azure AI Search Vector Store a druhý ukazuje, jak z něj vytvořit modul plug-in a použít ho k provedení RAG.
- Duplikace datového modelu a nastavení služby Azure AI Search pro tuto ukázku
- Vytváření záznamů, přidávání vektorů a upsertování záznamů ve službě Azure AI Search
- Použijte stejné připojení a datový model k vytvoření vlastních funkcí, které lze poté využít s automatickým voláním funkcí pro pokročilé RAG
Jednoduché ingestování dat a vektorové vyhledávání
Máme také ukázku, která ukazuje základy vytváření kolekce, přidávání záznamů a nakonec hledání, to může být zahájeno s různými vektorovými úložišti.
Jednoduché ingestování dat a vektorové vyhledávání
Jednoduché příklady příjmu dat do úložiště vektorů a vyhledávání vektorů najdete v těchto příkladech, které využívají Azure AI Search, JDBC s úložišti vektorů PostgreSQL, Redis a In Memory Vector.