Vectordatabases zijn ontworpen voor het opslaan en beheren van vector-insluitingen. Insluitingen zijn numerieke weergaven van niet-numerieke gegevens die semantische betekenis behouden. Woorden, documenten, afbeeldingen, audio en andere typen gegevens kunnen allemaal worden gevectoriseerd. U kunt insluitingen gebruiken om een AI-model te helpen de betekenis van invoer te begrijpen, zodat deze vergelijkingen en transformaties kan uitvoeren, zoals het samenvatten van tekst, het vinden van contextgerelateerde gegevens of het maken van afbeeldingen op basis van tekstbeschrijvingen.
U kunt bijvoorbeeld een vectordatabase gebruiken om het volgende te doen:
Identificeer vergelijkbare afbeeldingen, documenten en nummers op basis van hun inhoud, thema's, sentimenten en stijlen.
Identificeer vergelijkbare producten op basis van hun kenmerken, functies en gebruikersgroepen.
Inhoud, producten of services aanbevelen op basis van gebruikersvoorkeuren.
Identificeer de beste mogelijke opties uit een grote groep keuzes om te voldoen aan complexe vereisten.
Identificeer gegevensafwijkingen of frauduleuze activiteiten die niet hetzelfde zijn als overheersende of normale patronen.
Vectorzoekopdrachten begrijpen
Vectordatabases bieden vectorzoekmogelijkheden om vergelijkbare items te vinden op basis van hun gegevenskenmerken in plaats van door exacte overeenkomsten in een eigenschappenveld. Vectorzoekopdrachten werken door de vectorweergaven van uw gegevens te analyseren die u hebt gemaakt met behulp van een AI-insluitmodel, zoals de Azure OpenAI-insluitingsmodellen. Het zoekproces meet de afstand tussen de gegevensvectoren en uw queryvector. De gegevensvectoren die zich het dichtst bij uw queryvector bevinden, zijn de vectoren die het meest vergelijkbaar zijn met semantisch.
Sommige services zoals Azure Cosmos DB voor MongoDB vCore bieden systeemeigen vectorzoekmogelijkheden voor uw gegevens. Andere databases kunnen worden uitgebreid met vectorzoekopdrachten door de opgeslagen gegevens te indexeren met behulp van een service zoals Azure AI Search, die uw gegevens kan scannen en indexeren om vectorzoekmogelijkheden te bieden.
Vectorzoekwerkstromen met .NET en OpenAI
Vectordatabases en hun zoekfuncties zijn vooral handig in RAG-patroonwerkstromen met Azure OpenAI. Met dit patroon kunt u uw AI-model uitbreiden of verbeteren met aanvullende semantisch uitgebreide kennis van uw gegevens. Een algemene AI-werkstroom met vectordatabases kan de volgende stappen bevatten:
Maak insluitingen voor uw gegevens met behulp van een OpenAI-insluitmodel.
Sla de insluitingen op en indexeer deze in een vectordatabase of zoekservice.
Converteer gebruikersprompts van uw toepassing naar insluitingen.
Voer een vectorzoekopdracht uit op uw gegevens, waarbij de gebruiker vraagt om insluiten te vergelijken met de insluitingen van uw database.
Gebruik een taalmodel zoals GPT-35 of GPT-4 om een gebruiksvriendelijke voltooiing van de vectorzoekresultaten samen te stellen.
Contextafhankelijk relevante en nauwkeurige antwoorden genereren op gebruikersprompts van AI-modellen.
Limieten voor LLM-tokens overwinnen: het zware werk wordt uitgevoerd via de zoekfunctie van de databasevector.
Verlaag de kosten door regelmatig af te stemmen op bijgewerkte gegevens.
Beschikbare vectordatabaseoplossingen
AI-toepassingen maken vaak gebruik van gegevensvectordatabases en -services om de relevantie te verbeteren en aangepaste functionaliteit te bieden. Veel van deze services bieden een systeemeigen SDK voor .NET, terwijl anderen een REST-service bieden waarmee u verbinding kunt maken via aangepaste code. Semantische kernel biedt een uitbreidbaar onderdeelmodel waarmee u verschillende vectorarchieven kunt gebruiken zonder dat u elke SDK hoeft te leren.
Semantische kernel biedt connectors voor de volgende vectordatabases en -services:
De bron voor deze inhoud vindt u op GitHub, waar u ook problemen en pull-aanvragen kunt maken en controleren. Bekijk onze gids voor inzenders voor meer informatie.
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven: