Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Note
Recherche Azure AI est disponible via le portail Azure, les API REST et les SDK Azure. Il sous-tend également Foundry IQ, la couche de connaissances managée qui transforme le contenu d’entreprise en bases de connaissances réutilisables et prenant en charge les autorisations pour les agents dans le portail Microsoft Foundry.
Important
Les fonctionnalités, capacités ou propriétés marquées (préversion) ne sont pas couvertes par un accord de niveau de service, ne sont pas recommandées pour les workloads de production et peuvent être modifiées ou faire l’objet de restrictions avant leur mise à disposition générale. Les Recherche Azure AI termes de la préversion s'appliquent à toutes les fonctionnalités d'aperçu, qu'il s'agisse d'une fonctionnalité autonome ou d'une partie d'une fonctionnalité généralement disponible.
Utilisez le service d’image (préversion) pour exposer des images incorporées dans vos documents sources (tels que les diagrammes, les graphiques, les infographies, les formulaires analysés et les images de produit) lors de la récupération agentique, afin que votre modèle de langage volumineux (LLM) puisse raisonner sur le contexte visuel en même temps que du texte lorsqu’il synthétise une réponse.
Lorsque vous activez le service de diffusion d’images, Recherche Azure AI :
Au moment de l’indexation, extrait des images des documents pris en charge et les stocke dans un magasin de ressources Blob fourni par le client Azure.
Au moment de la requête, extrait ces images lors de l’action de récupération, les encode en base64 et les injecte en tant que contenu multimodal dans le prompt du LLM qui produit la réponse synthétisée.
Cet article explique comment activer le service d’images sur une base de connaissances, le remplacer par demande, inspecter les statistiques de service d’image et planifier les exigences de cycle de vie du compte de stockage.
Assistance à l'utilisation
Prerequisites
Service Recherche d’IA Azure avec une base de connaissances qui spécifie un LLM. La base de connaissances doit utiliser la synthèse des réponses.
Une source de connaissances indexée de type fichier configurée avec un fichier
assetStoredans soningestionParameters. Types pris en charge :- Source de connaissancesBlob (Stockage Blob Azure ou Azure Data Lake Storage Gen2)
- Source de connaissances OneLake indexée
- Source de connaissances SharePoint indexée
Pour les sources de connaissances Blob qui utilisent l’extraction standard, remplissez les prérequis des sources de connaissances Blob.
La source de connaissances ne doit pas configurer
ingestionPermissionOptions.Documents sources qui contiennent des images extractibles, telles que des fichiers PNG, des fichiers JPEG ou des fichiers PDF avec des images incorporées.
Une ressource Microsoft Foundry dans une région prise en charge par Azure Content Understanding dans Foundry Tools, avec des déploiements d'intégration Azure OpenAI et de conversation multimodale. Utilisez le point de terminaison de la ressource au format
https://<resource-name>.services.ai.azure.com.Autorisation de créer ou de mettre à jour la base de connaissances et la source de connaissances managée. Configurez l’authentification sans clé avec les rôles Contributeur du service de recherche et Contributeur de données d’index de recherche affectés à l’identité utilisateur ou Automation qui effectue ces opérations de gestion (recommandé). Vous pouvez également utiliser une clé API d’administration.
Autorisation d’appeler l’action de récupération. Attribuez le rôle Lecteur de données de l’index de recherche à l’identité qui envoie des demandes de récupération (recommandé) ou utilisez une clé API de requête.
Pour les appels sortants au LLM lors de la synthèse des réponses, le service de recherche doit disposer d’une identité managée avec les autorisations Utilisateur des services cognitifs sur la ressource Microsoft Foundry qui héberge le LLM.
Pour l’accès au magasin de ressources, configurez l’identité managée du service de recherche, comme décrit dans Configurer le magasin de ressources et l’accès aux applications.
L’API REST 2026-08-01-preview ou un package d’aperçu Kit de développement logiciel (SDK) Azure équivalent : .NET | Java | JavaScript | Python
Limitations et considérations
La diffusion d’images est disponible uniquement via l’
retrieveAPI dans le cadre de la récupération agentique. Les requêtes classiques/docs/searchne fournissent pas d’images incorporées à des documents pour la synthèse des réponses en aval sans solution ou configuration personnalisée.Le service d’images s’exécute uniquement en mode de sortie de synthèse des réponses . Le mode de sortie
extractiveDatan’assure pas le service des images.La diffusion d’images s’applique uniquement aux sources de connaissances indexées fondées sur des fichiers pour lesquelles
assetStoreest configuré et dont les segments indexés comportent des valeursimage_pathrenseignées.Dans les bases de connaissances mixtes, seuls les types de sources de connaissances pris en charge (blob, indexés OneLake et SharePoint indexés) fournissent des images incorporées au document pour la synthèse des réponses en aval. D’autres types peuvent toujours contribuer à l’ancrage du texte.
La diffusion d’images n’est pas prise en charge pour les sources de connaissances qui utilisent
ingestionPermissionOptionspour ingérer des autorisations au niveau du document, notamment des ACL, des portées RBAC ou des étiquettes de confidentialité Microsoft Purview. Le magasin de ressources crée une base de connaissances sous-jacente et les magasins de connaissances ne prennent pas en charge l’héritage des autorisations.Le schéma de la réponse de récupération ne définit pas de champs pour les chemins d’accès individuels aux images du magasin de ressources ni pour les octets d’image envoyés au modèle. L’activité
imageServingsignale des statistiques d’agrégation pour les images récupérées et envoyées au modèle.L’accès aux images est contrôlé au niveau du compte de stockage, indépendamment de l’accès au contenu indexé. Toute identité disposant d’un accès en lecture au compte de stockage de ressources peut extraire ses images.
Ne stockez pas les secrets (clés de compte, jetons, chaînes de connexion) dans les documents sources, car le contenu peut être retourné en tant que données de base.
La diffusion d’images peut augmenter la latence de synthèse des réponses en raison du téléchargement d’images et du traitement des jetons multimodaux. Exécutez des requêtes représentatives avec le service d’image activé et désactivé et comparez la latence de réponse à l’activité signalée
imageServing.Content Understanding peut produire différents résultats d’image pour les fichiers PDF et DOCX. Si l’extraction et la verbalisation d’images incorporées cohérentes sont requises, convertissez des documents sources au format PDF ou testez chaque format source avec du contenu représentatif.
Fonctionnement du service d’images
La diffusion d’images se déroule en deux phases :
Indexation : Lorsque vous configurez l’extraction de contenu standard et une banque de ressources sur une source de connaissances, la compétence Content Understanding générée segmente sémantiquement le document, conserve les tables comme Markdown et utilise le LLM configuré pour décrire les figures incorporées. Les descriptions de figure font partie du Markdown enrichi que la compétence d’incorporation vectorise. La compétence extrait également des images dans votre magasin de ressources blob et ajoute des références
image_pathaux chunks qui se chevauchent.Lorsque vous configurez un magasin de ressources, le service de recherche provisionne également une base de connaissances en même temps que la source de connaissances pour conserver les artefacts d’image extraits. Vous pouvez inspecter et gérer cette base de connaissances comme n’importe quelle autre.
Récupération: Lorsque l’action de récupération s’exécute avec le service image activé, le service de recherche récupère les images correspondantes à partir du magasin de ressources, les code en base64 et les inclut en tant que contenu modal dans l’invite de synthèse de réponse.
Configurer le magasin de ressources et l’accès aux applications
La distribution d’images s’étend à travers trois frontières de confiance. Lors de l’indexation, le service de recherche enregistre des artefacts d’images dans votre stockage de ressources. Lors de l’exécution d’une requête, le service de recherche lit dans le référentiel de ressources pour récupérer des images. Votre application lit également à partir du magasin de ressources s’il doit afficher des images dans une interface utilisateur. Configurez chaque accès selon le principe du moindre privilège.
Accès du service de recherche à la boutique de ressources
Utilisez Microsoft Entra ID et une identité managée pour le service de recherche. Attribuez l’identité au rôle Contributeur aux données blob de stockage dans l’étendue du compte de stockage, car l’indexeur écrit des artefacts d’image et l’action de récupération les lit. Lorsque les conteneurs source et de ressource appartiennent au même compte, le rôle fournit également un accès en lecture au blob source.
N’activez pas l’accès public anonyme sur le conteneur du magasin de ressources.
Accès des applications aux références d’image
L’index généré stocke des références image_path aux images dans le référentiel de ressources. Le schéma de la réponse de récupération ne définit pas de champs dédiés pour chacun des chemins d’accès des images du magasin de ressources ni pour les octets d’image envoyés au modèle.
sourceData correspond à des données de référence structurées facultatives, et image_path n’y est pas requis.
Pour afficher une image indexée dans votre application :
Attribuez l’identité de votre application au rôle Lecteur de données blob de stockage au niveau de l’étendue du compte de stockage de ressources.
Attribuez l’identité de votre application au rôle Lecteur de données de l’index de recherche afin qu’elle puisse interroger l’index généré.
Obtenez une autorisation
image_pathà partir de l’index généré par le biais d’une requête ou d’un point de terminaison de service contrôlé par l’application.Vérifiez que la référence pointe vers le compte de stockage et le conteneur de ressources attendus. Rejetez les chemins non fiables avant la recherche du blob.
Récupérez le nom du blob qui en résulte à partir du conteneur de ressource en utilisant l’identité de votre application.
Cette séparation vous permet de contrôler qui peut afficher les images sources indépendamment de qui peut appeler l’API de récupération.
Configurer le référentiel de ressources pour une source de connaissances
Configurez assetStore dans la ingestionParameters source de connaissances indexée prise en charge. Le magasin de ressources est un conteneur d’objets blob dont vous êtes propriétaire et dans lequel le service de recherche écrit des artefacts d’image.
Pour obtenir des instructions spécifiques à la source, consultez :
- Créer une source de connaissances Blob
- Créer une source de connaissances SharePoint indexée
- Créer une source de connaissances OneLake
Une source de connaissances Blob minimale avec la diffusion d’images activée ressemble à ceci :
PUT https://{service-name}.search.windows.net/knowledgesources/my-blob-ks?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"name": "my-blob-ks",
"kind": "azureBlob",
"azureBlobParameters": {
"connectionString": "ResourceId=<storage-resource-id>",
"containerName": "source-documents",
"ingestionParameters": {
"assetStore": {
"connectionString": "ResourceId=<storage-resource-id>",
"containerName": "image-assets"
},
"chatCompletionModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "https://{foundry-resource}.services.ai.azure.com",
"deploymentId": "gpt-4o",
"modelName": "gpt-4o"
}
},
"embeddingModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "https://{foundry-resource}.services.ai.azure.com",
"deploymentId": "text-embedding-3-large",
"modelName": "text-embedding-3-large"
}
},
"contentExtractionMode": "standard",
"aiServices": {
"uri": "https://{foundry-resource}.services.ai.azure.com"
}
}
}
}
Note
Remplacez
<storage-resource-id>par l’ID de ressource du compte stockage Azure. LeResourceId=<storage-resource-id>format de connexion indique au service de recherche d’utiliser son identité managée pour les deux conteneurs.Le compte stockage Azure qui héberge le magasin de ressources doit rester disponible et accessible au service de recherche pendant toute la durée de vie de la base de connaissances. Si vous modifiez des règles réseau, faites pivoter des clés, échangez des identités ou déplacez le compte de stockage d’une manière qui empêche le service de recherche de lire le magasin de ressources, le service d’images ne peut pas fournir ces images au modèle. Comparez
imagesSentToModelàimagesRetrieveden termes d’activité de récupération, et planifiez et testez soigneusement les modifications apportées au compte de stockage.
Résultats de la configuration
La combinaison de , assetStoreet disableImageVerbalization détermine ce que l’indexeur stocke et ce que le modèle voit au moment de chatCompletionModella requête :
Bibliothèque de ressources + verbalisation (par défaut) :
assetStoredéfini,disableImageVerbalizationlaissé commefalse,chatCompletionModeldéfini. L’indexeur conserve les images dans le magasin de ressources et stocke les descriptions de texte dans l’index. L’activité de récupération peut signalerverbalizationUseden tant quetrue.Magasin de ressources uniquement :
assetStoredéfini,disableImageVerbalizationdéfini surtrue,chatCompletionModelnon obligatoire. L’indexeur conserve les images dans le magasin de ressources, mais ne génère pas de descriptions de texte. L’activité de récupération peut signalerverbalizationUseden tant quefalse.Aucune bibliothèque de ressources, ensemble de modèles :
assetStorenon défini,chatCompletionModeldéfini. Descriptions de texte uniquement, aucun artefact d’image. La diffusion d’images n’est pas applicable.Aucun magasin de ressources, aucun modèle : Aucun traitement d’image.
Vérifier la configuration du dépôt de ressources
Attendez la fin de l’ingestion avant de continuer :
Vérifiez l’état de l’indexeur dans le portail Azure ou utilisez Get Indexer Status (API REST).
Vérifiez si les blocs indexés ont un champ rempli
image_path. Siimage_pathelle est vide, vérifiez l’état de l’indexeur, la configuration du magasin de ressources source de connaissances, le contenu du document source et le contenu du conteneur de ressources.Inspectez le conteneur du magasin de ressources. Vous devriez voir les blobs d’images que l’indexeur a créés lors de l’ingestion.
Activer l’utilisation d’images sur une base de connaissances
Définissez enableImageServing sur true dans la référence de source de connaissances de la définition de la base de connaissances. Ce paramètre devient la valeur par défaut pour chaque demande de récupération qui cible la source de connaissances.
La définition de la base de connaissances spécifie également le LLM utilisé pour la synthèse des réponses au moment de la requête. Ce paramètre est indépendant de tout chatCompletionModel que vous définissez dans le ingestionParameters de la source de connaissances, qui pilote la verbalisation des images lors de l’indexation.
Si votre base de connaissances fait référence à plusieurs sources de connaissances, définissez enableImageServing uniquement pour les types indexés basés sur des fichiers pris en charge pour lesquels assetStore est configuré. Les types non pris en charge (tels que l’index de recherche, SharePoint distant ou le web) contribuent toujours à l’ancrage textuel, mais ne fournissent pas d’images intégrées aux documents pour la génération de réponses en aval.
PUT https://{service-name}.search.windows.net/knowledgebases/my-kb?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"name": "my-kb",
"knowledgeSources": [
{
"name": "my-blob-ks",
"enableImageServing": true
}
],
"outputMode": "answerSynthesis",
"models": [
{
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "https://{foundry-resource}.services.ai.azure.com",
"deploymentId": "gpt-4o",
"modelName": "gpt-4o"
}
}
]
}
Vérifier l’activation du service d’image
Envoyez une GET demande au point de terminaison de la base de connaissances et vérifiez que la référence de la source de connaissances inclut "enableImageServing": true.
Récupérer avec le service d’image
Appelez l’action de récupération sur la base de connaissances. Pour remplacer la base de connaissances par défaut par demande, définissez enableImageServing dans l’entrée correspondante sous knowledgeSourceParams.
POST https://{service-name}.search.windows.net/knowledgebases/my-kb/retrieve?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"retrievalReasoningEffort": { "kind": "medium" },
"outputMode": "answerSynthesis",
"includeActivity": true,
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "What's the wiring configuration shown in the installation guide?" }
]
}
],
"knowledgeSourceParams": [
{
"knowledgeSourceName": "my-blob-ks",
"kind": "azureBlob",
"enableImageServing": true
}
]
}
Note
Le service d’image s’exécute uniquement quand outputMode est answerSynthesis. Les requêtes qui utilisent extractiveData ignorent la diffusion d’images, même lorsque enableImageServing est défini.
Que se passe-t-il au moment de la récupération
Pour les références d’images associées au contenu correspondant, le service de recherche télécharge les images depuis le magasin de ressources, les encode en base64 et les transmet comme contenu multimodal au modèle en aval de synthèse de réponses. Consultez les statistiques agrégées sur la diffusion d’images dans activity.imageServing. Pour obtenir la forme de réponse exacte, consultez la documentation de référence sur la récupération des connaissances - Récupérer (API REST).
Vérifier le comportement de récupération
Une réponse de récupération peut fournir ces signaux de service d’image :
Lorsque
includeActivityesttrue, le tableauimageServingsignale l’activitéactivitypour une source de connaissances lorsque le service enregistre des opérations de diffusion d’images.Une valeur
imagesSentToModelsupérieure à0signifie que le service indique avoir fourni des images au modèle de synthèse de réponses en aval.
Règles de précédence
Lorsque la définition de la base de connaissances et la demande de récupération spécifient enableImageServing, la valeur de la demande de récupération est prioritaire. La priorité complète est la suivante :
- La valeur dans
knowledgeSourceParams[].enableImageServingde la requête de récupération (si définie). - Valeur de la référence de la source de connaissances correspondante dans la définition de la base de connaissances (si définie).
-
false(valeur par défaut).
Le tableau suivant récapitule les neuf combinaisons.
Définition de la base de connaissances (enableImageServing) |
Récupérer la demande (enableImageServing) |
Diffusion d’images activée ? |
|---|---|---|
true |
true |
Yes |
true |
false |
No |
true |
Non défini | Yes |
false |
true |
Yes |
false |
false |
No |
false |
Non défini | No |
| Non défini | true |
Yes |
| Non défini | false |
No |
| Non défini | Non défini | No |
Consulter les statistiques de diffusion d’images
Lorsque le service d’images s’exécute, la réponse de récupération inclut une section imageServing pour chaque source de connaissances dans le tableau activity. Utilisez cette section pour comparer les images récupérées à partir du magasin de ressources avec les images envoyées au modèle.
"activity": [
{
"type": "azureBlob",
"knowledgeSourceName": "my-blob-ks",
"imageServing": {
"verbalizationUsed": true,
"imagesRetrieved": 5,
"imagesSentToModel": 4,
"totalImageSizeBytes": 248361
}
}
]
Rapport sur les champs :
verbalizationUsed: statistique de la description textuelle de l’image signalée par le service pour l’activité de récupération.imagesRetrieved: nombre d’images récupérées à partir du magasin de ressources.imagesSentToModel: nombre d’images envoyées au modèle en aval.totalImageSizeBytes: taille totale, en octets, des images envoyées au modèle.
Si imagesRetrieved est supérieur à imagesSentToModel, certaines images récupérées n’ont pas été envoyées au modèle.
Examinez imagesSentToModel et verbalizationUsed indépendamment. Une réponse peut indiquer à la fois verbalizationUsed comme true et une ou plusieurs images envoyées au modèle.
Tester l’image de bout en bout
Utilisez l’un des exemples suivants pour tester la configuration complète :
Les exemples créent une source de connaissances Blob et une base de connaissances, comparent les requêtes de récupération lorsque la diffusion d’images est désactivée ou activée, et examinent les statistiques de diffusion d’images. Ils utilisent également une requête d’index générique indépendante pour sélectionner une image_path ressource et la télécharger. Les exemples sélectionnent une référence délimitée par des points-virgules, suppriment d’un chemin relatif un préfixe de projection tel que 11.7:, ou décodent l’URL d’un chemin absolu et en suppriment le segment initial asset-container. Ces transformations sont des exemples de comportement, et non des garanties de l’API de récupération. La ressource sélectionnée n’est pas une preuve que la même image a contribué à une réponse de récupération particulière.
Liste de contrôle de comparaison A/B classique :
Choisissez une question qui ne peut être répondu qu’à partir d’un diagramme, d’un graphique ou d’une image analysée.
Exécutez la demande de récupération avec
enableImageServing: falseet capturez la réponse.Exécutez la même demande de récupération avec
enableImageServing: trueet comparez les réponses, la latence et l’activité signalée.Traitez les différences de réponse comme des signaux A/B observationnels, et non une preuve que les images ont provoqué les différences. Une valeur
imagesSentToModelsupérieure à0signifie que le service indique avoir fourni des images au modèle.
Nettoyer les ressources
Supprimez la base de connaissances avant de supprimer sa source de connaissances. La suppression de ces ressources Recherche Azure AI ne supprime pas les documents sources ni les objets blob d'images projetés dans stockage Azure. Supprimez séparément ces blobs uniquement lorsqu’aucun pipeline d’ingestion ou de récupération conservé n’en a encore besoin.
Résolution des problèmes
Utilisez le bloc d’activité imageServing de Inspecter les statistiques de diffusion d’images comme premier outil de diagnostic. Le tableau suivant répertorie les vérifications des symptômes courants sans supposer une cause unique.
| Symptôme | Contrôles |
|---|---|
imagesRetrieved est 0 destiné aux documents riches en images |
Vérifiez l’état et les avertissements de l’indexeur, les valeurs image_path renseignées dans les segments indexés correspondants, ainsi que les blobs d’image dans le conteneur de ressources. Vérifiez que les documents sources contiennent des images extractibles et que l’identité du service Search dispose du rôle Contributeur aux données blob du stockage au niveau du compte de stockage. |
La réponse de récupération n’a pas de bloc imageServing |
Vérifiez que la requête définit includeActivity sur true. Vérifiez la valeur effective enableImageServing après l’application de la demande, de la base de connaissances et de la priorité par défaut. Confirmez que outputMode est answerSynthesis, puis inspectez les erreurs et les avertissements de l’activité source. |
verbalizationUsed diffère de ce que vous attendez |
Vérifiez disableImageVerbalization, chatCompletionModelet l’état de l’indexeur le plus récent. Examinez verbalizationUsed indépendamment de imagesSentToModel. Une réponse peut faire état d’un contenu verbal et d’images envoyés conjointement. |
| La synthèse des réponses échoue ou expire après l’activation du service d’image | Comparez les demandes représentatives avec la diffusion d’images activée et désactivée. Inspectez les erreurs d’activité et les avertissements, l’état du déploiement du modèle de synthèse des réponses, les autorisations d’identité du service de recherche pour le modèle et le compte de stockage et la disponibilité du magasin de ressources. |
Votre application ne peut pas afficher une requête indépendante image_path |
Vérifiez que la requête d’index indépendante retourne un objet blob utilisable image_path, que l’objet blob référencé existe et que l’application peut accéder à l’objet blob indépendamment de la récupération. Vérifiez que l’identité de l’application dispose du rôle Lecteur de données de l'index de recherche pour interroger l’index et du rôle Lecteur de données blob de stockage au niveau de l’étendue du compte de stockage des ressources. |