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.
Opmerking
Azure AI Zoeken is beschikbaar via de Azure-portal, REST API's en Azure-SDK's. Het vormt ook een basis voor Foundry IQ, de beheerde kennislaag die bedrijfsinhoud transformeert in herbruikbare, machtigingsbewuste knowledge bases voor agents in de Microsoft Foundry-portal.
Als u inhoud segmenteert voor een RAG-patroon of vectorisatie, kunt u een indexprojectie opgeven om een-op-veel-indexering te beheren, waarbij broninhoud (één) wordt geprojecteerd op een of meer indexen (veel). De bedoeling van een indexprojectie is om te bepalen of elementen van het bovenliggende document, zoals een bestandsnaam of aanmaakdatum:
- Herhaal dit voor elk kind (deel) in een enkele index.
- Worden geïndexeerd als zelfstandige zoekdocumenten in dezelfde index
- Of worden opgenomen in afzonderlijke indexen
Het is raadzaam bovenliggende velden in één index te herhalen, omdat het lastig is om een query uit te voeren op verschillende documentvormen of inhoud te splitsen over twee indexen, met name in klassieke zoekopdrachten waarbij indexkoppelingen niet worden ondersteund.
In Azure AI Zoeken wordt segmentering uitgevoerd door vaardigheden en is het dus afhankelijk van indexeerfuncties. Als u een indexprojectie wilt definiëren, geeft u deze op in een vaardighedenset.
Voorwaarden
Azure AI Zoeken, elke laag of regio.
Een ondersteunde gegevensbron met inhoud die u wilt segmenteren.
Een index (een of veel) die de uitvoer van de indexeerpijplijn accepteert.
Een vaardigheid waarmee inhoud wordt opgesplitst, zoals de vaardigheid Tekst splitsen.
De skillset bevat de indexeerprojectie die de gegevens voor een-naar-veel-indexering vormgeeft. Een vaardighedenset kan ook andere vaardigheden hebben, zoals een insluitvaardigheid zoals AzureOpenAIEmbedding als uw scenario geïntegreerde vectorisatie omvat.
Een benadering kiezen
Indexprojecties genereren 'kind'-documenten (segmenten) voor elk 'ouder'-document. Kies hoe bovenliggende inhoud moet worden verwerkt:
| Aanpak | Beschrijving | Configuratie |
|---|---|---|
| Eén index, herhalende parentvelden (aanbevolen) | Bovenliggende velden worden voor elk segment herhaald. Alle documenten hebben een uniforme vorm. | Stel zowel de indexeerfunctie targetIndexName als de indexprojectie targetIndexName in op dezelfde index. Stel projectionMode in op skipIndexingParentDocuments. |
| Één enkele index, gemengde documentvormen | Bovenliggende documenten en segmentdocumenten bestaan naast elkaar. Bovenliggende documenten hebben null-segmentvelden. | Stel beide targetIndexName waarden in op dezelfde index. Ingesteld projectionMode op includeIndexingParentDocuments (of weglaten, omdat dit de standaardinstelling is). |
| Twee of meer afzonderlijke indexen | Bovenliggende index voor zoekacties naar metagegevens, onderliggende index voor zoeken. Geen querytijddeelnames. | Stel de indexeerfunctie targetIndexName in op de bovenliggende index. Stel indexprojectie targetIndexName in op kinderindex. De selectors array bepaalt de hoeveelheid en samenstelling van de kindindex. |
Gebruik voor de meeste RAG-scenario's de eerste benadering. Zie het voorbeeld van classic RAG.
Implementatiestappen voor de aanbevolen aanpak
- Maak een index die is ontworpen voor brokken, waarbij bovenliggende velden zijn opgenomen.
-
Maak een vaardighedenset met een segmenteervaardigheid en
indexProjections. - Maak een indexeerfunctie die verwijst naar de ondersteunde gegevensbron.
Als uw gegevensbron wijzigingen bijhouden ondersteunt, worden wijzigingen automatisch gesynchroniseerd met de indexeerfunctie.
Een index maken voor een-op-veel-indexering
Of u nu één index maakt voor segmenten die bovenliggende waarden herhalen of afzonderlijke indexen voor plaatsing van bovenliggende en onderliggende velden, de primaire index die wordt gebruikt voor het zoeken, is ontworpen rond gegevenssegmenten. Het indexschema moet de volgende velden hebben:
Een documentsleutelveld dat elk document uniek identificeert. Het moet worden gedefinieerd als type
Edm.Stringmet dekeywordanalyzer.Een veld dat elke chunk aan het bovenliggende element toewijst. Het moet van het type
Edm.Stringzijn. Het kan niet het documentsleutelveld zijn en moetfilterableingesteld zijn op true. Dit wordt parent_id genoemd in de voorbeelden en als een geprojecteerde sleutelwaarde in dit artikel.Andere velden voor inhoud, zoals tekst of gevectoriseerde segmentvelden.
Er moet een index aanwezig zijn in de zoekservice voordat u de vaardighedenset maakt of de indexeerfunctie uitvoert. De selectors velden die u in de vaardighedenset definieert, moeten deze velden bevatten.
Schema met één index inclusief ouder- en kindvelden
Eén index die is ontworpen rond segmenten met bovenliggende inhoud die voor elk segment wordt herhaald, is het overheersende patroon voor RAG- en vectorzoekscenario's. De mogelijkheid om de juiste bovenliggende inhoud aan elk deel te koppelen, wordt mogelijk gemaakt via indexprojecties.
Het volgende schema is een voorbeeld dat voldoet aan de vereisten voor indexprojecties. In dit voorbeeld:
- Bovenliggende velden zijn de parent_id en de titel en ze herhalen voor elk segment
- Onderliggende velden zijn de vector- en niet-vectorsegmenten. De chunk_id is de document-id van deze index.
U kunt de Azure portal, REST API's of een Azure SDK gebruiken om een index te
Gebruik een REST-client of de Azure-portal Aanvoegingsindex en de JSON-optie om de index te maken.
{
"name": "my_consolidated_index",
"fields": [
{"name": "chunk_id", "type": "Edm.String", "key": true, "filterable": true, "analyzer": "keyword"},
{"name": "parent_id", "type": "Edm.String", "filterable": true},
{"name": "title", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "retrievable": true},
{"name": "chunk", "type": "Edm.String","searchable": true,"retrievable": true},
{"name": "chunk_vector", "type": "Collection(Edm.Single)", "searchable": true, "retrievable": false, "stored": false, "dimensions": 1536, "vectorSearchProfile": "hnsw"}
],
"vectorSearch": {
"algorithms": [{"name": "hnsw", "kind": "hnsw", "hnswParameters": {}}],
"profiles": [{"name": "hnsw", "algorithm": "hnsw"}]
}
}
Indexprojecties toevoegen aan een vaardighedenset
Indexprojecties worden gedefinieerd in een definitie van een vaardighedenset en worden voornamelijk gedefinieerd als een matrix van selectors, waarbij elke selector overeenkomt met een andere doelindex in de zoekservice. Deze sectie begint met syntaxis en voorbeelden voor context, gevolgd door parameterreferentie.
Indexprojecties zijn algemeen beschikbaar. We raden de meest recente stabiele API aan:
Hier is een voorbeeld van een payload voor een indexprojectie-definitie die u kunt gebruiken om individuele pagina's, gegenereerd door de Text Split skill, als eigen documenten in de zoekindex te projecteren.
Als het bovenliggende document machtigingsmetagegevens bevat voor toegang op documentniveau, zoals metadata_user_ids, metadata_group_idsof metadata_spo_site_url, moet u deze velden opnemen in mappings. Elk segment moet die overnemen, zodat machtigingsfilters tijdens query-uitvoering van toepassing zijn. Zie Kiezen waar ACL-velden moeten worden ingevuld (preview) voor meer informatie.
"indexProjections": {
"selectors": [
{
"targetIndexName": "my_consolidated_index",
"parentKeyFieldName": "parent_id",
"sourceContext": "/document/pages/*",
"mappings": [
{
"name": "chunk",
"source": "/document/pages/*",
"sourceContext": null,
"inputs": []
},
{
"name": "chunk_vector",
"source": "/document/pages/*/chunk_vector",
"sourceContext": null,
"inputs": []
},
{
"name": "title",
"source": "/document/title",
"sourceContext": null,
"inputs": []
}
]
}
],
"parameters": {
"projectionMode": "skipIndexingParentDocuments"
}
}
Parameterreferentie
| Parameters voor indexprojectie | Definitie |
|---|---|
selectors |
Een matrix met parameters voor de hoofdzoekopdracht, meestal de index die is ontworpen rond segmenten. U kunt inhoud naar meerdere onderliggende indexen verzenden door meerdere selectors op te geven. De indexschema's moeten aanwezig zijn in de zoekservice voordat u de indexeerfunctie uitvoert. |
parameters |
Een parameterwoordenlijst van configuratie-eigenschappen voor indexprojectie. |
Parameters hebben de volgende elementen als onderdeel van hun definitie.
| Parameters | Definitie |
|---|---|
parameters.projectionMode |
Een optionele parameter met instructies voor de indexeerfunctie. Geldige waarden zijn onder andere includeIndexingParentDocuments en skipIndexingParentDocuments. De beste waarde voor deze parameter is skipIndexingParentDocuments. U moet deze gebruiken wanneer gesegmenteerde documenten het primaire zoekdoel zijn. Als u niet instelt skipIndexingParentDocuments voor projectionMode, wordt includeIndexingParentDocuments dit automatisch weergegeven omdat dit de standaardwaarde is. Er worden extra zoekdocumenten toegevoegd aan uw index die null zijn voor brokken, maar gevuld met ouder-specifieke inhoud. Als bijvoorbeeld vijf PDF-bestanden 100 segmenten aan de index bijdragen, is het aantal documenten in de index 105. De vijf documenten die zijn gemaakt voor bovenliggende velden hebben null-waarden voor segmentvelden (onderliggende velden), waardoor ze aanzienlijk verschillen van het grootste deel van de documenten in de index. Daarom raden we aan projectionMode om in te stellen op skipIndexingParentDocuments. |
Selectors hebben de volgende elementen als onderdeel van hun definitie.
| Selectors | Definitie |
|---|---|
selectors.targetIndexName |
De naam van de index waarin indexgegevens worden geprojecteerd. Dit is de enkelvoudige gesegmenteerde index met herhalende bovenliggende velden of de onderliggende index als u afzonderlijke indexen gebruikt voor bovenliggende en onderliggende inhoud. |
selectors.parentKeyFieldName |
De naam van het veld met de sleutel voor het hoofddocument. |
selectors.sourceContext |
De verrijkingsaantekening waarmee de granulariteit wordt gedefinieerd waarmee gegevens kunnen worden toegewezen aan afzonderlijke zoekdocumenten. Zie Vaardigheidscontext en invoeraantekeningstaal voor meer informatie. |
selectors.mappings |
Een matrix van toewijzingen van verrijkte gegevens aan velden in de zoekindex. Elke mapping bestaat uit: name: De naam van het veld in de zoekindex waarin de gegevens moeten worden geïndexeerd. source: Het verrijkingsaantekeningspad waaruit de gegevens moeten worden opgehaald. Elk mapping kan ook recursief gegevens definiëren met een optioneel sourceContext veld, inputs vergelijkbaar met het kennisarchief of Shaper Skill. Afhankelijk van uw toepassing kunt u met deze parameters gegevens vormgeven in velden van het type Edm.ComplexType in de zoekindex. Sommige LLM's accepteren geen complex type in zoekresultaten, dus de LLM die u gebruikt, bepaalt of een complexe typetoewijzing nuttig is of niet. |
De mappings parameter is belangrijk. U moet elk veld in de kindindex expliciet toewijzen, behalve de ID-velden zoals de documentsleutel en de bovenliggende ID.
Deze eis staat in contrast met andere veldtoewijzingsregels in Azure AI Zoeken. Voor sommige gegevensbrontypen kan de indexeerfunctie impliciet velden toewijzen op basis van vergelijkbare namen of bekende kenmerken (bijvoorbeeld blob-indexeerfuncties gebruiken het unieke opslagpad voor metagegevens als de standaarddocumentsleutel). Voor indexeerprojecties moet u echter expliciet elke veldtoewijzing aan de 'veel'-kant van de relatie opgeven.
Belangrijk
Maak geen veldtoewijzing voor het ouder sleutelveld. Hierdoor wordt het bijhouden van wijzigingen en het vernieuwen van gesynchroniseerde gegevens verstoord.
Veldtoewijzingen controleren
Indexeerfuncties zijn gekoppeld aan drie verschillende typen veldtoewijzingen. Voordat u de indexeerfunctie uitvoert, controleert u de veldtoewijzingen en weet u wanneer u elk type moet gebruiken.
Veldtoewijzingen worden gedefinieerd in een indexeerfunctie en worden gebruikt om een bronveld toe te wijzen aan een indexveld. Veldtoewijzingen worden gebruikt voor gegevenspaden die gegevens uit de bron opheffen en doorgeven voor indexering, zonder tussenliggende vaardighedenverwerkingsstap. Normaal gesproken kan een indexeerder automatisch velden koppelen met dezelfde naam en hetzelfde type. Expliciete veldtoewijzingen zijn alleen vereist wanneer er verschillen zijn. Bij een-op-veel-indexering en de patronen die tot nu toe zijn besproken, hebt u mogelijk geen veldtoewijzingen nodig.
Uitvoerveldtoewijzingen worden gedefinieerd in een indexeerfunctie en gebruikt om verrijkte inhoud die door een vaardighedenset wordt gegenereerd, toe te wijzen aan een veld in de hoofdindex. Segmenten worden beschouwd als verrijkte inhoud vanwege het maken door een vaardigheid (Tekst splitsen), maar u hebt geen uitvoerveldtoewijzing nodig voor segmenten of voor indexprojecties die zijn gedefinieerd door een selectortoewijzing.
Selectors.mappings worden gedefinieerd in een skillset en worden toegewezen aan velden in de onderliggende index. In gevallen waarin de kindindex ook ouder-velden bevat (zoals in de geconsolideerde indexoplossing), moet u veldtoewijzingen configureren voor elk veld met inhoud, inclusief het titelveld op ouder-niveau, ervan uitgaande dat u de titel wilt weergeven in elk gesegmenteerd document. Als u afzonderlijke bovenliggende en onderliggende indexen gebruikt, moet de selector veldtoewijzingen hebben voor alleen de velden op onderliggend niveau.
Opmerking
Zowel uitvoerveldtoewijzingen als selectortoewijzingen accepteren verrijkte documentstructuurknooppunten als broninvoer. Weten hoe u een pad naar elk knooppunt opgeeft, is essentieel voor het instellen van het gegevenspad. Zie voor meer informatie over padsyntaxis Een pad naar verrijkte knooppunten en Definitie van vaardighedenset voor voorbeelden.
De indexeerfunctie uitvoeren
Zodra u een gegevensbron, indexen en vaardighedenset hebt gemaakt, kunt u de indexeerfunctie maken en uitvoeren. Met deze stap wordt de pijplijn in uitvoering gebracht.
Nadat de verwerking is voltooid, kunt u een query uitvoeren op uw zoekindex om uw oplossing te testen.
Levenscyclus van inhoud
Afhankelijk van de onderliggende gegevensbron kan een indexeerfunctie doorgaans doorlopende detectie van wijzigingen bijhouden en verwijderen bieden. In deze sectie wordt de levenscyclus van inhoud van een-op-veel-indexering uitgelegd, omdat het betrekking heeft op het vernieuwen van gegevens.
Voor gegevensbronnen die detectie van wijzigingen bijhouden en verwijderen bieden, kan een indexeerfunctie wijzigingen in uw brongegevens ophalen. Telkens wanneer u de indexeerfunctie en vaardighedenset uitvoert, worden de indexprojecties bijgewerkt als de vaardighedenset of onderliggende brongegevens zijn gewijzigd. Wijzigingen die door de indexeerfunctie worden opgehaald, worden via het verrijkingsproces doorgegeven aan de projecties in de index, zodat uw verwachte gegevens een huidige weergave van inhoud in de oorspronkelijke gegevensbron zijn. Gegevensvernieuwingsactiviteit wordt vastgelegd in een projected sleutelwaarde voor elk segment. Deze waarde wordt bijgewerkt wanneer de onderliggende gegevens worden gewijzigd.
Opmerking
Hoewel u de gegevens in de geprojecteerde documenten handmatig kunt bewerken met behulp van de indexpush-API, moet u dit vermijden. Handmatige updates voor een index worden overschreven bij de volgende pijplijnaanroep, ervan uitgaande dat het document in de brongegevens is bijgewerkt en de gegevensbron wijzigingsopsporing of verwijderopsporing heeft ingeschakeld.
Bijgewerkte inhoud
Als u nieuwe inhoud aan uw gegevensbron toevoegt, worden nieuwe segmenten of onderliggende documenten toegevoegd aan de index tijdens de volgende indexeerfunctieuitvoering.
Als u bestaande inhoud in de gegevensbron wijzigt, worden segmenten stapsgewijs bijgewerkt in de zoekindex als de gegevensbron die u gebruikt ondersteuning biedt voor het bijhouden en verwijderen van wijzigingen. Als een woord of zin bijvoorbeeld verandert in een document, wordt het segment in de doelindex met dat woord of die zin bijgewerkt bij de volgende indexeerfunctie. Andere typen updates, zoals het wijzigen van een veldtype en sommige toewijzingen, worden niet ondersteund voor bestaande velden. Zie Een indexschema bijwerken voor meer informatie over toegestane updates.
Sommige gegevensbronnen, zoals Azure Storage bieden standaard ondersteuning voor het bijhouden van wijzigingen en verwijderingen op basis van de tijdstempel. Andere gegevensbronnen, zoals Microsoft OneLake, Azure SQL of Azure Cosmos DB moeten worden geconfigureerd voor het bijhouden van wijzigingen.
Verwijderde inhoud
Als de broninhoud niet meer bestaat (bijvoorbeeld als tekst wordt ingekort tot minder segmenten), wordt het bijbehorende onderliggende document in de zoekindex verwijderd. De overige kinddocumenten worden ook bijgewerkt met een nieuwe hashwaarde, zelfs als hun inhoud verder niet is gewijzigd.
Als een bovenliggend document volledig uit de gegevensbron is verwijderd, worden de bijbehorende onderliggende documenten alleen verwijderd als de verwijdering door een in de gegevensbronomschrijving gedefinieerde dataDeletionDetectionPolicy wordt gedetecteerd. Als u geen dataDeletionDetectionPolicy hebt geconfigureerd en u wilt een bovenliggend document uit de gegevensbron verwijderen, moet u onderliggende documenten handmatig verwijderen als ze niet langer gewenst zijn.
Geprojecteerde sleutelwaarde
Om te zorgen voor de integriteit van gegevens voor bijgewerkte en verwijderde inhoud, is gegevensverversing binnen een een-op-veel-indexering afhankelijk van een geprojecteerde sleutelwaarde aan de 'veel'-zijde. Als u geïntegreerde vectorisatie of de wizard Gegevens importeren gebruikt, is de verwachte sleutelwaarde het parent_id veld in een segment of 'veel'-zijde van de index.
Een verwachte sleutelwaarde is een unieke id die door de indexeerfunctie voor elk document wordt gegenereerd. Het zorgt voor uniekheid en zorgt ervoor dat het bijhouden van wijzigingen en verwijderingen correct werkt. Deze sleutel bevat de volgende segmenten:
- Een willekeurige hash om uniciteit te waarborgen. Deze hash verandert als het bovenliggende document wordt bijgewerkt tijdens volgende indexeringsrondes.
- De sleutel van het bovenliggende document.
- Het verrijkingsannotatiepad dat de context voor het gegenereerde document identificeert.
Als u bijvoorbeeld een bronbestand splitst met de sleutelwaarde 'aa1b22c33' in vier pagina's, wordt elk van deze pagina's als een eigen document geprojecteerd met behulp van indexprojecties.
- aa1b22c33
- aa1b22c33_pages_0
- aa1b22c33_pages_1
- aa1b22c33_pages_2
Als het bovenliggende document in de brongegevens wordt bijgewerkt, waardoor er mogelijk meer gesegmenteerde pagina's ontstaan, verandert de willekeurige hash, worden er meer pagina's toegevoegd en wordt de inhoud van elk fragment bijgewerkt om overeen te komen met de inhoud van het brondocument.
Voorbeeld van afzonderlijke ouder-kind indexen
In deze sectie ziet u een voorbeeld voor afzonderlijke parent- en kindindexen. Het is een ongebruikelijk patroon, maar het is mogelijk dat u toepassingsvereisten hebt die het beste voldoen aan deze benadering. In dit scenario projecteert u ouder- en kindinhoud in twee afzonderlijke indexen.
Maak twee indexschema's.
Elk schema bevat de velden voor het specifieke detailniveau, waarbij het bovenliggende id-veld gemakkelijk beschikbaar is voor beide indexen voor gebruik in een opzoekopdracht. Het primaire zoekcorpus is de kindindex, maar u kunt een opzoekopdracht uitvoeren om de bovenliggende velden voor elke overeenkomst in het resultaat op te halen. Azure AI Zoeken biedt geen ondersteuning voor joins tijdens het uitvoeren van zoekopdrachten, dus uw applicatiecode of orkestratielaag moet resultaten samenvoegen of ordenen die kunnen worden doorgegeven aan een app of proces.
De bovenliggende index heeft een veld parent_id en een titel. De parent_id is de sleutel van het document. U hebt geen configuratie voor vectorzoekopdrachten nodig, tenzij u velden op het bovenliggende documentniveau wilt vectoriseren.
{ "name": "my-parent-index", "fields": [ {"name": "parent_id", "type": "Edm.String", "key":true, "filterable": true}, {"name": "title", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "retrievable": true} ] }De kindindex bevat de gesegmenteerde velden, plus het parent_id-veld. Als u geïntegreerde vectorisatie, scoringsystemen, semantische rangschikkers of analyzers gebruikt, stelt u deze in de subindex in.
{ "name": "my-child-index", "fields": [ {"name": "chunk_id", "type": "Edm.String", "key": true, "filterable": true, "analyzer": "keyword"}, {"name": "parent_id", "type": "Edm.String", "filterable": true}, {"name": "chunk", "type": "Edm.String","searchable": true,"retrievable": true}, {"name": "chunk_vector", "type": "Collection(Edm.Single)", "searchable": true, "retrievable": false, "stored": false, "dimensions": 1536, "vectorSearchProfile": "hnsw"} ], "vectorSearch": { "algorithms": [{"name": "hsnw", "kind": "hnsw", "hnswParameters": {}}], "profiles": [{"name": "hsnw", "algorithm": "hnsw"}] }, "scoringProfiles": [], "semanticConfiguration": [], "analyzers": [] }Werk de indexer bij om bovenliggende index als target op te geven.
De definitie van de indexeerfunctie geeft de onderdelen van de pijplijn aan. In de definitie van de indexeerfunctie is de indexnaam die moet worden opgegeven de bovenliggende index. Als u veldtoewijzingen nodig hebt voor de velden op ouderniveau, definieert u deze in outputFieldMappings. Voor een-op-veel-indexering die gebruikmaakt van afzonderlijke indexen, kan de definitie van de indexeerfunctie eruitzien als in het volgende voorbeeld.
{ "name": "my-indexer", "dataSourceName": "my-ds", "targetIndexName": "my-parent-index", "skillsetName" : "my-skillset", "parameters": { }, "fieldMappings": (optional) Maps fields in the underlying data source to fields in an index, "outputFieldMappings" : (required) Maps skill outputs to fields in an index, }Voeg
indexProjectionstoe aan het vaardighedenpakket.Hier volgt een voorbeeld van een definitie van een indexprojectie die het gegevenspad aangeeft dat de indexeerfunctie moet gebruiken om inhoud te indexeren. Hiermee specificeert u de naam van de subindex in de definitie van de indexprojectie en specificeert u de toewijzingen van elk subveld of chunkniveau veld. Dit is de enige plaats waar de naam van de kindindex is gespecificeerd.
U ziet dat
parametersnull is en de standaardwaardeincludeIndexingParentDocumentsgebruikt. De indexeerder vult de hoofdindex. Deselectorsreeks wordt gebruikt om de chunk-documenten naar de subindex te projecteren."indexProjections": { "selectors": [ { "targetIndexName": "my-child-index", "parentKeyFieldName": "parent_id", "sourceContext": "/document/pages/*", "mappings": [ { "name": "chunk", "source": "/document/pages/*", "sourceContext": null, "inputs": [] }, { "name": "chunk_vector", "source": "/document/pages/*/chunk_vector", "sourceContext": null, "inputs": [] } ] } ], "parameters": {} }Voer de indexeerfunctie uit. Als u de indexeerfunctie eerder hebt uitgevoerd, moet u deze eerst opnieuw instellen.
U moet twee indexen hebben gevuld met de juiste inhoud. Voer een query uit op de indexen in Search Explorer om te controleren of elke index de juiste inhoud heeft.
Volgende stap
Gegevenssegmentering en een-op-veel-indexering maken deel uit van het klassieke RAG-patroon in Azure AI Zoeken. Ga verder met de volgende zelfstudie en codevoorbeeld voor meer informatie.