Share via


Geïntegreerde gegevenssegmentering en insluiting in Azure AI Search

Geïntegreerde vectorisatie is een uitbreiding van de indexerings- en querypijplijnen in Azure AI Search. Hiermee worden de volgende mogelijkheden toegevoegd:

  • Gegevenssegmenteren tijdens het indexeren
  • Conversie van tekst naar vector tijdens het indexeren
  • Conversie van tekst naar vector tijdens query's

Gegevenssegmentering is geen harde vereiste, maar tenzij uw onbewerkte documenten klein zijn, is segmentering nodig om te voldoen aan de invoervereisten voor tokens van insluitingsmodellen.

Een belangrijk voordeel is dat geïntegreerde vectorisatie de ontwikkeling versnelt en onderhoudstaken minimaliseert tijdens gegevensopname en querytijd, omdat er minder externe onderdelen zijn om te configureren en beheren.

Vectorconversies zijn in één richting: tekst-naar-vector. Er is geen vector-naar-tekstconversie voor query's of resultaten (u kunt bijvoorbeeld geen vectorresultaat converteren naar een door mensen leesbare tekenreeks).

Geïntegreerde gegevenssegmentering en vectorisatie zijn nu algemeen beschikbaar.

Geïntegreerde vectorisatie gebruiken tijdens het indexeren

Voor gegevenssegmentering en conversie van tekst-naar-vector neemt u een afhankelijkheid van de volgende onderdelen:

Geïntegreerde vectorisatie gebruiken in query's

Voor conversie van tekst-naar-vector tijdens query's neemt u een afhankelijkheid van deze onderdelen:

Onderdeeldiagram

In het volgende diagram ziet u de onderdelen van geïntegreerde vectorisatie.

Diagram van onderdelen in een geïntegreerde vectorisatiewerkstroom.

De werkstroom is een indexeerpijplijn. Indexeerfuncties halen gegevens op uit ondersteunde gegevensbronnen en initiëren gegevensverrijking (of toegepaste AI) door Azure OpenAI- of Azure AI-services of aangepaste code aan te roepen voor tekst-naar-vectorconversies of andere verwerking.

Het diagram is gericht op geïntegreerde vectorisatie, maar uw oplossing is niet beperkt tot deze lijst. U kunt meer vaardigheden toevoegen voor AI-verrijking, een kennisarchief maken, semantische classificatie toevoegen, relevantie afstemmen en andere queryfuncties toevoegen.

Beschikbaarheid en prijzen

Geïntegreerde vectorisatie is beschikbaar in alle regio's en lagen. Als u echter Azure OpenAI en Azure AI-vaardigheden en vectorizers gebruikt, moet u ervoor zorgen dat uw Azure AI-account voor meerdere services beschikbaar is in dezelfde regio's als Azure AI Search.

Als u een aangepaste vaardigheid en een Azure-hostingmechanisme (zoals een Azure-functie-app, Azure-web-app en Azure Kubernetes) gebruikt, controleert u het Azure-product op regiopagina voor beschikbaarheid van functies.

Gegevenssegmentering (vaardigheid Tekst splitsen) is gratis en beschikbaar voor alle Azure AI-services in alle regio's.

Notitie

Sommige oudere zoekservices die vóór 1 januari 2019 zijn gemaakt, worden geïmplementeerd op infrastructuur die geen ondersteuning biedt 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.

Welke scenario's kunnen geïntegreerde vectorisatieondersteuning bieden?

  • Deel grote documenten onder in segmenten, handig voor vector- en niet-vectorscenario's. Voor vectoren kunt u met segmenten voldoen aan de invoerbeperkingen voor het insluiten van modellen. Voor niet-vectorscenario's hebt u mogelijk een zoek-app in chatstijl waarin GPT antwoorden van geïndexeerde segmenten samenvoegt. U kunt gevectoriseerde of niet-gevectoriseerde segmenten gebruiken voor zoeken in chatstijl.

  • Bouw een vectorarchief waarin alle velden vectorvelden zijn en de document-id (vereist voor een zoekindex) het enige tekenreeksveld is. Voer een query uit in het vectorarchief om document-id's op te halen en verzend vervolgens de vectorvelden van het document naar een ander model.

  • Vector- en tekstvelden combineren voor hybride zoekopdrachten, met of zonder semantische rangschikking. Geïntegreerde vectorisatie vereenvoudigt alle scenario's die worden ondersteund door vectorzoekopdrachten.

Wanneer moet u geïntegreerde vectorisatie gebruiken

U wordt aangeraden de ingebouwde vectorisatieondersteuning van Azure AI Studio te gebruiken. Als deze aanpak niet aan uw behoeften voldoet, kunt u indexeerfuncties en vaardighedensets maken die geïntegreerde vectorisatie aanroepen met behulp van de programmatische interfaces van Azure AI Search.

Integratievectorisatie gebruiken

Voor vectorisatie met alleen query's:

  1. Voeg een vectorizer toe aan een index. Het moet hetzelfde insluitingsmodel zijn dat wordt gebruikt om vectoren in de index te genereren.
  2. Wijs de vectorizer toe aan een vectorprofiel en wijs vervolgens een vectorprofiel toe aan het vectorveld.
  3. Formuleer een vectorquery die de tekenreeks aangeeft die moet worden gevectoraliseerd.

