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.
Belangrijk
Web Knowledge Source, die gebruikmaakt van Grounding met Bing Search en/of Grounding met Bing Custom Search, is een First Party Consumption Service waarop de Gronding met Bing-gebruiksvoorwaarden en de Microsoft privacyverklaring vallen.
De Microsoft Data Protection Addendum is niet van toepassing op gegevens die naar webkennisbron worden verzonden. Wanneer de klant gebruikmaakt van webkennisbron, stromen klantgegevens buiten de Azure naleving en geografische grens. Dit betekent ook dat het gebruik van Web Knowledge Source het afziet van alle verhoogde beveiligings- en nalevingsverplichtingen van de Government Community Cloud, inclusief gegevenssoevereiniteit en ondersteuning op basis van screening of burgerschap, indien van toepassing.
Voor het gebruik van webkennisbron worden kosten in rekening gebracht; meer informatie over prijzen.
Meer informatie over hoe de Azure beheerders toegang kunnen beheren voor het gebruik van web-kennisbron.
Web Knowledge Source maakt het mogelijk om realtime webgegevens op te halen uit Microsoft Bing in een autonome ophaalpijplijn. Kennisbronnen worden onafhankelijk gemaakt, waarnaar wordt verwezen in een knowledge base en worden gebruikt als grondgegevens wanneer de knowledge base tijdens runtime wordt opgevraagd.
Bing Custom Search is altijd de zoekprovider voor webkennisbron. Hoewel u geen alternatieve zoekproviders of engines kunt opgeven, kunt u specifieke domeinen opnemen of uitsluiten, zoals https://learn.microsoft.com. Wanneer er geen domeinen zijn opgegeven, heeft Web Knowledge Source onbeperkte toegang tot het hele openbare internet.
Web Knowledge Source werkt het beste naast andere kennisbronnen. Gebruik dit wanneer uw bedrijfseigen inhoud geen volledige, actuele antwoorden biedt of wanneer u resultaten wilt aanvullen met informatie van een commerciële zoekmachine.
Gebruiksondersteuning
| Azure-portal | Microsoft Foundry-portal | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Voorwaarden
Een Azure-abonnement met toegang tot webkennisbron. Toegang is standaard ingeschakeld. Neem contact op met uw beheerder als de toegang is uitgeschakeld.
Een Azure AI Zoeken-service in elke publieke regio die agentische zoekopdrachten mogelijk maakt. Web Knowledge Source wordt niet ondersteund in privéclouds of onafhankelijke clouds.
Machtiging voor het maken van kennisbronnen. Configureer sleutelloze verificatie met de rol Inzender voor zoekservice die is toegewezen aan uw gebruikersaccount (aanbevolen) of gebruik een beheer-API-sleutel.
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.
Beperkingen en overwegingen
Webinhoud wordt altijd door een LLM samengevat voordat deze in de zoekresultaten wordt opgenomen. De resultaten zijn samenvattingen die worden aangehaald, niet letterlijke teksten van het web.
Voor de API-versie 2026-04-01 moet de Knowledge Base een modelverwijzing bevatten om de LLM voor samenvatting van webinhoud te bieden. Ophalen is altijd extractief (geciteerde samenvattingen). Antwoordsynthese en configureerbare redeneringsinspanningen zijn niet beschikbaar in deze versie.
Voor de
2026-08-01-previewAPI-versie maakt de verwijzing naar het Knowledge Base-model ook antwoordsynthese mogelijk, waardoor één LLM-geformuleerd antwoord wordt geproduceerd in plaats van geëxtraheerde bronvermeldingen.
Controleren op bestaande kennisbronnen
Een kennisbron is een herbruikbaar object op het hoogste niveau. Kennis over bestaande kennisbronnen is handig voor het opnieuw gebruiken of benoemen van nieuwe objecten.
Voer de volgende code uit om kennisbronnen op naam en type weer te geven.
// List knowledge sources by name and type
using Azure.Search.Documents.Indexes;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
var knowledgeSources = indexClient.GetKnowledgeSourcesAsync();
Console.WriteLine("Knowledge Sources:");
await foreach (var ks in knowledgeSources)
{
Console.WriteLine($" Name: {ks.Name}, Type: {ks.GetType().Name}");
}
Naslaginformatie:SearchIndexClient
# List knowledge sources by name and type
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
for ks in index_client.list_knowledge_sources():
print(f" - {ks.name} ({ks.kind})")
Naslaginformatie:SearchIndexClient
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
Authorization: Bearer {{token}}
Naslaginformatie:Kennisbronnen - Lijst
U kunt ook één kennisbron 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 source name to retrieve
string ksNameToGet = "earth-knowledge-source";
// Get its definition
var knowledgeSourceResponse = await indexClient.GetKnowledgeSourceAsync(ksNameToGet);
var ks = knowledgeSourceResponse.Value;
// Serialize to JSON for display
var jsonOptions = new JsonSerializerOptions
{
WriteIndented = true,
DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.Never
};
Console.WriteLine(JsonSerializer.Serialize(ks, ks.GetType(), jsonOptions));
Naslaginformatie:SearchIndexClient
# Get a knowledge source definition
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
import json
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
ks = index_client.get_knowledge_source("knowledge_source_name")
print(json.dumps(ks.as_dict(), indent = 2))
Naslaginformatie:SearchIndexClient
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
Authorization: Bearer {{token}}
Naslaginformatie:Kennisbronnen ophalen
De volgende JSON is een voorbeeldantwoord voor een Web Knowledge Source-bron.
{
"name": "my-web-ks",
"kind": "web",
"description": "A sample Web Knowledge Source.",
"encryptionKey": null,
"webParameters": {
"domains": null
}
}
Een kennisbron maken
Voer de volgende code uit om een webkennisbron te maken.
// Create Web Knowledge Source
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Identity;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());
var knowledgeSource = new WebKnowledgeSource(name: "my-web-ks")
{
Description = "A sample Web Knowledge Source.",
WebParameters = new WebKnowledgeSourceParameters
{
Domains = new WebKnowledgeSourceDomains
{
AllowedDomains =
{
new WebKnowledgeSourceDomain(address: "learn.microsoft.com") { IncludeSubpages = true }
},
BlockedDomains =
{
new WebKnowledgeSourceDomain(address: "bing.com") { IncludeSubpages = false }
}
}
}
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Knowledge source '{knowledgeSource.Name}' created or updated successfully.");
Naslaginformatie:SearchIndexClient, WebKnowledgeSource
# Create Web Knowledge Source
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import WebKnowledgeSource, WebKnowledgeSourceParameters, WebKnowledgeSourceDomains, WebKnowledgeSourceDomain
index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
knowledge_source = WebKnowledgeSource(
name = "my-web-ks",
description = "A sample Web Knowledge Source.",
encryption_key = None,
web_parameters = WebKnowledgeSourceParameters(
domains = WebKnowledgeSourceDomains(
allowed_domains = [ WebKnowledgeSourceDomain(address="learn.microsoft.com", include_subpages=True) ],
blocked_domains = [ WebKnowledgeSourceDomain(address="bing.com", include_subpages=False) ]
)
)
)
index_client.create_or_update_knowledge_source(knowledge_source)
print(f"Knowledge source '{knowledge_source.name}' created or updated successfully.")
Naslaginformatie:SearchIndexClient
### Create Web Knowledge Source
PUT {{search-endpoint}}/knowledgesources/my-web-ks?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"name": "my-web-ks",
"kind": "web",
"description": "This knowledge source pulls content from the web.",
"encryptionKey": null,
"webParameters": {
"domains": {
"allowedDomains": [ { "address": "learn.microsoft.com", "includeSubpages": true } ],
"blockedDomains": [ { "address": "bing.com", "includeSubpages": false } ]
}
}
}
Naslaginformatie:Kennisbronnen - Maken of bijwerken
Toewijzen aan de kennisbank
Als u tevreden bent met de kennisbron, voegt u deze toe aan een knowledge base.
Een query uitvoeren op een Knowledge Base
Wanneer u een query uitvoert op een knowledge base die webkennisbron bevat, kan de antwoordmatrix activity voor ophalen twee webgerelateerde records bevatten:
- Een
webrecord waarmee de runtimeparameters worden vastgelegd die worden gebruikt voor de aanvraag. - Een
modelWebSummarizationrecord die tokengebruik vastlegt voor de LLM-samenvattingsstap.
{
"activity": [
{
"id": 1,
"type": "web",
"knowledgeSourceName": "my-web-ks",
"elapsedMs": 212,
"webArguments": {
"search": "What is the latest news about AI in education?",
"language": "en",
"market": "en-US",
"count": 10,
"freshness": "2026-03-01..2026-03-31"
}
},
{
"id": 2,
"type": "modelWebSummarization",
"elapsedMs": 87,
"inputTokens": 1234,
"outputTokens": 256
}
]
}
Een kennisbron verwijderen
Voordat u een kennisbron kunt verwijderen, moet u een knowledge base verwijderen die ernaar verwijst of de knowledge base-definitie bijwerken om de verwijzing te verwijderen. Voor kennisbronnen die een index- en indexeerpijplijn genereren, worden ook alle gegenereerde objecten verwijderd. Als u echter een bestaande index hebt gebruikt om een kennisbron te maken, wordt uw index niet verwijderd.
Als u probeert een kennisbron te verwijderen die in gebruik is, mislukt de actie en wordt een lijst met betrokken knowledge bases geretourneerd.
Een kennisbron verwijderen:
Haal een lijst op met alle knowledge bases op uw zoekservice.
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
Een voorbeeld van een antwoord kan er als volgt uitzien:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Haal een afzonderlijke Knowledge Base-definitie op om te controleren op verwijzingen naar kennisbronnen.
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
Een voorbeeld van een antwoord kan er als volgt uitzien:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Verwijder de knowledge base of werk de knowledge base bij als u meerdere kennisbronnen hebt om de bron te verwijderen. In dit voorbeeld ziet u de verwijdering.
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
Verwijder de kennisbron.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Naslaginformatie:SearchIndexClient
Haal een lijst op met alle knowledge bases op uw zoekservice.
# Get knowledge bases from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) print("Knowledge Bases:") for kb in index_client.list_knowledge_bases(): print(f" - {kb.name}")Naslaginformatie:SearchIndexClient
Een voorbeeld van een antwoord kan er als volgt uitzien:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Haal een afzonderlijke Knowledge Base-definitie op om te controleren op verwijzingen naar kennisbronnen.
# Get a knowledge base definition from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) kb = index_client.get_knowledge_base("knowledge_base_name") print(kb)Naslaginformatie:SearchIndexClient
Een voorbeeld van een antwoord kan er als volgt uitzien:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Verwijder de knowledge base of werk de knowledge base bij als u meerdere kennisbronnen hebt om de bron te verwijderen. In dit voorbeeld ziet u de verwijdering.
# Delete a knowledge base from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) index_client.delete_knowledge_base("knowledge_base_name") print(f"Knowledge base deleted successfully.")Naslaginformatie:SearchIndexClient
Verwijder de kennisbron.
# Delete a knowledge source from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) index_client.delete_knowledge_source("knowledge_source_name") print(f"Knowledge source deleted successfully.")Naslaginformatie:SearchIndexClient
Haal een lijst op met alle knowledge bases op uw zoekservice.
### Get knowledge bases GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name Authorization: Bearer {{token}}Naslaginformatie:Knowledge Bases - Lijst
Een voorbeeld van een antwoord kan er als volgt uitzien:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Haal een afzonderlijke Knowledge Base-definitie op om te controleren op verwijzingen naar kennisbronnen.
### Get a knowledge base definition GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Naslaginformatie:Kennisbanken - Verkrijgen
Een voorbeeld van een antwoord kan er als volgt uitzien:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Verwijder de knowledge base of werk de knowledge base bij als u meerdere kennisbronnen hebt om de bron te verwijderen. In dit voorbeeld ziet u de verwijdering.
### Delete a knowledge base DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Naslaginformatie:Knowledge Bases - Verwijderen
Verwijder de kennisbron.
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Naslaginformatie:Kennisbronnen - Verwijderen