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.
Note
Cette fonctionnalité de récupération agentique est généralement disponible dans l’API REST 2026-04-01 via l’accès par programmation. Le portail Azure et le portail Microsoft Foundry continuent de fournir un accès en préversion uniquement à toutes les fonctionnalités de récupération agentique. Pour obtenir des conseils sur la migration, consultez Migrer le code de récupération agentique vers la dernière version.
Si vous choisissez d’utiliser une API REST en préversion, vous pouvez accéder aux fonctionnalités qui ne sont pas encore en disponibilité générale pour cette fonctionnalité. Les fonctionnalités en préversion sont fournies sans contrat de niveau de service et ne sont pas recommandées pour les charges de travail de production. Pour plus d’informations, consultez Conditions d'utilisation supplémentaires pour les versions préliminaires de Microsoft Azure.
Important
Ces fonctionnalités font partie de l’API REST 2026-08-01-preview. La préversion 2026-08-01 vous est concédée sous licence dans le cadre de votre abonnement Azure et est soumise aux conditions applicables aux « préversions » dans les Microsoft Conditions d’utilisation du produit, l’addenda sur la protection des données des produits et des services Microsoft (« DPA ») et les conditions d’utilisation supplémentaires pour les préversions Microsoft Azure.
La préversion 2026-08-01 prend en charge les connexions à d’autres services Microsoft et à des services tiers. L’utilisation de ces services est soumise à leurs conditions respectives et peut entraîner le traitement ou le stockage des données en dehors de la limite de conformité Azure, ainsi que des données entrant dans la limite de conformité Azure.
Il est de votre responsabilité de gérer si vos données circulent en dehors des limites géographiques et de conformité de votre organisation, ainsi que des implications connexes, et que les autorisations, les limites et les approbations appropriées sont provisionnés.
Vous êtes responsable de l’examen et du test des applications que vous créez dans le contexte de vos cas d’usage spécifiques et de prendre toutes les décisions et personnalisations appropriées. Cela inclut l’implémentation de vos propres atténuations d’IA responsables, telles que les métaprompts, les filtres de contenu ou d’autres systèmes de sécurité, et la garantie que vos applications répondent aux normes de qualité, de fiabilité, de sécurité et de fiabilité appropriées. Pour plus d’informations, consultez la note de transparence Recherche Azure AI.
Dans Recherche Azure AI, une base knowledge est un objet de niveau supérieur qui orchestre la récupération agentique. Il définit les sources de connaissances à interroger et le comportement par défaut pour les opérations de récupération. Au moment de la requête, la méthode de récupération cible la base de connaissances pour exécuter le pipeline de récupération configuré.
Une base de connaissances spécifie :
Une ou plusieurs sources de connaissances qui pointent vers du contenu pouvant faire l’objet d’une recherche.
Un LLM facultatif pour la planification des requêtes, la synthèse des réponses ou le résumé du contenu web. Les tâches prises en charge varient selon la version de l’API et le type de source de connaissances.
Propriétés personnalisées qui contrôlent le routage, la sélection de source et le chiffrement d’objet.
Support d'utilisation
| portail Azure | Portail Microsoft Foundry | Kit de développement logiciel (SDK) .NET | sdk Python | SDK Java | SDK JavaScript | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Conditions préalables
Recherche Azure AI, dans n’importe quelle région qui fournit une récupération agentique. Si vous utilisez une identité managée pour l’accès en fonction du rôle aux modèles déployés, votre service de recherche doit se trouver sur le niveau De base ou supérieur.
Une ou plusieurs sources de connaissances. Utilisez la version de l’API
2026-08-01-previewpour accéder aux sources de connaissances en préversion ou pour utiliser un LLM avec des sources de connaissances non web. Utilisez la version de l’API2026-04-01pour les sources de connaissances en disponibilité générale et la récupération minimale et extractive.(Conditionnel) Azure OpenAI avec un déploiement de LLM pris en charge. Un LLM est requis si votre base de connaissances inclut une source de connaissances web. Pour d’autres sources de connaissances, un LLM est facultatif dans la version de l’API
2026-08-01-previewet non pris en charge dans la version de l’API2026-04-01.Autorisation de créer des bases de connaissances. Configurez l’authentification sans clé avec le rôle Contributeur de service de recherche affecté à votre compte d’utilisateur (recommandé) ou utilisez une clé API d’administration.
Si la base de connaissances spécifie un LLM, le service de recherche doit disposer d'une identité gérée avec des autorisations Cognitive Services User sur la ressource Microsoft Foundry.
Package
Azure.Search.Documentsrequis :Pour les fonctionnalités
2026-08-01-preview, le dernier package de préversion :dotnet add package Azure.Search.Documents --prereleasePour les
2026-04-01fonctionnalités, le dernier package stable :dotnet add package Azure.Search.Documents
Pour l’authentification sans clé, le
Azure.Identitypackage :dotnet add package Azure.Identity
Package
azure-search-documentsrequis :Pour les fonctionnalités
2026-08-01-preview, le dernier package de préversion :pip install --pre azure-search-documentsPour les
2026-04-01fonctionnalités, le dernier package stable :pip install azure-search-documents
Pour l’authentification sans clé, le
azure-identitypackage :pip install azure-identity
Version de l’API REST du service de recherche obligatoire :
Pour les fonctionnalités en préversion : 2026-08-01-preview
Pour les fonctionnalités en disponibilité générale : 2026-04-01
Pour l’authentification sans clé, incluez un jeton de Microsoft Entra ID dans l’en-tête
Authorizationde chaque requête HTTP.
Modèles pris en charge
Utilisez l’un des grands modèles de langage (LLM) d’Azure OpenAI dans Modèles Foundry. Azure OpenAI détermine la disponibilité régionale du déploiement que vous sélectionnez. Pour obtenir des instructions de déploiement, consultez Deploy Microsoft Foundry Models in the Foundry portal.
La famille GPT-4 est déconseillée. Pour obtenir des conseils sur le cycle de vie des modèles, les dates de mise hors service et l’état actuel, consultez Mise hors service et dépréciation des modèles et Calendrier de mise hors service des modèles - Microsoft Foundry.
| Modèle | Versions d'API prises en charge |
|---|---|
gpt-4o (déconseillé) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-4o-mini (déconseillé) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-4.1 (déconseillé) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-4.1-mini (déconseillé) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-4.1-nano (déconseillé) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-5 |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-5-mini |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-5-nano |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-5.1 |
2026-05-01-preview, 2026-08-01-preview |
gpt-5.2 |
2026-05-01-preview, 2026-08-01-preview |
gpt-5.4 |
2026-05-01-preview, 2026-08-01-preview |
gpt-5.4-mini |
2026-05-01-preview, 2026-08-01-preview |
gpt-5.4-nano |
2026-05-01-preview, 2026-08-01-preview |
gpt-5.5 |
2026-08-01-preview |
gpt-5.6-sol |
2026-08-01-preview |
gpt-5.6-terra |
2026-08-01-preview |
gpt-5.6-luna |
2026-08-01-preview |
Configurer l’accès
Recherche Azure AI a besoin d’accéder au LLM à partir de Azure OpenAI dans les modèles Foundry. Nous vous recommandons Microsoft Entra ID pour l’authentification et l’accès basé sur les rôles pour l’autorisation. Pour attribuer des rôles, vous devez être propriétaire ou administrateur de l’accès utilisateur. Si vous ne pouvez pas utiliser de rôles, utilisez plutôt l’authentification basée sur des clés.
Activez le contrôle d’accès en fonction du rôle sur Recherche Azure AI.
Configure Recherche Azure AI pour utiliser une identité managée.
Sur votre fournisseur de modèles, affectez l’utilisateur Cognitive Services à l’identité managée de votre service de recherche. Si vous effectuez des tests localement, attribuez le même rôle à votre compte d’utilisateur.
Pour les tests locaux, suivez les étapes de démarrage rapide : Connectez-vous sans clés pour vous connecter à un abonnement et un locataire spécifiques. Utilisez
DefaultAzureCredentialplutôtAzureKeyCredentialque dans chaque requête, ce qui doit être similaire à l’exemple suivant.// Authenticate using roles using Azure.Search.Documents.Indexes; using Azure.Identity; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());
Activez le contrôle d’accès en fonction du rôle sur Recherche Azure AI.
Configure Recherche Azure AI pour utiliser une identité managée.
Sur votre fournisseur de modèles, affectez l’utilisateur Cognitive Services à l’identité managée de votre service de recherche. Si vous effectuez des tests localement, attribuez le même rôle à votre compte d’utilisateur.
Pour les tests locaux, suivez les étapes de démarrage rapide : Connectez-vous sans clés pour vous connecter à un abonnement et un locataire spécifiques. Utilisez
DefaultAzureCredentialplutôtAzureKeyCredentialque dans chaque requête, ce qui doit être similaire à l’exemple suivant.# Authenticate using roles from azure.identity import DefaultAzureCredential index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
Activez le contrôle d’accès en fonction du rôle sur Recherche Azure AI.
Configure Recherche Azure AI pour utiliser une identité managée.
Sur votre fournisseur de modèles, affectez l’utilisateur Cognitive Services à l’identité managée de votre service de recherche. Si vous effectuez des tests localement, attribuez le même rôle à votre compte d’utilisateur.
Pour les tests locaux, suivez les étapes de démarrage rapide : Connectez-vous sans clés pour obtenir un jeton d’accès personnel pour un abonnement et un locataire spécifiques. Spécifiez votre jeton d’accès dans chaque requête, qui doit être similaire à l’exemple suivant.
# List indexes using roles GET {{search-endpoint}}/indexes?api-version=2026-04-01 Content-Type: application/json Authorization: Bearer {{search-access-token}}
Important
Les extraits de code de cet article utilisent l’authentification sans clé. Pour utiliser une clé API à la place, mettez à jour chaque requête en conséquence. Dans une requête qui spécifie les deux approches, la clé API est prioritaire.
Rechercher les bases de connaissances existantes
Une base de connaissances est un objet réutilisable de niveau supérieur. Connaître les bases de connaissances existantes est utile pour réutiliser ou nommer de nouveaux objets.
Exécutez le code suivant pour répertorier les bases de connaissances existantes par nom. La liste inclut toutes les bases de connaissances sur votre service de recherche, quelle que soit la version de l’API que vous avez utilisée pour les créer.
// List knowledge bases by name
using Azure.Search.Documents.Indexes;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
var knowledgeBases = indexClient.GetKnowledgeBasesAsync();
Console.WriteLine("Knowledge Bases:");
await foreach (var kb in knowledgeBases)
{
Console.WriteLine($" - {kb.Name}");
}
Reference :SearchIndexClient
# List knowledge bases by name
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
for kb in index_client.list_knowledge_bases():
print(f" - {kb.name}")
Reference :SearchIndexClient
# List knowledge bases
GET {{search-endpoint}}/knowledgebases?api-version={{api-version}}&$select=name
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
Référence :Bases de connaissances - Liste
Vous pouvez également retourner une base de connaissances unique par nom pour passer en revue sa définition JSON.
using Azure.Search.Documents.Indexes;
using System.Text.Json;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
// Specify the knowledge base name to retrieve
string kbNameToGet = "earth-knowledge-base";
// Get a specific knowledge base definition
var knowledgeBaseResponse = await indexClient.GetKnowledgeBaseAsync(kbNameToGet);
var kb = knowledgeBaseResponse.Value;
// Serialize to JSON for display
string json = JsonSerializer.Serialize(kb, new JsonSerializerOptions { WriteIndented = true });
Console.WriteLine(json);
Reference :SearchIndexClient
# Get a knowledge base definition
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
import json
index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
kb = index_client.get_knowledge_base("<knowledge-base-name>")
print(json.dumps(kb.as_dict(), indent = 2))
Reference :SearchIndexClient
# Get knowledge base
GET {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
Référence :Bases de connaissances - Obtenir
Le code JSON suivant est un exemple de réponse pour une base de connaissances.
{
"name": "my-kb",
"description": "A sample knowledge base.",
"retrievalInstructions": null,
"answerInstructions": null,
"outputMode": null,
"knowledgeSources": [
{
"name": "my-blob-ks"
}
],
"models": [],
"encryptionKey": null,
"retrievalReasoningEffort": {
"kind": "low"
}
}
Note
Le schéma de réponse reflète la version de l’API que vous avez utilisée pour créer la base de connaissances. Une base de connaissances créée avec la version d’API généralement disponible 2026-04-01 retourne une définition plus étroite que celle de 2026-08-01-preview. Pour plus d’informations sur les propriétés prises en charge par chaque version, consultez Créer une base de connaissances.
Créer une base de connaissances
Important
La version de l’API 2026-04-01 accepte uniquement les types de sources de connaissances de disponibilité générale et prend en charge une fonctionnalité minimale de recherche basée sur l’extraction. Elle ne prend pas en charge les fonctionnalités en préversion uniquement, telles que la planification des requêtes, la synthèse des réponses et l’effort de raisonnement configurable. Pour des fonctionnalités complètes, utilisez le 2026-08-01-preview.
Une base de connaissances connecte une ou plusieurs sources de connaissances (contenu pouvant faire l’objet d’une recherche) à un LLM facultatif à partir de Azure OpenAI dans les modèles Foundry. Les propriétés que vous définissez établissent les valeurs par défaut pour l’exécution de la requête et la réponse de récupération.
Après avoir créé une base de connaissances, vous pouvez mettre à jour ses propriétés à tout moment. Si la base de connaissances est en cours d’utilisation, les mises à jour prennent effet sur la récupération suivante.
// Create a knowledge base
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.KnowledgeBases.Models;
using Azure.Identity;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());
var aoaiParams = new AzureOpenAIVectorizerParameters
{
ResourceUri = new Uri(aoaiEndpoint),
DeploymentName = aoaiGptDeployment,
ModelName = aoaiGptModel,
};
var knowledgeBase = new KnowledgeBase(
name: "my-kb",
knowledgeSources: new KnowledgeSourceReference[]
{
new KnowledgeSourceReference("hotels-ks"),
new KnowledgeSourceReference("earth-at-night-ks")
}
)
{
Description = "This knowledge base handles questions directed at two unrelated sample indexes.",
RetrievalInstructions = "Use the hotels knowledge source for queries about where to stay, otherwise use the earth at night knowledge source.",
AnswerInstructions = "Answer in two concise sentences.",
OutputMode = KnowledgeRetrievalOutputMode.AnswerSynthesis,
Models = { new KnowledgeBaseAzureOpenAIModel(azureOpenAIParameters: aoaiParams) },
RetrievalReasoningEffort = new KnowledgeRetrievalAutoReasoningEffort()
};
await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);
Console.WriteLine($"Knowledge base '{knowledgeBase.Name}' created or updated successfully.");
Reference :SearchIndexClient, KnowledgeBase
# Create a knowledge base
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
AzureOpenAIVectorizerParameters,
KnowledgeBase,
KnowledgeBaseAzureOpenAIModel,
KnowledgeSourceReference,
)
from azure.search.documents.knowledgebases.models import (
KnowledgeRetrievalAutoReasoningEffort,
KnowledgeRetrievalOutputMode,
)
index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
aoai_params = AzureOpenAIVectorizerParameters(
resource_url = "<aoai-endpoint>",
deployment_name = "<aoai-gpt-deployment>",
model_name = "<aoai-gpt-model>",
)
knowledge_base = KnowledgeBase(
name = "my-kb",
description = "This knowledge base handles questions directed at two unrelated sample indexes.",
retrieval_instructions = "Use the hotels knowledge source for queries about where to stay, otherwise use the earth at night knowledge source.",
answer_instructions = "Answer in two concise sentences.",
output_mode = KnowledgeRetrievalOutputMode.ANSWER_SYNTHESIS,
knowledge_sources = [
KnowledgeSourceReference(name = "hotels-ks"),
KnowledgeSourceReference(name = "earth-at-night-ks"),
],
models = [KnowledgeBaseAzureOpenAIModel(azure_open_ai_parameters = aoai_params)],
encryption_key = None,
retrieval_reasoning_effort = KnowledgeRetrievalAutoReasoningEffort(),
)
index_client.create_or_update_knowledge_base(knowledge_base)
print(f"Knowledge base '{knowledge_base.name}' created or updated successfully.")
Reference :SearchIndexClient, KnowledgeBase
# Create a knowledge base
PUT {{search-endpoint}}/knowledgebases/my-kb?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"name" : "my-kb",
"description": "This knowledge base handles questions directed at two unrelated sample indexes.",
"retrievalInstructions": "Use the hotels knowledge source for queries about where to stay, otherwise use the earth at night knowledge source.",
"answerInstructions": "Answer in two concise sentences.",
"outputMode": "answerSynthesis",
"knowledgeSources": [
{
"name": "hotels-ks"
},
{
"name": "earth-at-night-ks"
}
],
"models" : [
{
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "{{aoai-endpoint}}",
"deploymentId": "gpt-5.4-mini",
"modelName": "gpt-5.4-mini"
}
}
],
"encryptionKey": null,
"retrievalReasoningEffort": {
"kind": "auto"
}
}
Configurer les limites par défaut de récupération (aperçu)
À compter de la version de l’API, vous pouvez utiliser l’objet facultatif retrieveDefaults pour stocker les valeurs par défaut à l’échelle de la 2026-08-01-preview requête sur une base de connaissances. Chaque propriété stockée s’applique uniquement lorsqu’une demande de récupération omet le champ de requête correspondant :
| Propriété stockée | Récupérer le champ de demande |
|---|---|
maxRuntimeInSeconds |
maxRuntimeInSeconds |
maxOutputDocuments |
maxOutputDocuments |
maxOutputSizeInTokens |
maxOutputSize |
Le budget du jeton de sortie utilise des noms de propriétés différents lors du stockage et de la substitution. Définissez maxOutputSizeInTokens dans retrieveDefaults, puis utilisez maxOutputSize dans une demande de récupération.
La valeur effective de chaque propriété est déterminée indépendamment dans cet ordre :
- La valeur correspondante dans la requête de récupération.
- La valeur de l’objet de la base de connaissances
retrieveDefaults. - Le paramètre par défaut du service lorsque la propriété est absente aux deux niveaux.
L’exemple suivant utilise une source de connaissances d’index de recherche existante nommée your-knowledge-source. Il stocke un budget d’exécution de 45 secondes, un maximum de huit documents de sortie et un budget de sortie de 12 000 jetons.
using System;
using Azure.Identity;
using Azure.Search.Documents;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.Models;
string searchEndpoint = "<search-endpoint>";
var options = new SearchClientOptions(
SearchClientOptions.ServiceVersion.V2026_08_01_Preview);
var indexClient = new SearchIndexClient(
new Uri(searchEndpoint),
new DefaultAzureCredential(),
options);
var knowledgeBase = new KnowledgeBase(
"your-knowledge-base",
new[] { new KnowledgeSourceReference("your-knowledge-source") })
{
Description = "A knowledge base for product support content.",
RetrieveDefaults = new KnowledgeBaseRetrieveDefaults
{
MaxRuntimeInSeconds = 45,
MaxOutputDocuments = 8,
MaxOutputSizeInTokens = 12000
}
};
await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);
Reference :SearchIndexClient, SearchClientOptions.ServiceVersion, KnowledgeBase
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
KnowledgeBase,
KnowledgeBaseRetrieveDefaults,
KnowledgeSourceReference,
)
search_endpoint = "<search-endpoint>"
index_client = SearchIndexClient(
endpoint=search_endpoint,
credential=DefaultAzureCredential(),
api_version="2026-08-01-preview",
)
knowledge_base = KnowledgeBase(
name="your-knowledge-base",
description="A knowledge base for product support content.",
knowledge_sources=[
KnowledgeSourceReference(name="your-knowledge-source"),
],
retrieve_defaults=KnowledgeBaseRetrieveDefaults(
max_runtime_in_seconds=45,
max_output_documents=8,
max_output_size_in_tokens=12000,
),
)
index_client.create_or_update_knowledge_base(knowledge_base)
Reference :SearchIndexClient, KnowledgeBase
PUT {{search-endpoint}}/knowledgebases/your-knowledge-base?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"name": "your-knowledge-base",
"description": "A knowledge base for product support content.",
"knowledgeSources": [
{
"name": "your-knowledge-source"
}
],
"retrieveDefaults": {
"maxRuntimeInSeconds": 45,
"maxOutputDocuments": 8,
"maxOutputSizeInTokens": 12000
}
}
Pour remplacer ces valeurs stockées avec 20 secondes, un document et 5 000 jetons pour une demande, consultez Vérifier que la base de connaissances récupère les valeurs par défaut.
Configurer CORS pour les appels de récupération basés sur un navigateur (préversion)
Important
Le partage de ressources inter-origines (CORS) permet aux applications basées sur un navigateur de demander des données directement à partir du service. Selon votre configuration CORS, les pages web externes peuvent accéder au service ou appeler ses données à l’aide du contexte du navigateur de l’utilisateur. Cet accès peut créer des menaces de sécurité. L’activation de CORS est à votre propre risque.
À compter de la version de l’API 2026-05-01-preview , une base de connaissances peut définir corsOptions pour les applications basées sur un navigateur qui appellent l’action de récupération directement à partir de JavaScript. La stratégie CORS identifie les origines du navigateur qui peuvent envoyer des demandes de récupération à la base de connaissances.
Lorsque vous omettez corsOptions, la base de connaissances n’a pas de stratégie CORS et les navigateurs bloquent les demandes de récupération d’origine croisée.
L’exemple suivant crée une base de connaissances qui permet de récupérer des requêtes à partir d’une origine de navigateur.
using Azure.Identity;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());
var knowledgeBase = new KnowledgeBase(
name: "browser-chat-kb",
knowledgeSources: new[] { new KnowledgeSourceReference("product-docs-ks") }
)
{
Description = "A knowledge base that allows one browser app origin.",
CorsOptions = new CorsOptions(new[] { "https://myapp.example.com" })
{
MaxAgeInSeconds = 300
}
};
await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);
Reference :CorsOptions, KnowledgeBase
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
CorsOptions,
KnowledgeBase,
KnowledgeSourceReference,
)
index_client = SearchIndexClient(endpoint="<search-endpoint>", credential=DefaultAzureCredential())
knowledge_base = KnowledgeBase(
name="browser-chat-kb",
description="A knowledge base that allows one browser app origin.",
knowledge_sources=[KnowledgeSourceReference(name="product-docs-ks")],
cors_options=CorsOptions(
allowed_origins=["https://myapp.example.com"],
max_age_in_seconds=300,
),
)
index_client.create_or_update_knowledge_base(knowledge_base)
Reference :CorsOptions, KnowledgeBase
PUT {{search-endpoint}}/knowledgebases/browser-chat-kb?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"name": "browser-chat-kb",
"description": "A knowledge base that allows one browser app origin.",
"knowledgeSources": [
{
"name": "product-docs-ks"
}
],
"corsOptions": {
"allowedOrigins": [
"https://myapp.example.com"
],
"maxAgeInSeconds": 300
}
}
Interroger une base de connaissances
Après avoir créé une base de connaissances, appelez l’action de récupération ou le point de terminaison MCP pour l’interroger.
Supprimer une base de connaissances
Si vous n’avez plus besoin de la base de connaissances ou que vous devez la reconstruire sur votre service de recherche, exécutez le code suivant pour supprimer l’objet.
// Delete a knowledge base
using Azure.Search.Documents.Indexes;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
await indexClient.DeleteKnowledgeBaseAsync(knowledgeBaseName);
System.Console.WriteLine($"Knowledge base '{knowledgeBaseName}' deleted successfully.");
Reference :SearchIndexClient
# Delete a knowledge base
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
index_client.delete_knowledge_base("<knowledge-base-name>")
print(f"Knowledge base deleted successfully.")
Reference :SearchIndexClient
# Delete a knowledge base
DELETE {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
Authorization: Bearer {{search-access-token}}
Référence :Bases de connaissances - Supprimer