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.
Important
Deze functies en functionaliteit ondersteunen verbindingen met andere Microsoft-services en services van derden. Het gebruik van deze services is onderhevig aan hun respectieve voorwaarden en kan leiden tot gegevensverwerking of opslag buiten de grens van Azure naleving, evenals gegevens die naar de grens van de Azure naleving stromen.
Het is uw verantwoordelijkheid om te beheren of uw gegevens buiten de nalevings- en geografische grenzen van uw organisatie en eventuele gerelateerde implicaties stromen, en dat de juiste machtigingen, grenzen en goedkeuringen worden ingericht.
U bent verantwoordelijk voor het zorgvuldig beoordelen en testen van toepassingen die u bouwt in de context van uw specifieke use cases en het nemen van alle juiste beslissingen en aanpassingen. Dit omvat het implementeren van uw eigen verantwoorde AI-oplossingen, zoals metaprompts, inhoudsfilters of andere veiligheidssystemen, en ervoor zorgen dat uw toepassingen voldoen aan de juiste kwaliteit, betrouwbaarheid, beveiliging en betrouwbaarheidsstandaarden. Zie de Azure AI Zoeken Transparantienotitie voor meer informatie.
In dit artikel leert u hoe u bijschriften genereert met behulp van AI-verrijking en een vaardighedenset. Afbeeldingen bevatten vaak nuttige informatie die relevant is in zoekscenario's. U kunt afbeeldingen vectoriseren om visuele inhoud in uw zoekindex weer te geven. U kunt ook AI-verrijking en vaardigheden gebruiken om doorzoekbare tekst uit afbeeldingen te maken en te extraheren.
De genAI-promptvaardigheid kan een beschrijving genereren van elke afbeelding in uw gegevensbron en de indexeerfunctie pusht die beschrijving naar een zoekindex. Als u de beschrijvingen wilt bekijken, voert u een query uit die deze in het antwoord bevat.
Voorwaarden
Als u met afbeeldingsinhoud in een vaardighedenset wilt werken, hebt u het volgende nodig:
- Een ondersteunde gegevensbron. We raden Azure Storage aan.
- Bestanden of blobs met afbeeldingen.
- Leestoegang tot de ondersteunde gegevensbron. In dit artikel wordt gebruikgemaakt van verificatie op basis van sleutels, maar indexeerfuncties kunnen ook verbinding maken met behulp van de identiteit van de zoekservice en Microsoft Entra ID-verificatie. Wijs voor op rollen gebaseerd toegangsbeheer rollen toe aan de gegevensbron om leestoegang door de service-id toe te staan. Als u test op een lokale ontwikkelcomputer, controleert u of u ook leestoegang hebt voor de ondersteunde gegevensbron.
- Een zoekindexeerfunctie die is geconfigureerd voor afbeeldingsacties.
- Een vaardighedenset met de GenAI Prompt-vaardigheid.
- Een zoekindex met velden voor het ontvangen van gegenereerde tekstuitvoer, plus uitvoerveldtoewijzingen in de indexeerfunctie die de koppelingen tot stand brengt.
U kunt eventueel projecties definiëren om door afbeeldingen geanalyseerde uitvoer te accepteren in een kennisarchief voor scenario's voor gegevensanalyse.
Indexeerfuncties configureren voor afbeeldingsverwerking
Nadat de bronbestanden zijn ingesteld, schakelt u de imagenormalisatie in door de imageAction parameter in te stellen in de configuratie van de indexeerder. Normalisatie van afbeeldingen helpt afbeeldingen uniformer te maken voor downstreamverwerking. Afbeeldingsnormalisatie omvat de volgende bewerkingen:
- Grote afbeeldingen worden aangepast tot een maximale hoogte en breedte om ze uniform te maken.
- Voor afbeeldingen met metagegevens die de oriëntatie aangeven, wordt de rotatie van de afbeelding aangepast voor verticaal weergeven.
Houd er rekening mee dat als u imageAction inschakelt (deze parameter instelt op een andere parameter dan none), extra kosten in rekening worden gebracht voor het extraheren van afbeeldingen volgens Azure AI Zoeken prijzen.
Een indexeerfunctie maken of bijwerken om de configuratie-eigenschappen in te stellen:
{ "parameters": { "configuration": { "dataToExtract": "contentAndMetadata", "parsingMode": "default", "imageAction": "generateNormalizedImages" } } }Stel
dataToExtractin opcontentAndMetadata(vereist).Controleer of de
parsingModeis ingesteld op standaard (vereist).Deze parameter bepaalt de granulariteit van zoekdocumenten die in de index zijn gemaakt. In de standaardmodus wordt een een-op-een-correspondentie ingesteld, zodat één blob in één zoekdocument resulteert. Als documenten groot zijn of als vaardigheden kleinere stukken tekst vereisen, kunt u de vaardigheid Tekst splitsen toevoegen die een document onderverdeelt voor verwerkingsdoeleinden. Maar voor zoekscenario's is één blob per document vereist als verrijking afbeeldingsverwerking omvat.
Stel
imageActionin om hetnormalized_imagesknooppunt in te schakelen in een verrijkingsboom (vereist)generateNormalizedImagesom een matrix van genormaliseerde afbeeldingen te genereren als onderdeel van het kraken van documenten.generateNormalizedImagePerPage(alleen van toepassing op PDF) om een matrix met genormaliseerde afbeeldingen te genereren waarbij elke pagina in het PDF-bestand wordt weergegeven op één uitvoerafbeelding. Voor niet-PDF-bestanden is het gedrag van deze parameter vergelijkbaar alsof u hebt ingesteldgenerateNormalizedImages. De instellinggenerateNormalizedImagePerPagekan er echter voor zorgen dat indexeringsbewerking minder goed presteert (met name voor grote documenten), omdat er verschillende afbeeldingen moeten worden gegenereerd.
U kunt desgewenst de breedte of hoogte van de gegenereerde genormaliseerde afbeeldingen aanpassen:
normalizedImageMaxWidth wordt gemeten in pixels. De standaardwaarde is 2000. De maximumwaarde is 10.000.
normalizedImageMaxHeight wordt gemeten in pixels. De standaardwaarde is 2000. De maximumwaarde is 10.000.
Over genormaliseerde afbeeldingen
Wanneer imageAction dit is ingesteld op een andere waarde dan geen, bevat het nieuwe normalized_images veld een matrix met afbeeldingen. Elke afbeelding is een complex type met de volgende leden:
| Afbeeldingselement | Beschrijving |
|---|---|
| Gegevens | Met BASE64 gecodeerde tekenreeks van de genormaliseerde afbeelding in JPEG-indeling. |
| Breedte | Breedte van de genormaliseerde afbeelding in pixels. |
| Hoogte | Hoogte van de genormaliseerde afbeelding in pixels. |
| oorspronkelijke breedte | De oorspronkelijke breedte van de afbeelding vóór normalisatie. |
| origineleHoogte | De oorspronkelijke hoogte van de afbeelding vóór normalisatie. |
| rotatieVanOorspronkelijk | Tegen de klok in draaiing in graden die plaatsvond om de genormaliseerde afbeelding te maken. Een waarde tussen 0 graden en 360 graden. In deze stap worden metagegevens gelezen van de afbeelding die is gegenereerd door een camera of scanner. Meestal een veelvoud van 90 graden. |
| contentOffset | Het tekenverschil in het inhoudsveld waaruit de afbeelding is geëxtraheerd. Dit veld is alleen van toepassing op bestanden met ingesloten afbeeldingen. De contentOffset voor afbeeldingen die zijn geëxtraheerd uit PDF-documenten, bevindt zich altijd aan het einde van de tekst op de pagina waar deze in het document is geëxtraheerd. Dit betekent dat afbeeldingen na alle tekst op die pagina worden weergegeven, ongeacht de oorspronkelijke locatie van de afbeelding op de pagina. |
| paginanummer | Als de afbeelding is geëxtraheerd of weergegeven uit een PDF, bevat dit veld het paginanummer in het PDF-bestand dat is geëxtraheerd of weergegeven vanaf 1. Als de afbeelding niet afkomstig is van een PDF,is dit veld 0. |
Voorbeeldwaarde van normalized_images:
[
{
"data": "BASE64 ENCODED STRING OF A JPEG IMAGE",
"width": 500,
"height": 300,
"originalWidth": 5000,
"originalHeight": 3000,
"rotationFromOriginal": 90,
"contentOffset": 500,
"pageNumber": 2
}
]
Vaardigheidssets definiëren voor afbeeldingsverwerking
Deze sectie vormt een aanvulling op de artikelen over vaardigheidsverwijzingen door context te bieden voor het werken met vaardigheidsinvoer, uitvoer en patronen, zoals ze betrekking hebben op afbeeldingsverwerking.
- Een vaardighedenset maken of bijwerken om vaardigheden toe te voegen.
Zodra het basisframework van uw vaardighedenset is gemaakt en Foundry Tools is geconfigureerd, kunt u zich richten op elke afzonderlijke afbeeldingsvaardigheid, invoer en broncontext definiëren en uitvoer toewijzen aan velden in een index of kennisarchief.
Opmerking
Zie REST Tutorial: Use REST and AI to generate searchable content from Azure blobs voor een voorbeeld van een skillset die afbeeldingsverwerking combineert met downstream verwerking van natuurlijke taal. Het laat zien hoe u de uitvoer van vaardigheidsafbeeldingen invoert in entiteitsherkenning en sleuteltermextractie.
Voorbeeldinvoer voor afbeeldingsverwerking
Zoals vermeld, worden afbeeldingen geëxtraheerd tijdens het kraken van documenten en vervolgens genormaliseerd als een voorbereidende stap. De genormaliseerde afbeeldingen zijn de invoer voor elke vaardigheid voor het verwerken van afbeeldingen en worden altijd op twee manieren weergegeven in een verrijkte documentstructuur:
-
/document/normalized_images/*is bedoeld voor documenten die geheel worden verwerkt.
{
"@odata.type": "#Microsoft.Skills.Custom.ChatCompletionSkill",
"context": "/document/normalized_images/*",
"uri": "https://contoso.openai.azure.com/openai/deployments/contoso-gpt-4o/chat/completions?api-version=2025-01-01-preview",
"apiKey": "<YOUR-API-KEY here>",
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*/data"
},
{
"name": "systemMessage",
"source": "='You are a useful artificial intelligence assistant that helps people.'"
},
{
"name": "userMessage",
"source": "='Describe what you see in this image in 20 words or less in Spanish.'"
}
],
"outputs": [
{
"name": "response",
"targetName": "captionedImage"
}
]
}
Voorbeeld van het gebruik van JSON-schemaantwoorden met tekstinvoer
In dit voorbeeld ziet u hoe u gestructureerde uitvoer gebruikt voor taalmodellen. Deze mogelijkheid wordt momenteel meestal ondersteund door OpenAI-taalmodellen, hoewel dit in de toekomst kan veranderen.
{
"@odata.type": "#Microsoft.Skills.Custom.ChatCompletionSkill",
"context": "/document/content",
"uri": "https://contoso.openai.azure.com/openai/deployments/contoso-gpt-4o/chat/completions?api-version=2025-01-01-preview",
"apiKey": "<YOUR-API-KEY here>",
"inputs": [
{
"name": "systemMessage",
"source": "='You are a useful artificial intelligence assistant that helps people.'"
},
{
"name": "userMessage",
"source": "='How many languages are there in the world and what are they?'"
}
],
"response_format": {
"type": "json_schema",
"json_schema": {
"name": "structured_output",
"strict": true,
"schema": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"total",
"languages"
],
"additionalProperties": false
}
}
},
"outputs": [
{
"name": "response",
"targetName": "responseJsonForLanguages"
}
]
}
Koppel uitvoer aan zoekvelden
Uitvoertekst wordt weergegeven als knooppunten in een interne verrijkte documentstructuur en elk knooppunt moet worden toegewezen aan velden in een zoekindex of aan projecties in een kennisarchief om de inhoud beschikbaar te maken in uw app.
Gebruik eerst Maken of Bijwerken - Index om velden toe te voegen om de uitvoer van vaardigheden te accepteren.
In het volgende voorbeeld van de verzameling van velden:
-
contentis blobinhoud. -
metadata_storage_namebevat de naam van het bestand (ingesteld opretrievabletrue). -
metadata_storage_pathis het unieke pad van de blob en is de standaarddocumentsleutel. -
merged_contentis het resultaat van Tekstsamenvoeging, handig wanneer afbeeldingen ingesloten zijn. -
captioned_imageis een vaardigheidsuitvoer en moet een tekenreeksveld zijn om alle uitvoer van het taalmodel in de zoekindex vast te leggen.
"fields": [
{
"name": "content",
"type": "Edm.String",
"filterable": false,
"retrievable": true,
"searchable": true,
"sortable": false
},
{
"name": "metadata_storage_name",
"type": "Edm.String",
"filterable": true,
"retrievable": true,
"searchable": true,
"sortable": false
},
{
"name": "metadata_storage_path",
"type": "Edm.String",
"filterable": false,
"key": true,
"retrievable": true,
"searchable": false,
"sortable": false
},
{
"name": "captioned_image",
"type": "Edm.String",
"filterable": false,
"retrievable": true,
"searchable": true,
"sortable": false
}
]
Gebruik vervolgens Update - Indexer om de uitvoer van vaardighedensets (knooppunten in een verrijkingsstructuur) toe te wijzen aan indexvelden.
Verrijkte documenten zijn intern toegankelijk. Als u de knooppunten in een verrijkte documentstructuur wilt externaliseren, stelt u een toewijzing van uitvoervelden in waarmee wordt opgegeven welk indexveld knooppuntinhoud ontvangt. Verrijkte gegevens worden door uw app geopend via een indexveld. In het volgende voorbeeld ziet u een tekstknooppunt (OCR-uitvoer) in een verrijkt document dat is toegewezen aan een tekstveld in een zoekindex.
"outputFieldMappings": [
{
"sourceFieldName": "/document/normalized_images/*/captionedImage",
"targetFieldName": "captioned_image"
}
]
Voer de indexeerfunctie uit om het ophalen van brondocument aan te roepen, afbeeldingsverwerking via bijschriften voor taalmodellen en indexering.
Resultaten controleren
Voer een query uit op de index om de resultaten van afbeeldingsverwerking te controleren. Gebruik Search Explorer als zoekclient of een hulpprogramma waarmee HTTP-aanvragen worden verzonden. De volgende query selecteert velden die de uitvoer van afbeeldingsverwerking bevatten.
POST /indexes/[index name]/docs/search?api-version=[api-version]
{
"search": "A cat in a picture",
"select": "metadata_storage_name, captioned_image"
}