Knowledge Agents - Create Or Update
Crée un nouvel agent ou met à jour un agent s’il existe déjà.
PUT {endpoint}/agents('{agentName}')?api-version=2025-08-01-preview
Paramètres URI
| Nom | Dans | Obligatoire | Type | Description |
|---|---|---|---|---|
|
agent
|
path | True |
string |
Nom de l’agent à créer ou à mettre à jour. |
|
endpoint
|
path | True |
string |
URL du point de terminaison du service de recherche. |
|
api-version
|
query | True |
string |
Version de l’API client. |
En-tête de la demande
| Nom | Obligatoire | Type | Description |
|---|---|---|---|
| x-ms-client-request-id |
string (uuid) |
ID de suivi envoyé avec la demande pour aider au débogage. |
|
| If-Match |
string |
Définit la condition If-Match. L’opération ne sera effectuée que si l’ETag sur le serveur correspond à cette valeur. |
|
| If-None-Match |
string |
Définit la condition If-None-Match. L’opération ne sera effectuée que si l’ETag sur le serveur ne correspond pas à cette valeur. |
|
| Prefer | True |
string |
Pour les requêtes HTTP PUT, indique au service de renvoyer la ressource créée/mise à jour en cas de réussite. |
Corps de la demande
| Nom | Obligatoire | Type | Description |
|---|---|---|---|
| knowledgeSources | True | ||
| models | True | KnowledgeAgentModel[]: |
Contient des options de configuration sur la façon de se connecter aux modèles d’IA. |
| name | True |
string |
Nom de l’agent de connaissances. |
| @odata.etag |
string |
L’ETag de l’agent. |
|
| description |
string |
Description de l’agent. |
|
| encryptionKey |
Description d’une clé de chiffrement que vous créez dans Azure Key Vault. Cette clé est utilisée pour fournir un niveau supplémentaire de chiffrement au repos pour la définition de votre agent lorsque vous voulez avoir l’assurance que personne, pas même Microsoft, ne peut les déchiffrer. Une fois que vous avez chiffré la définition de votre agent, celle-ci reste toujours chiffrée. Le service de recherche ignore les tentatives de définition de cette propriété sur null. Vous pouvez modifier cette propriété si nécessaire si vous souhaitez faire pivoter votre clé de chiffrement ; La définition de votre agent n’est pas affectée. Le chiffrement à l’aide de clés gérées par le client n’est pas disponible pour les services de recherche gratuits et n’est disponible que pour les services payants créés à partir du 1er janvier 2019. |
||
| outputConfiguration | |||
| requestLimits |
Garde-fous pour limiter la quantité de ressources utilisées pour une demande d’extraction d’un seul agent. |
||
| retrievalInstructions |
string |
Instructions prises en compte par l’agent de connaissances lors de l’élaboration du plan de requête. |
Réponses
| Nom | Type | Description |
|---|---|---|
| 200 OK | ||
| 201 Created | ||
| Other Status Codes |
Réponse d’erreur. |
Exemples
SearchServiceCreateOrUpdateKnowledgeAgent
Exemple de requête
PUT https://previewexampleservice.search.windows.net/agents('agent-preview-test')?api-version=2025-08-01-preview
{
"name": "agent-preview-test",
"models": [
{
"azureOpenAIParameters": {
"resourceUri": "https://test-sample.openai.azure.com/",
"deploymentId": "myDeployment",
"apiKey": "api-key",
"modelName": "gpt-4o-mini"
},
"kind": "azureOpenAI"
}
],
"knowledgeSources": [
{
"name": "ks-preview-test",
"includeReferences": true,
"includeReferenceSourceData": true,
"alwaysQuerySource": true,
"maxSubQueries": 5,
"rerankerThreshold": 2.1
}
],
"outputConfiguration": {
"modality": "extractiveData",
"answerInstructions": "Provide a concise answer to the question.",
"attemptFastPath": false,
"includeActivity": true
},
"requestLimits": {
"maxRuntimeInSeconds": 60,
"maxOutputSize": 100000
},
"retrievalInstructions": "Instructions for retrieval for the agent.",
"@odata.etag": "0x1234568AE7E58A1",
"encryptionKey": {
"keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
"keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
"keyVaultUri": "https://myKeyVault.vault.azure.net",
"accessCredentials": {
"applicationId": "00000000-0000-0000-0000-000000000000",
"applicationSecret": "<applicationSecret>"
}
},
"description": "Description of the agent."
}
Exemple de réponse
{
"@odata.etag": "0x1234568AE7E58A1",
"name": "agent-preview-test",
"description": "Description of the agent.",
"retrievalInstructions": "Instructions for retrieval for the agent.",
"knowledgeSources": [
{
"name": "ks-preview-test",
"alwaysQuerySource": true,
"includeReferences": true,
"includeReferenceSourceData": true,
"maxSubQueries": 5,
"rerankerThreshold": 2.1
}
],
"models": [
{
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "https://test-sample.openai.azure.com/",
"deploymentId": "myDeployment",
"apiKey": "api-key",
"modelName": "gpt-4o-mini"
}
}
],
"outputConfiguration": {
"modality": "extractiveData",
"answerInstructions": "Provide a concise answer to the question.",
"attemptFastPath": false,
"includeActivity": true
},
"requestLimits": {
"maxRuntimeInSeconds": 60,
"maxOutputSize": 100000
},
"encryptionKey": {
"keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
"keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
"keyVaultUri": "https://myKeyVault.vault.azure.net",
"accessCredentials": {
"applicationId": "00000000-0000-0000-0000-000000000000",
"applicationSecret": "<applicationSecret>"
}
}
}
{
"@odata.etag": "0x1234568AE7E58A1",
"name": "agent-preview-test",
"description": "Description of the agent.",
"retrievalInstructions": "Instructions for retrieval for the agent.",
"knowledgeSources": [
{
"name": "ks-preview-test",
"alwaysQuerySource": true,
"includeReferences": true,
"includeReferenceSourceData": true,
"maxSubQueries": 5,
"rerankerThreshold": 2.1
}
],
"models": [
{
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "https://test-sample.openai.azure.com/",
"deploymentId": "myDeployment",
"apiKey": "api-key",
"modelName": "gpt-4o-mini"
}
}
],
"outputConfiguration": {
"modality": "extractiveData",
"answerInstructions": "Provide a concise answer to the question.",
"attemptFastPath": false,
"includeActivity": true
},
"requestLimits": {
"maxRuntimeInSeconds": 60,
"maxOutputSize": 100000
},
"encryptionKey": {
"keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
"keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
"keyVaultUri": "https://myKeyVault.vault.azure.net",
"accessCredentials": {
"applicationId": "00000000-0000-0000-0000-000000000000",
"applicationSecret": "<applicationSecret>"
}
}
}
Définitions
| Nom | Description |
|---|---|
|
Azure |
Informations d’identification d’une application inscrite créée pour votre service de recherche, utilisée pour l’accès authentifié aux clés de chiffrement stockées dans Azure Key Vault. |
|
Azure |
Vous permet de générer un incorporation vectorielle pour une entrée de texte donnée à l’aide de la ressource Azure OpenAI. |
|
Azure |
Nom du modèle Azure Open AI qui sera appelé. |
|
Azure |
Spécifie les paramètres de connexion à la ressource Azure OpenAI. |
|
Error |
Informations supplémentaires sur l’erreur de gestion des ressources. |
|
Error |
Détail de l’erreur. |
|
Error |
Réponse d’erreur |
|
Input |
Mappage de champ de saisie pour une compétence. |
|
Knowledge |
|
|
Knowledge |
Spécifie la ressource Azure OpenAI utilisée pour la planification des requêtes. |
|
Knowledge |
Le modèle d’IA à utiliser pour la planification des requêtes. |
|
Knowledge |
|
|
Knowledge |
Configuration de sortie de l’agent |
|
Knowledge |
Garde-fous pour limiter la quantité de ressources utilisées pour une demande d’extraction d’un seul agent. |
|
Knowledge |
|
|
Output |
Mappage de champ de sortie pour une compétence. |
|
Search |
Efface la propriété identity d’une source de données. |
|
Search |
Spécifie l’identité d’une source de données à utiliser. |
|
Search |
Clé de chiffrement gérée par le client dans Azure Key Vault. Les clés que vous créez et gérez peuvent être utilisées pour chiffrer ou déchiffrer des données au repos, telles que des index et des cartes de synonymes. |
AzureActiveDirectoryApplicationCredentials
Informations d’identification d’une application inscrite créée pour votre service de recherche, utilisée pour l’accès authentifié aux clés de chiffrement stockées dans Azure Key Vault.
| Nom | Type | Description |
|---|---|---|
| applicationId |
string |
ID d’application AAD qui a reçu les autorisations d’accès requises à Azure Key Vault à utiliser lors du chiffrement de vos données au repos. L’ID d’application ne doit pas être confondu avec l’ID d’objet de votre application AAD. |
| applicationSecret |
string |
Clé d’authentification de l’application AAD spécifiée. |
AzureOpenAIEmbeddingSkill
Vous permet de générer un incorporation vectorielle pour une entrée de texte donnée à l’aide de la ressource Azure OpenAI.
| Nom | Type | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
Fragment d’URI spécifiant le type de compétence. |
| apiKey |
string |
Clé API de la ressource Azure OpenAI désignée. |
| authIdentity | SearchIndexerDataIdentity: |
Identité managée affectée par l’utilisateur utilisée pour les connexions sortantes. |
| context |
string |
Représente le niveau auquel les opérations ont lieu, tel que la racine du document ou le contenu du document (par exemple, /document ou /document/content). La valeur par défaut est /document. |
| deploymentId |
string |
ID du déploiement du modèle Azure OpenAI sur la ressource désignée. |
| description |
string |
Description de la compétence, qui décrit les entrées, les sorties et l’utilisation de la compétence. |
| dimensions |
integer (int32) |
Nombre de dimensions que les incorporations de sortie obtenues doivent avoir. Uniquement pris en charge dans text-embedding-3 et les modèles ultérieurs. |
| inputs |
Les entrées des compétences peuvent être une colonne dans l’ensemble de données source ou la sortie d’une compétence en amont. |
|
| modelName |
Nom du modèle d’incorporation déployé au chemin deploymentId fourni. |
|
| name |
string |
Nom de la compétence qui l’identifie de manière unique dans l’ensemble de compétences. Une compétence sans nom défini se verra attribuer un nom par défaut de son index de base 1 dans le tableau des compétences, préfixé par le caractère « # ». |
| outputs |
La sortie d’une compétence est soit un champ dans un index de recherche, soit une valeur qui peut être consommée en tant qu’entrée par une autre compétence. |
|
| resourceUri |
string (uri) |
URI de la ressource Azure OpenAI. |
AzureOpenAIModelName
Nom du modèle Azure Open AI qui sera appelé.
| Valeur | Description |
|---|---|
| text-embedding-ada-002 | |
| text-embedding-3-large | |
| text-embedding-3-small | |
| gpt-4o | |
| gpt-4o-mini | |
| gpt-4.1 | |
| gpt-4.1-mini | |
| gpt-4.1-nano |
AzureOpenAIParameters
Spécifie les paramètres de connexion à la ressource Azure OpenAI.
| Nom | Type | Description |
|---|---|---|
| apiKey |
string |
Clé API de la ressource Azure OpenAI désignée. |
| authIdentity | SearchIndexerDataIdentity: |
Identité managée affectée par l’utilisateur utilisée pour les connexions sortantes. |
| deploymentId |
string |
ID du déploiement du modèle Azure OpenAI sur la ressource désignée. |
| modelName |
Nom du modèle d’incorporation déployé au chemin deploymentId fourni. |
|
| resourceUri |
string (uri) |
URI de la ressource Azure OpenAI. |
ErrorAdditionalInfo
Informations supplémentaires sur l’erreur de gestion des ressources.
| Nom | Type | Description |
|---|---|---|
| info |
object |
Informations supplémentaires. |
| type |
string |
Type d’informations supplémentaire. |
ErrorDetail
Détail de l’erreur.
| Nom | Type | Description |
|---|---|---|
| additionalInfo |
Informations supplémentaires sur l’erreur. |
|
| code |
string |
Code d'erreur. |
| details |
Détails de l’erreur. |
|
| message |
string |
Message d’erreur. |
| target |
string |
Cible d’erreur. |
ErrorResponse
Réponse d’erreur
| Nom | Type | Description |
|---|---|---|
| error |
Objet d’erreur. |
InputFieldMappingEntry
Mappage de champ de saisie pour une compétence.
| Nom | Type | Description |
|---|---|---|
| inputs |
Entrées récursives utilisées lors de la création d’un type complexe. |
|
| name |
string |
Nom de l’entrée. |
| source |
string |
Source de l’entrée. |
| sourceContext |
string |
Contexte source utilisé pour la sélection des entrées récursives. |
KnowledgeAgent
| Nom | Type | Description |
|---|---|---|
| @odata.etag |
string |
L’ETag de l’agent. |
| description |
string |
Description de l’agent. |
| encryptionKey |
Description d’une clé de chiffrement que vous créez dans Azure Key Vault. Cette clé est utilisée pour fournir un niveau supplémentaire de chiffrement au repos pour la définition de votre agent lorsque vous voulez avoir l’assurance que personne, pas même Microsoft, ne peut les déchiffrer. Une fois que vous avez chiffré la définition de votre agent, celle-ci reste toujours chiffrée. Le service de recherche ignore les tentatives de définition de cette propriété sur null. Vous pouvez modifier cette propriété si nécessaire si vous souhaitez faire pivoter votre clé de chiffrement ; La définition de votre agent n’est pas affectée. Le chiffrement à l’aide de clés gérées par le client n’est pas disponible pour les services de recherche gratuits et n’est disponible que pour les services payants créés à partir du 1er janvier 2019. |
|
| knowledgeSources | ||
| models | KnowledgeAgentModel[]: |
Contient des options de configuration sur la façon de se connecter aux modèles d’IA. |
| name |
string |
Nom de l’agent de connaissances. |
| outputConfiguration | ||
| requestLimits |
Garde-fous pour limiter la quantité de ressources utilisées pour une demande d’extraction d’un seul agent. |
|
| retrievalInstructions |
string |
Instructions prises en compte par l’agent de connaissances lors de l’élaboration du plan de requête. |
KnowledgeAgentAzureOpenAIModel
Spécifie la ressource Azure OpenAI utilisée pour la planification des requêtes.
| Nom | Type | Description |
|---|---|---|
| azureOpenAIParameters | AzureOpenAIParameters: |
Contient les paramètres spécifiques au point de terminaison du modèle Azure OpenAI. |
| kind |
string:
azure |
Le type de modèle d’IA. |
KnowledgeAgentModelKind
Le modèle d’IA à utiliser pour la planification des requêtes.
| Valeur | Description |
|---|---|
| azureOpenAI |
Utilisez les modèles Azure Open AI pour la planification des requêtes. |
KnowledgeAgentOutputConfiguration
| Nom | Type | Description |
|---|---|---|
| answerInstructions |
string |
Instructions prises en compte par l’agent de connaissances lors de la génération des réponses |
| attemptFastPath |
boolean |
Indique si l’agent doit tenter d’émettre le message de chat le plus récent en tant que requête directe aux sources de connaissances, en contournant les appels de modèle. |
| includeActivity |
boolean |
Indique que les résultats de la récupération doivent inclure des informations sur l’activité. |
| modality |
Configuration de sortie de l’agent |
KnowledgeAgentOutputConfigurationModality
Configuration de sortie de l’agent
| Valeur | Description |
|---|---|
| answerSynthesis |
Synthétisez une réponse pour la charge utile de réponse. |
| extractiveData |
Retournez des données à partir des sources de connaissances directement sans modification générative. |
KnowledgeAgentRequestLimits
Garde-fous pour limiter la quantité de ressources utilisées pour une demande d’extraction d’un seul agent.
| Nom | Type | Description |
|---|---|---|
| maxOutputSize |
integer (int32) |
Limite la taille maximale du contenu dans la sortie. |
| maxRuntimeInSeconds |
integer (int32) |
Durée d’exécution maximale en secondes. |
KnowledgeSourceReference
| Nom | Type | Description |
|---|---|---|
| alwaysQuerySource |
boolean |
Indique que cette source de connaissances doit contourner la sélection de la source et être toujours interrogée au moment de la récupération. |
| includeReferenceSourceData |
boolean |
Indique si les références doivent inclure les données structurées obtenues lors de l’extraction dans leur charge utile. |
| includeReferences |
boolean |
Indique si des références doivent être incluses pour les données extraites de cette source. |
| maxSubQueries |
integer (int32) |
Nombre maximal de requêtes pouvant être émises à la fois lors de l’extraction de données à partir de cette source. |
| name |
string |
Nom de la source de connaissances. |
| rerankerThreshold |
number (float) |
Le seuil de reclassement que tous les documents récupérés doivent atteindre pour être inclus dans la réponse. |
OutputFieldMappingEntry
Mappage de champ de sortie pour une compétence.
| Nom | Type | Description |
|---|---|---|
| name |
string |
Nom de la sortie défini par la compétence. |
| targetName |
string |
Nom cible de la sortie. Il est facultatif et nomme par défaut. |
SearchIndexerDataNoneIdentity
Efface la propriété identity d’une source de données.
| Nom | Type | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
Fragment d’URI spécifiant le type d’identité. |
SearchIndexerDataUserAssignedIdentity
Spécifie l’identité d’une source de données à utiliser.
| Nom | Type | Description |
|---|---|---|
| @odata.type |
string:
#Microsoft. |
Fragment d’URI spécifiant le type d’identité. |
| userAssignedIdentity |
string |
ID de ressource Azure complet d’un utilisateur affecté à une identité managée, généralement sous la forme « /subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId » qui aurait dû être attribué au service de recherche. |
SearchResourceEncryptionKey
Clé de chiffrement gérée par le client dans Azure Key Vault. Les clés que vous créez et gérez peuvent être utilisées pour chiffrer ou déchiffrer des données au repos, telles que des index et des cartes de synonymes.
| Nom | Type | Description |
|---|---|---|
| accessCredentials |
Informations d’identification Azure Active Directory facultatives utilisées pour accéder à votre coffre de clés Azure. Non requis si vous utilisez l’identité managée à la place. |
|
| identity | SearchIndexerDataIdentity: |
Identité managée explicite à utiliser pour cette clé de chiffrement. S’il n’est pas spécifié et que la propriété d’informations d’identification d’accès est nulle, l’identité managée affectée par le système est utilisée. Lors de la mise à jour de la ressource, si l’identité explicite n’est pas spécifiée, elle reste inchangée. Si « none » est spécifié, la valeur de cette propriété est effacée. |
| keyVaultKeyName |
string |
Nom de votre clé Azure Key Vault à utiliser pour chiffrer vos données au repos. |
| keyVaultKeyVersion |
string |
Version de votre clé Azure Key Vault à utiliser pour chiffrer vos données au repos. |
| keyVaultUri |
string |
URI de votre Azure Key Vault, également appelé nom DNS, qui contient la clé à utiliser pour chiffrer vos données au repos. Un exemple d’URI pourrait être |