Een veelvoorkomender scenario: gegevenssegmentering en vectorisatie tijdens het indexeren:

  1. Maak een gegevensbronverbinding met een ondersteunde gegevensbron voor indexering op basis van indexeerfuncties.
  2. Maak een vaardighedenset die de vaardigheid Text Split aanroept voor segmenten en AzureOpenAIEmbeddingModel of een andere insluitingsvaardigheid om de segmenten te vectoriseren.
  3. Maak een index die een vectorizer opgeeft voor de querytijd en wijs deze toe aan vectorvelden.
  4. Maak een indexeerfunctie om alles te stimuleren, van het ophalen van gegevens tot het uitvoeren van vaardighedensets, via indexering. Het is raadzaam om de indexeerfunctie volgens een schema uit te voeren om gewijzigde documenten of documenten op te halen die zijn gemist vanwege beperking.

U kunt desgewenst secundaire indexen maken voor geavanceerde scenario's waarbij gesegmenteerde inhoud zich in de ene index bevindt en niet in een andere index is gesegmenteerd. Gesegmenteerde indexen (of secundaire indexen) zijn handig voor RAG-apps.

Tip

Probeer de nieuwe wizard Gegevens importeren en vectoriseren in Azure Portal om geïntegreerde vectorisatie te verkennen voordat u code schrijft.

Verbindingen met vectorizers en modellen beveiligen

Als uw architectuur privéverbindingen vereist die het internet omzeilen, kunt u een gedeelde private link-verbinding maken met de insluitmodellen die worden gebruikt door vaardigheden tijdens het indexeren en vectorizers tijdens het uitvoeren van query's.

Gedeelde privékoppelingen werken alleen voor Azure-naar-Azure-verbindingen. Als u verbinding maakt met OpenAI of een ander extern model, moet de verbinding via het openbare internet zijn.

Voor vectorisatiescenario's gebruikt u:

  • openai_account voor het insluiten van modellen die worden gehost op een Azure OpenAI-resource.

  • sites voor het insluiten van modellen die zijn geopend als een aangepaste vaardigheid of aangepaste vectorizer. De sites groeps-id is voor App-services en Azure-functies, die u kunt gebruiken om een insluitmodel te hosten dat geen van de Azure OpenAI-insluitingsmodellen is.

Beperkingen

Zorg ervoor dat u de Azure OpenAI-quota en -limieten kent voor het insluiten van modellen. Azure AI Search heeft beleid voor opnieuw proberen, maar als het quotum is uitgeput, mislukken nieuwe pogingen.

Limieten voor Azure OpenAI-token per minuut zijn per model, per abonnement. Houd er rekening mee dat als u een insluitmodel gebruikt voor zowel query- als indexeringsworkloads. Volg indien mogelijk de aanbevolen procedures. Zorg voor een insluitmodel voor elke workload en probeer deze in verschillende abonnementen te implementeren.

Houd er in Azure AI Search rekening mee dat er servicelimieten zijn per laag en workloads.

Voordelen van geïntegreerde vectorisatie

Hier volgen enkele van de belangrijkste voordelen van de geïntegreerde vectorisatie:

  • Geen afzonderlijke pijplijn voor het segmenteren en vectoriseren van gegevens. Code is eenvoudiger te schrijven en te onderhouden.

  • Automatiseer het end-to-end indexeren. Wanneer gegevens in de bron (zoals in Azure Storage, Azure SQL of Cosmos DB) worden gewijzigd, kan de indexeerfunctie deze updates verplaatsen via de hele pijplijn, van ophalen tot documentbarsten, via optionele AI-verrijking, gegevenssegmentering, vectorisatie en indexering.

  • Batchverwerkings- en nieuwe pogingslogica is ingebouwd (niet configureerbaar). Azure AI Search heeft intern beleid voor opnieuw proberen voor beperkingsfouten die worden weergegeven omdat het Azure OpenAI-eindpunt maximaal tokenquota heeft voor het insluitmodel. We raden u aan de indexeerfunctie volgens een schema (bijvoorbeeld om de 5 minuten) te plaatsen, zodat de indexeerfunctie alle aanroepen kan verwerken die zijn beperkt door het Azure OpenAI-eindpunt, ondanks het beleid voor opnieuw proberen.

  • Gesegmenteerde inhoud projecteren naar secundaire indexen. Secundaire indexen worden gemaakt zoals elke zoekindex (een schema met velden en andere constructies), maar deze worden gevuld met een primaire index door een indexeerfunctie. Inhoud van elk brondocument stroomt naar velden in primaire en secundaire indexen tijdens dezelfde indexeringsuitvoering.

    Secundaire indexen zijn bedoeld voor vraag- en antwoord- of chatstijl-apps. De secundaire index bevat gedetailleerde informatie voor specifiekere overeenkomsten, maar de bovenliggende index bevat meer informatie en kan vaak een completer antwoord opleveren. Wanneer een overeenkomst wordt gevonden in de secundaire index, retourneert de query het bovenliggende document uit de primaire index. Uitgaande van een groot PDF-bestand als brondocument, kan de primaire index bijvoorbeeld basisinformatie bevatten (titel, datum, auteur, beschrijving), terwijl een secundaire index segmenten van doorzoekbare inhoud bevat.

Volgende stappen