Dela via


Vektordatabaser för .NET + AI

Vektordatabaser är utformade för att lagra och hantera inbäddningar av vektorer. Inbäddningar är numeriska representationer av icke-numeriska data som bevarar semantisk betydelse. Du kan vektorisera ord, dokument, bilder, ljud och andra datatyper. Använd inbäddningar för att hjälpa en AI-modell att förstå innebörden av indata så att den kan utföra jämförelser och omvandlingar, till exempel sammanfatta text, hitta kontextuellt relaterade data eller skapa bilder från textbeskrivningar.

Du kan till exempel använda en vektordatabas för att:

  • Identifiera liknande bilder, dokument och låtar baserat på deras innehåll, teman, känslor och format.
  • Identifiera liknande produkter baserat på deras egenskaper, funktioner och användargrupper.
  • Rekommendera innehåll, produkter eller tjänster baserat på användarinställningar.
  • Identifiera de bästa möjliga alternativen från en stor pool med alternativ för att uppfylla komplexa krav.
  • Identifiera dataavvikelser eller bedrägliga aktiviteter som skiljer sig från dominerande eller normala mönster.

Vektordatabaser ger vektorsökningsfunktioner för att hitta liknande objekt baserat på deras dataegenskaper i stället för exakta matchningar i ett egenskapsfält. Vektorsökning fungerar genom att analysera vektorrepresentationer av dina data som du skapade med hjälp av en AI-inbäddningsmodell, till exempel Inbäddningsmodellerna för Azure OpenAI. Sökprocessen mäter avståndet mellan datavektorerna och frågevektorn. De datavektorer som är närmast din frågevektor är de som är mest lika semantiskt.

Vissa tjänster, till exempel Azure Cosmos DB for MongoDB vCore , tillhandahåller interna vektorsökningsfunktioner för dina data. Andra databaser kan förbättras med vektorsökning genom att indexera lagrade data med hjälp av en tjänst, till exempel Azure AI Search, som kan skanna och indexera dina data för att tillhandahålla vektorsökningsfunktioner.

Arbetsflöden för vektorsökning med .NET och OpenAI

Vektordatabaser och deras sökfunktioner är särskilt användbara i RAG-mönsterarbetsflöden med Azure OpenAI. Med det här mönstret kan du utöka DIN AI-modell med ytterligare semantiskt omfattande kunskaper om dina data. Ett vanligt AI-arbetsflöde med hjälp av vektordatabaser innehåller följande steg:

  1. Skapa inbäddningar för dina data med en OpenAI-inbäddningsmodell.
  2. Lagra och indexera inbäddningarna i en vektordatabas eller söktjänst.
  3. Konvertera användarprompter från ditt program till inbäddningar.
  4. Kör en vektorsökning mellan dina data och jämför inbäddningen av användarprompten med inbäddningarna i databasen.
  5. Använd en språkmodell som GPT-4o för att sammanställa ett användarvänligt slutförande från vektorsökningsresultatet.

Gå till självstudiekursen Implementera Azure OpenAI med RAG med hjälp av vektorsökning i en .NET-app för ett praktiskt exempel på det här flödet.

Andra fördelar med RAG-mönstret är:

  • Generera kontextuellt relevanta och korrekta svar på användarfrågor från AI-modeller.
  • Övervinna LLM-tokengränser – databasvektorsökningen gör det tunga lyftet.
  • Minska kostnaderna från frekvent finjustering av uppdaterade data.