Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Vectorzoekopdrachten is een benadering voor het ophalen van informatie die ondersteuning biedt voor indexering en query's op numerieke weergaven van inhoud. Omdat de inhoud numeriek is in plaats van tekst zonder opmaak, is overeenkomende waarde gebaseerd op vectoren die het meest lijken op de queryvector, waardoor overeenkomsten mogelijk zijn tussen:
- Semantische of conceptuele gelijkenis. Zo zijn 'hond' en 'canine' conceptueel vergelijkbaar, maar taalkundig verschillend.
- Meertalige inhoud, zoals 'hond' in het Engels en 'hund' in het Duits.
- Meerdere inhoudstypen, zoals 'hond' in tekst zonder opmaak en een afbeelding van een hond.
Dit artikel bevat een overzicht van vectorzoekopdrachten in Azure AI Search, waaronder ondersteunde scenario's, beschikbaarheid en integratie met andere Azure-services.
Aanbeveling
Wilt u meteen aan de slag? Volg deze stappen:
- Voorzie van inbeddingen voor uw index of genereer inbeddingen in een indexeerpijplijn.
- Maak een vectorindex.
- Vectorqueries uitvoeren.
Welke scenario's kunnen vectorzoekopdrachten ondersteunen?
Vector search ondersteunt de volgende scenario's:
Overeenkomsten zoeken. Codeer tekst met behulp van insluitmodellen of opensource-modellen, zoals OpenAI-insluitingen of SBERT. Vervolgens haalt u documenten op met query's die ook zijn gecodeerd als vectoren.
Hybride zoekopdracht. Azure AI Search definieert hybride zoekopdrachten als de uitvoering van vectorzoekopdrachten en trefwoordzoekopdrachten in dezelfde aanvraag. Vectorondersteuning wordt geïmplementeerd op veldniveau. Als een index vector- en niet-vectorvelden bevat, kunt u een query schrijven die op beide doelen is gericht. De query's worden parallel uitgevoerd en de resultaten worden samengevoegd in één antwoord en dienovereenkomstig gerangschikt.
Multimodale zoekopdracht. Codeer tekst en afbeeldingen met behulp van multimodale insluitingen, zoals OpenAI CLIP of GPT-4 Turbo met Vision in Azure OpenAI, en voer vervolgens een query uit op een insluitruimte die bestaat uit vectoren van beide inhoudstypen.
Meertalige zoekopdracht. Azure AI Search is ontworpen voor uitbreidbaarheid. Als u modellen en chatmodellen hebt ingesloten die in meerdere talen zijn getraind, kunt u deze aanroepen via aangepaste of ingebouwde vaardigheden aan de indexeringszijde of vectorizers aan de queryzijde. Gebruik voor meer controle over tekstomzetting de mogelijkheden voor meerdere talen die worden ondersteund door Azure AI Search voor niet-ctorinhoud in hybride zoekscenario's.
Gefilterde vectorzoekopdrachten. Een queryaanvraag kan een vectorquery en een filterexpressie bevatten. Filters zijn van toepassing op tekst- en numerieke velden. Ze zijn handig voor metagegevensfilters en voor het opnemen of uitsluiten van zoekresultaten op basis van filtercriteria. Hoewel een vectorveld niet kan worden gefilterd, kunt u een filterbaar tekst- of numeriek veld instellen. De zoekmachine kan het filter verwerken voor of na het uitvoeren van de vectorquery.
Vectordatabase. Azure AI Search slaat de gegevens op die u opvraagt. Gebruik deze als een pure vectorindex wanneer u langetermijngeheugen of een knowledge base nodig hebt, waarbij gegevens worden geaard voor de rag-architectuur (retrieval-augmented generation) of een app die vectoren gebruikt.
Hoe vectorzoekopdrachten werken in Azure AI Search
Azure AI Search biedt ondersteuning voor het indexeren, opslaan en opvragen van vectorbesturingselementen uit een zoekindex. In het volgende diagram ziet u de indexerings- en querywerkstromen voor vectorzoekopdrachten.
Aan de indexeringszijde maakt Azure AI Search gebruik van een algoritme voor dichtstbijzijnde buren om vergelijkbare vectoren dicht bij elkaar te plaatsen in een index. Intern worden vectorindexen gemaakt voor elk vectorveld.
Hoe u insluitingen krijgt van uw broninhoud in Azure AI Search, is afhankelijk van uw verwerkingsbenadering:
Voor interne verwerking biedt Azure AI Search geïntegreerde gegevenssegmentering en vectorisatie in een indexeerpijplijn. U geeft de benodigde resources op, zoals eindpunten en verbindingsgegevens voor Azure OpenAI. Azure AI Search voert vervolgens de aanroepen uit en verwerkt de overgangen. Deze benadering vereist een indexeerfunctie, een ondersteunde gegevensbron en een vaardighedenset die segmentering en insluiting aanstuurt.
Voor externe verwerking kunt u insluitingen genereren buiten Azure AI Search en de vooraf gevectoriseerde inhoud rechtstreeks naar vectorvelden in uw zoekindex pushen.
Aan de queryzijde verzamelt uw client-app gebruikersinvoer, meestal via een prompt. U kunt een coderingsstap toevoegen om de invoer te vectoriseren en vervolgens de vectorquery te verzenden naar uw Azure AI Search-index voor overeenkomsten zoeken. Net als bij indexering kunt u geïntegreerde vectorisatie gebruiken om de query te coderen. Voor beide benaderingen retourneert Azure AI Search documenten met de aangevraagde dichtstbijzijnde k
buren (kNN) in de resultaten.
Azure AI Search biedt ondersteuning voor hybride scenario's die vector- en trefwoordzoekopdrachten parallel uitvoeren en een uniforme resultatenset retourneren, wat vaak betere resultaten biedt dan vector- of trefwoordzoekopdrachten alleen. Voor hybride zoekopdrachten worden zowel vector- als niet-vectorinhoud opgenomen in dezelfde index voor query's die tegelijkertijd worden uitgevoerd.
Beschikbaarheid en prijzen
Vector search is beschikbaar in alle regio's en op alle niveaus zonder extra kosten.
Voor portal en programmatische toegang tot vectorzoekopdrachten kunt u het volgende gebruiken:
- De wizard Gegevens importeren en vectoriseren in de Azure portal.
- De REST API's van de zoekservice.
- De Azure SDK's voor .NET, Python en JavaScript.
- Andere Azure-aanbiedingen, zoals Azure AI Foundry.
Notitie
Sommige zoekservices die vóór 1 januari 2019 zijn gemaakt, bieden geen ondersteuning voor vectorworkloads. Als u een vectorveld probeert toe te voegen aan een schema en een fout krijgt, is dit het gevolg van verouderde services. In dit geval moet u een nieuwe zoekservice maken om de vectorfunctie uit te proberen.
Zoekservices die zijn gemaakt na 3 april 2024 bieden hogere quota voor vectorindexen. Als u een oudere service hebt, kunt u uw service mogelijk upgraden voor hogere vectorquota.
Azure-integratie en gerelateerde services
Azure AI Search is diep geïntegreerd in het Azure AI-platform. De volgende tabel bevat producten die nuttig zijn in vectorworkloads.
Product | Integratie |
---|---|
Azure AI Foundry | Voeg in de chatspeeltuin uw eigen gegevens toe met behulp van Azure AI Search voor het zoeken naar onderliggende gegevens en gespreksonderzoeken. De speeltuin is de eenvoudigste en snelste manier om met uw gegevens te chatten. |
Azure OpenAI | Azure OpenAI biedt insluitingsmodellen en chatmodellen. Demo's en voorbeelden richten zich op het model text-embedding-ada-002 . We raden Azure OpenAI aan voor het genereren van insluitingen voor tekst. |
Azure AI-diensten | Image Retrieval Vectorize Image API (preview) ondersteunt vectorisatie van afbeeldingsinhoud. We raden deze API aan voor het genereren van insluitingen voor afbeeldingen. |
Azure-gegevensplatforms: Azure Blob Storage, Azure Cosmos DB, Azure SQL, OneLake | U kunt indexeerfuncties gebruiken om gegevensopname te automatiseren en vervolgens geïntegreerde vectorisatie gebruiken om insluitingen te genereren. Azure AI Search kan automatisch vectorgegevens indexeren van Azure Blob-indexeerfuncties, Azure Cosmos DB voor NoSQL-indexeerfuncties, Azure Data Lake Storage Gen2, Azure Table Storage en Fabric OneLake. Zie Vectorvelden toevoegen aan een zoekindex voor meer informatie. |
Het wordt ook vaak gebruikt in opensource-frameworks zoals LangChain.