Vektorové databáze pro .NET + AI
Vektorové databáze jsou navržené tak, aby ukládaly a spravovaly vkládání vektorů. Vkládání jsou číselné reprezentace nečíselných dat, která zachovávají sémantický význam. Slova, dokumenty, obrázky, zvuk a další typy dat mohou být vektorizovány. Vkládání můžete použít k tomu, aby model umělé inteligence porozuměl významu vstupů, aby mohl provádět porovnání a transformace, například sumarizaci textu, hledání kontextových dat nebo vytváření obrázků z popisů textu.
Vektorovou databázi můžete použít například k:
- Identifikujte podobné obrázky, dokumenty a skladby na základě jejich obsahu, motivů, mínění a stylů.
- Identifikujte podobné produkty na základě jejich charakteristik, funkcí a skupin uživatelů.
- Doporučte obsah, produkty nebo služby na základě uživatelských předvoleb.
- Identifikujte nejlepší potenciální možnosti z velkého fondu voleb, abyste splnili složité požadavky.
- Identifikujte datové anomálie nebo podvodné aktivity, které se liší od převládajících nebo normálních vzorů.
Principy vektorové vyhledávání
Vektorové databáze poskytují možnosti vektorového vyhledávání k vyhledání podobných položek na základě jejich charakteristik dat, nikoli přesných shod v poli vlastnosti. Vektorové vyhledávání funguje tak, že analyzuje vektorové znázornění dat, která jste vytvořili pomocí modelu vkládání AI, jako jsou modely vkládání Azure OpenAI. Proces hledání měří vzdálenost mezi datovými vektory a vektorem dotazu. Datové vektory, které jsou nejblíže vašemu vektoru dotazu, jsou ty, které jsou nalezeny nejvíce podobné sémanticky.
Některé služby, jako je Azure Cosmos DB pro virtuální jádro MongoDB, poskytují nativní možnosti vyhledávání vektorů pro vaše data. Další databáze je možné vylepšit pomocí vektorového vyhledávání indexováním uložených dat pomocí služby, jako je Azure AI Search, která může prohledávat a indexovat vaše data, aby poskytovala možnosti vektorového vyhledávání.
Pracovní postupy vektorového vyhledávání s využitím .NET a OpenAI
Vektorové databáze a jejich funkce vyhledávání jsou užitečné zejména v pracovních postupech vzoru RAG s Azure OpenAI. Tento model umožňuje rozšířit nebo vylepšit model AI o další sémanticky bohaté znalosti vašich dat. Běžný pracovní postup AI využívající vektorové databáze může zahrnovat následující kroky:
- Vytvářejte vkládání dat pomocí modelu vkládání OpenAI.
- Ukládání a indexování vkládání do vektorové databáze nebo vyhledávací služby
- Převeďte výzvy uživatelů z vaší aplikace na vkládání.
- Spusťte vektorové vyhledávání napříč daty a porovnejte uživatele s vložením do databáze.
- Pomocí jazykového modelu, jako je GPT-35 nebo GPT-4, se sestaví uživatelsky přívětivé dokončování z výsledků hledání vektorů.
V kurzu implementace Azure OpenAI s RAG s využitím vektorového vyhledávání v aplikaci .NET najdete praktický příklad tohoto toku.
Mezi další výhody modelu RAG patří:
- Vygenerujte kontextově relevantní a přesné odpovědi na výzvy uživatelů z modelů AI.
- Překonat limity tokenů LLM – náročné práce se provádí prostřednictvím vyhledávání vektorů databáze.
- Snižte náklady na časté vyladění aktualizovaných dat.
Dostupná řešení vektorové databáze
Aplikace umělé inteligence často používají databáze a služby datových vektorů ke zlepšení relevance a poskytování přizpůsobených funkcí. Mnohé z těchto služeb poskytují nativní sadu SDK pro .NET, zatímco jiné nabízejí službu REST, ke které se můžete připojit prostřednictvím vlastního kódu. Sémantické jádro poskytuje rozšiřitelný model komponent, který umožňuje používat různá vektorová úložiště bez nutnosti učit se jednotlivé sady SDK.
Sémantické jádro poskytuje konektory pro následující vektorové databáze a služby:
Navštivte dokumentaci pro každou příslušnou službu a zjistěte podporu sady .NET SDK a rozhraní API.