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.
Opmerking
Deze functie voor agentgestuurde retrieval is algemeen beschikbaar in de REST API-versie 2026-04-01 via programmatische toegang. De Azure-portal en Microsoft Foundry-portal blijven uitsluitend preview-toegang bieden tot alle agentgerichte ophaalfunctionaliteiten. Zie voor migratiehulp Migreer de agent-georiënteerde ophaalcode naar de nieuwste versie.
Als u ervoor kiest om een preview-REST API te gebruiken, hebt u toegang tot mogelijkheden die nog niet algemeen beschikbaar zijn voor deze functie. Preview-functies worden aangeboden zonder service level agreement en worden niet aanbevolen voor productieworkloads. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews voor meer informatie.
Belangrijk
Deze functies en functionaliteit maken deel uit van de REST API 2026-08-01-preview. De preview-versie van 2026-08-01 is aan u gelicentieerd als onderdeel van uw Azure-abonnement en is onderworpen aan de voorwaarden die van toepassing zijn op 'Previews' in de Microsoft Productvoorwaarden, de Microsoft Addendum voor producten en services voor gegevensbescherming ("DPA") en de aanvullende gebruiksvoorwaarden voor Microsoft Azure previews.
De preview-versie van 2026-08-01 ondersteunt verbindingen met andere services van 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 Azure AI Zoeken is een kennisbank een object op het hoogste niveau dat agenteel ophalen coördineert. Hiermee wordt gedefinieerd welke kennisbronnen moeten worden opgevraagd en het standaardgedrag voor ophaalbewerkingen. Bij het opvragen richt de ophaalmethode zich op de Knowledge Base om de geconfigureerde ophaalpijplijn uit te voeren.
In een Knowledge Base wordt het volgende opgegeven:
Een of meer kennisbronnen die verwijzen naar doorzoekbare inhoud.
Een optionele LLM voor queryplanning, antwoordsynthese of samenvatting van webinhoud. Ondersteunde taken variëren per API-versie en kennisbrontype.
Aangepaste eigenschappen die routering controleren, bronkeus en objectversleuteling regelen.
Gebruiksondersteuning
| Azure-portal | Microsoft Foundry-portal | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Voorwaarden
Azure AI Zoeken in een regio die agentgebaseerde gegevensophaling biedt. Als u een beheerde identiteit gebruikt voor op rollen gebaseerde toegang tot geïmplementeerde modellen, moet uw zoekservice zich in de Basic-laag of hoger bevinden.
Een of meer kennisbronnen. Gebruik de
2026-08-01-previewAPI-versie om toegang te krijgen tot preview-kennisbronnen of om een LLM te gebruiken met niet-webkennisbronnen. Gebruik de2026-04-01API-versie voor algemeen beschikbare kennisbronnen en minimaal, extractief ophalen.(Voorwaardelijk) Azure OpenAI met een supported LLM-implementatie. Een LLM is vereist als uw knowledge base een webkennisbron bevat. Voor andere kennisbronnen is een LLM optioneel in de
2026-08-01-previewAPI-versie en niet ondersteund in de2026-04-01API-versie.Machtiging voor het maken van knowledge bases. Configureer sleutelloze verificatie met de rol Inzender voor zoekservice die is toegewezen aan uw gebruikersaccount (aanbevolen) of gebruik een beheer-API-sleutel.
Als de knowledge base een LLM opgeeft, moet de zoekservice beschikken over een beheerde identiteit met Cognitive Services User machtigingen voor de Microsoft Foundry-bron.
Vereiste
Azure.Search.Documents-pakket:Voor
2026-08-01-previewfuncties is het nieuwste preview-pakket beschikbaar:dotnet add package Azure.Search.Documents --prereleaseVoor
2026-04-01functies is het meest recente stabiele pakket:dotnet add package Azure.Search.Documents
Voor sleutelloze verificatie is het
Azure.Identitypakket:dotnet add package Azure.Identity
Vereiste
azure-search-documents-pakket:Voor
2026-08-01-previewfuncties is het nieuwste preview-pakket beschikbaar:pip install --pre azure-search-documentsVoor
2026-04-01functies is het meest recente stabiele pakket:pip install azure-search-documents
Voor sleutelloze verificatie is het
azure-identitypakket:pip install azure-identity
Vereiste REST API-versie van zoekservice:
Voor preview-functies: 2026-08-01-preview
Voor algemeen beschikbare functies: 2026-04-01
Neem voor sleutelloze verificatie een Microsoft Entra ID token op in de
Authorizationheader van elke HTTP-aanvraag.
Ondersteunde modellen
Gebruik een van de volgende LLM's uit Azure OpenAI in Foundry-modellen. Azure OpenAI bepaalt regionale beschikbaarheid voor de implementatie die u selecteert. Zie Deploy-Microsoft Foundry-modellen in de Foundry-portal voor implementatie-instructies.
De GPT-4-familie is verouderd. Zie voor richtlijnen voor de levenscyclus van modellen, uitfaseringsdatums en de huidige status Modeluitfasering en veroudering en Schema voor modeluitfasering - Microsoft Foundry.
| Model | Ondersteunde API-versies |
|---|---|
gpt-4o (afgeschaft) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-4o-mini (afgeschaft) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-4.1 (afgeschaft) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-4.1-mini (afgeschaft) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-4.1-nano (afgeschaft) |
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 |
Toegang configureren
Azure AI Zoeken moet toegang hebben tot de LLM vanuit Azure OpenAI in Foundry-modellen. We raden aan om Microsoft Entra ID te gebruiken voor authenticatie en toegangscontrole op basis van rollen voor autorisatie. Als u rollen wilt toewijzen, moet u een eigenaar of beheerder van gebruikerstoegang zijn. Als u geen rollen kunt gebruiken, gebruikt u in plaats daarvan verificatie op basis van sleutels.
Schakel op rollen gebaseerd toegangsbeheer in op Azure AI Zoeken.
Configuratie Azure AI Zoeken voor het gebruik van een beheerde identiteit.
Wijs Cognitive Services-gebruiker toe aan de beheerde identiteit van uw zoekservice op uw modelprovider. Als u lokaal test, wijst u dezelfde rol toe aan uw gebruikersaccount.
Voor lokale tests volgt u de stappen in quickstart: Verbinding maken zonder sleutels om u aan te melden bij een specifiek abonnement en een specifieke tenant. Gebruik
DefaultAzureCredentialin plaats vanAzureKeyCredentialin elke aanvraag, die vergelijkbaar moet zijn met het volgende voorbeeld.// Authenticate using roles using Azure.Search.Documents.Indexes; using Azure.Identity; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());
Schakel op rollen gebaseerd toegangsbeheer in op Azure AI Zoeken.
Configuratie Azure AI Zoeken voor het gebruik van een beheerde identiteit.
Wijs Cognitive Services-gebruiker toe aan de beheerde identiteit van uw zoekservice op uw modelprovider. Als u lokaal test, wijst u dezelfde rol toe aan uw gebruikersaccount.
Voor lokale tests volgt u de stappen in quickstart: Verbinding maken zonder sleutels om u aan te melden bij een specifiek abonnement en een specifieke tenant. Gebruik
DefaultAzureCredentialin plaats vanAzureKeyCredentialin elke aanvraag, die vergelijkbaar moet zijn met het volgende voorbeeld.# Authenticate using roles from azure.identity import DefaultAzureCredential index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
Schakel op rollen gebaseerd toegangsbeheer in op Azure AI Zoeken.
Configuratie Azure AI Zoeken voor het gebruik van een beheerde identiteit.
Wijs Cognitive Services-gebruiker toe aan de beheerde identiteit van uw zoekservice op uw modelprovider. Als u lokaal test, wijst u dezelfde rol toe aan uw gebruikersaccount.
Voor lokale tests volgt u de stappen in quickstart: Verbinding maken zonder sleutels om een persoonlijk toegangstoken voor een specifiek abonnement en een specifieke tenant op te halen. Geef uw toegangstoken op in elke aanvraag, die vergelijkbaar moet zijn met het volgende voorbeeld.
# List indexes using roles GET {{search-endpoint}}/indexes?api-version=2026-04-01 Content-Type: application/json Authorization: Bearer {{search-access-token}}
Belangrijk
De codefragmenten in dit artikel gebruiken sleutelloze verificatie. Als u in plaats daarvan een API-sleutel wilt gebruiken, werkt u elke aanvraag dienovereenkomstig bij. In een aanvraag die beide benaderingen aangeeft, heeft de API-sleutel voorrang.
Controleren op bestaande knowledge bases
Een knowledge base is een herbruikbaar object op het hoogste niveau. Kennis over bestaande knowledge bases is handig voor het opnieuw gebruiken of benoemen van nieuwe objecten.
Voer de volgende code uit om bestaande knowledge bases op naam weer te geven. De lijst bevat alle knowledge bases op uw zoekservice, ongeacht welke API-versie u hebt gebruikt om ze te maken.
// 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}");
}
Naslaginformatie: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}")
Naslaginformatie:SearchIndexClient
# List knowledge bases
GET {{search-endpoint}}/knowledgebases?api-version={{api-version}}&$select=name
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
Naslaginformatie:Knowledge Bases - Lijst
U kunt ook één knowledge base op naam retourneren om de JSON-definitie ervan te controleren.
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);
Naslaginformatie: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))
Naslaginformatie:SearchIndexClient
# Get knowledge base
GET {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
Naslaginformatie:Kennisbanken - Verkrijgen
De volgende JSON is een voorbeeldantwoord voor een knowledge base.
{
"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"
}
}
Opmerking
Het antwoordschema weerspiegelt de API-versie die u hebt gebruikt om de Knowledge Base te maken. Een knowledge base die is gemaakt met de algemeen beschikbare 2026-04-01 API-versie retourneert een smallere definitie dan de 2026-08-01-preview. Zie Een knowledge base maken voor meer informatie over welke eigenschappen elke versie ondersteunt.
Een knowledge base maken
Belangrijk
De 2026-04-01 API-versie accepteert alleen algemeen beschikbare typen kennisbronnen en ondersteunt minimale, extractieve gegevensophaling. Het ondersteunt geen mogelijkheden die alleen in preview beschikbaar zijn, zoals queryplanning, antwoordsynthese en configureerbare redeneerinspanning. Gebruik voor volledige functionaliteit de 2026-08-01-preview.
Een knowledge base verbindt een of meer kennisbronnen (doorzoekbare inhoud) met een optionele LLM van Azure OpenAI in Foundry Models. De door u ingestelde eigenschappen bepalen de standaardwaarden voor het uitvoeren van query's en de respons op opgehaalde items.
Nadat u een Knowledge Base hebt gemaakt, kunt u de eigenschappen op elk gewenst moment bijwerken. Als de knowledge base wordt gebruikt, worden updates van kracht op het volgende ophalen.
// 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.");
Naslaginformatie: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.")
Naslaginformatie: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"
}
}
Naslaginformatie:Kennisbanken - Maken of bijwerken
Standaardlimieten voor ophalen configureren (preview)
Vanaf de 2026-08-01-preview API-versie kunt u het optionele retrieveDefaults object gebruiken om standaardinstellingen voor de hele aanvraag op te slaan in een knowledge base. Elke opgeslagen eigenschap is alleen van toepassing wanneer een ophaalaanvraag het bijbehorende aanvraagveld weglaat:
| Opgeslagen eigenschap | Aanvraagveld ophalen |
|---|---|
maxRuntimeInSeconds |
maxRuntimeInSeconds |
maxOutputDocuments |
maxOutputDocuments |
maxOutputSizeInTokens |
maxOutputSize |
Het budget voor uitvoertokens gebruikt verschillende eigenschapsnamen wanneer het wordt opgeslagen en overschreven. Stel maxOutputSizeInTokens deze in retrieveDefaultsen gebruik maxOutputSize deze in een ophaalaanvraag.
De effectieve waarde voor elke eigenschap wordt onafhankelijk in deze volgorde bepaald:
- De bijbehorende waarde in het ophaalverzoek.
- De waarde in het Knowledge Base-object
retrieveDefaults. - De standaardwaarde van de service wanneer de eigenschap op beide niveaus ontbreekt.
In het volgende voorbeeld wordt een bestaande kennisbron voor zoekindexen met de naam your-knowledge-sourcegebruikt. Er wordt een runtimebudget van 45 seconden opgeslagen, maximaal acht uitvoerdocumenten en een uitvoerbudget van 12.000 token.
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);
Verwijzing: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)
Naslaginformatie: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
}
}
Naslaginformatie:Kennisbanken - Maken of bijwerken
Als u deze opgeslagen waarden voor één verzoek wilt overschrijven met 20 seconden, één document en 5.000 tokens, raadpleegt u De standaardwaarden voor het ophalen uit de kennisbank verifiëren.
CORS configureren voor ophaalaanroepen in de browser (preview)
Belangrijk
CorS (Cross-Origin Resource Sharing) stelt browsertoepassingen in staat om gegevens rechtstreeks vanuit de service aan te vragen. Afhankelijk van uw CORS-configuratie kunnen externe webpagina's de service en de bijbehorende gegevens openen of aanroepen met behulp van de browsercontext van de gebruiker. Deze toegang kan beveiligingsdreigingen veroorzaken. Het inschakelen van CORS is op eigen risico.
Vanaf API-versie 2026-05-01-preview kan een kennisbank corsOptions definiëren voor browsergebaseerde applicaties die de ophaalactie rechtstreeks vanuit JavaScript oproepen. Het CORS-beleid identificeert welke browser-origins aanvragen naar de Knowledge Base kunnen verzenden.
Wanneer u weglaat corsOptions, heeft de Knowledge Base geen CORS-beleid en blokkeren browsers aanvragen voor cross-origin-ophalen.
In het volgende voorbeeld wordt een knowledge base gemaakt waarmee aanvragen kunnen worden opgehaald uit één browser origin.
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);
Naslaginformatie: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)
Naslaginformatie: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
}
}
Een query uitvoeren op een knowledge base
Nadat u een Knowledge Base hebt gemaakt, roept u de actie ophalen of het MCP-eindpunt aan om er query's op uit te voeren.
Een knowledge base verwijderen
Als u de Knowledge Base niet meer nodig hebt of deze opnieuw wilt bouwen in uw zoekservice, voert u de volgende code uit om het object te verwijderen.
// 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.");
Naslaginformatie: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.")
Naslaginformatie:SearchIndexClient
# Delete a knowledge base
DELETE {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
Authorization: Bearer {{search-access-token}}
Naslaginformatie:Knowledge Bases - Verwijderen