Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt
Web Knowledge Source, som använder grounding med Bing Search och/eller Grounding med anpassad Bing-sökning, är en First Party Consumption Service som styrs av Grund med användningsvillkor för Bing och Microsoft sekretesspolicy.
Tillägget Microsoft Dataskydd gäller inte för data som skickas till Web Knowledge Source. När kunden använder Web Knowledge Source flödar kunddata utanför Azure:s efterlevnads- och geografiska gränser. Det innebär också att användningen av Web Knowledge Source avstår från alla utökade åtaganden för säkerhet och efterlevnad för Government Community Cloud för att inkludera datasuveränitet och skärmat/medborgarskapsbaserat stöd, beroende på vad som är tillämpligt.
Användning av Web Knowledge Source medför kostnader; läs mer om priser.
Läs mer om hur Azure administratörer kan hantera åtkomst till användning av Web Knowledge Source.
Observera
Den här agentiska hämtningsfunktionen är allmänt tillgänglig i REST API-versionen 2026-04-01 via programmatisk åtkomst. Portalen Azure och Microsoft Foundry fortsätter att ge förhandsversionsåtkomst till alla funktioner för agentisk hämtning. Information om migrering finns i Migrera agentisk hämtningskod till den senaste versionen.
Om du väljer att använda en REST API-version för förhandsversion kan du komma åt funktioner som ännu inte är allmänt tillgängliga för den här funktionen. Förhandsversionsfunktioner tillhandahålls utan serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Web Knowledge Source möjliggör hämtning av realtidswebbdata från Bing i en pipeline för agentisk hämtning. Kunskapskällor skapas oberoende av varandra, refereras till i en kunskapsbas och används som grunddata när en agent eller chattrobot anropar en hämtningsåtgärd vid frågetillfället.
Anpassad sökning i Bing är alltid sökprovidern för Web Knowledge Source. Även om du inte kan ange alternativa sökmotorer eller motorer kan du inkludera eller exkludera specifika domäner, till exempel https://learn.microsoft.com. När inga domäner har angetts har Web Knowledge Source obegränsad åtkomst till hela det offentliga Internet.
Web Knowledge Source fungerar bäst tillsammans med andra kunskapskällor. Använd Web Knowledge Source när ditt upphovsrättsskyddade innehåll inte ger fullständiga, up-to-date-svar eller när du vill komplettera resultaten med information från en kommersiell sökmotor.
Användningsstöd
| Azure Portal | Microsoft Foundry-portalen | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Förutsättningar
En Azure-prenumeration med åtkomst till Web Knowledge Source. Som standard är åtkomst aktiverad. Kontakta administratören om åtkomsten är inaktiverad.
En Azure AI-sökning-tjänst i valfri public region som tillhandahåller agentisk hämtning. Web Knowledge Source stöds inte i privata eller nationella moln.
Behörighet att skapa och använda objekt på Azure AI-sökning. Vi rekommenderar rollbaserad åtkomst, men du kan använda API-nycklar om en rolltilldelning inte är möjlig. Mer information finns i Ansluta till en söktjänst.
Krävs Azure. Search.Documents paket:
För funktionerna i förhandsversionen 2025-11-01 är det senaste förhandsversionspaketet:
dotnet add package Azure.Search.Documents --prereleaseFör funktionerna den 1 april 2026 är det senaste stabila paketet:
dotnet add package Azure.Search.Documents
Obligatoriskt azure-search-documents-paket:
För funktionerna i förhandsversionen 2025-11-01 är det senaste förhandsversionspaketet:
pip install azure-search-documents --preFör funktionerna den 1 april 2026 är det senaste stabila paketet:
pip install azure-search-documents
Nödvändig REST API-version:
För förhandsversionsfunktioner: Search Service 2025-11-01-preview
För allmänt tillgängliga funktioner: Search Service 2026-04-01
Begränsningar och överväganden
Webbinnehåll sammanfattas alltid av en LLM innan det tas med i hämtningsresultatet. Resultaten är citerade sammanfattningar, inte ordagranna webbtexter.
För API-versionen 2026-04-01 måste kunskapsbasen innehålla en modellreferens för att tillhandahålla LLM för sammanfattning av webbinnehåll. Hämtning är alltid i form av utdrag (citerade sammanfattningar). Svarssyntes och konfigurerbar resonemangsinsats är inte tillgängliga i den här versionen.
För API-versionen 2025-11-01-preview möjliggör referensen för kunskapsbasmodellen även svarssyntes, vilket ger ett enda LLM-formulerat svar i stället för extraherade citat.
Sök efter befintliga kunskapskällor
En kunskapskälla är ett återanvändbart objekt på toppnivå. Att känna till befintliga kunskapskällor är användbart för återanvändning eller namngivning av nya objekt.
Kör följande kod för att lista kunskapskällor efter namn och typ.
// 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}");
}
Referens: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})")
Referens:SearchIndexClient
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
api-key: {{api-key}}
Referens:Kunskapskällor – lista
Du kan också returnera en enda kunskapskälla efter namn för att granska dess JSON-definition.
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));
Referens: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))
Referens:SearchIndexClient
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
api-key: {{api-key}}
Referens:Kunskapskällor – Hämta
Följande JSON är ett exempelsvar för en resurs för webbkunskapskälla.
{
"name": "my-web-ks",
"kind": "web",
"description": "A sample Web Knowledge Source.",
"encryptionKey": null,
"webParameters": {
"domains": null
}
}
Skapa en kunskapskälla
Kör följande kod för att skapa en webbkunskapskälla.
// Create Web Knowledge Source
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));
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.");
Referens:SearchIndexClient, WebKnowledgeSource
# Create Web Knowledge Source
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import WebKnowledgeSource, WebKnowledgeSourceParameters, WebKnowledgeSourceDomains, WebKnowledgeSourceDomain
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
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.")
Referens:SearchIndexClient
### Create Web Knowledge Source
PUT {{search-url}}/knowledgesources/my-web-ks?api-version=2025-11-01-preview
Content-Type: application/json
api-key: {{api-key}}
{
"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 } ]
}
}
}
Källspecifika egenskaper
För både API-versionerna 2025-11-01 och 2026-04-01 kan du skicka följande egenskaper för att skapa en webbkunskapskälla.
| Namn | Beskrivning | Typ | Redigerbara | Krävs |
|---|---|---|---|---|
Name |
Namnet på kunskapskällan, som måste vara unikt i kunskapskällornas samling och följa naming guidelines för objekt i Azure AI-sökning. | Sträng | Nej | Ja |
Description |
En beskrivning av kunskapskällan. När det är ospecificerat använder Azure AI-sökning en standardbeskrivning. | Sträng | Ja | Nej |
EncryptionKey |
En kundhanterad nyckel för att kryptera känslig information i kunskapskällan. | Objekt | Ja | Nej |
WebParameters |
Parametrar som är specifika för Web Knowledge Source. För närvarande är detta bara Domains. |
Objekt | Ja | Nej |
Domains |
Domäner att tillåta eller blockera från sökutrymmet. Som standard använder kunskapskällan Grounding med Bing Search för att söka på hela det offentliga Internet. När du anger domäner använder kunskapskällan Grounding med anpassad Bing-sökning för att begränsa resultaten till de angivna domänerna. I båda fallen är Bing Custom Search sökleverantören. | Objekt | Ja | Nej |
AllowedDomains |
Domäner som ska inkluderas i sökutrymmet. För varje domän måste du ange den address i website.com formatet. Du kan också ange om domänens undersidor ska inkluderas genom att ange IncludeSubpages till true eller false. |
Array | Ja | Nej |
BlockedDomains |
Domäner som ska undantas från sökutrymmet. För varje domän måste du ange den address i website.com formatet. Du kan också ange om domänens undersidor ska inkluderas genom att ange IncludeSubpages till true eller false. |
Array | Ja | Nej |
| Namn | Beskrivning | Typ | Redigerbara | Krävs |
|---|---|---|---|---|
name |
Namnet på kunskapskällan, som måste vara unikt i kunskapskällornas samling och följa naming guidelines för objekt i Azure AI-sökning. | Sträng | Nej | Ja |
description |
En beskrivning av kunskapskällan. När det är ospecificerat använder Azure AI-sökning en standardbeskrivning. | Sträng | Ja | Nej |
encryption_key |
En kundhanterad nyckel för att kryptera känslig information i kunskapskällan. | Objekt | Ja | Nej |
web_parameters |
Parametrar som är specifika för Web Knowledge Source. För närvarande är detta bara domains. |
Objekt | Ja | Nej |
domains |
Domäner att tillåta eller blockera från sökutrymmet. Som standard använder kunskapskällan Grounding med Bing Search för att söka på hela det offentliga Internet. När du anger domäner använder kunskapskällan Grounding med anpassad Bing-sökning för att begränsa resultaten till de angivna domänerna. I båda fallen är Bing Custom Search sökleverantören. | Objekt | Ja | Nej |
allowed_domains |
Domäner som ska inkluderas i sökutrymmet. För varje domän måste du ange den address i website.com formatet. Du kan också ange om domänens undersidor ska inkluderas genom att ange include_subpages till true eller false. |
Array | Ja | Nej |
blocked_domains |
Domäner som ska undantas från sökutrymmet. För varje domän måste du ange den address i website.com formatet. Du kan också ange om domänens undersidor ska inkluderas genom att ange include_subpages till true eller false. |
Array | Ja | Nej |
| Namn | Beskrivning | Typ | Redigerbara | Krävs |
|---|---|---|---|---|
name |
Namnet på kunskapskällan, som måste vara unikt i kunskapskällornas samling och följa naming guidelines för objekt i Azure AI-sökning. | Sträng | Nej | Ja |
kind |
Den typ av kunskapskälla, vilket är web i det här fallet. |
Sträng | Nej | Ja |
description |
En beskrivning av kunskapskällan. När det är ospecificerat använder Azure AI-sökning en standardbeskrivning. | Sträng | Ja | Nej |
encryptionKey |
En kundhanterad nyckel för att kryptera känslig information i kunskapskällan. | Objekt | Ja | Nej |
webParameters |
Parametrar som är specifika för Web Knowledge Source. För närvarande är detta bara domains. |
Objekt | Ja | Nej |
domains |
Domäner att tillåta eller blockera från sökutrymmet. Som standard använder kunskapskällan Grounding med Bing Search för att söka på hela det offentliga Internet. När du anger domäner använder kunskapskällan Grounding med anpassad Bing-sökning för att begränsa resultaten till de angivna domänerna. I båda fallen är Bing Custom Search sökleverantören. | Objekt | Ja | Nej |
allowedDomains |
Domäner som ska inkluderas i sökutrymmet. För varje domän måste du ange den address i website.com formatet. Du kan också ange om domänens undersidor ska inkluderas genom att ange includeSubpages till true eller false. |
Array | Ja | Nej |
blockedDomains |
Domäner som ska undantas från sökutrymmet. För varje domän måste du ange den address i website.com formatet. Du kan också ange om domänens undersidor ska inkluderas genom att ange includeSubpages till true eller false. |
Array | Ja | Nej |
Tilldela en kunskapsbas
Om du är nöjd med kunskapskällan fortsätter du till nästa steg: ange kunskapskällan i en kunskapsbas.
När kunskapsbasen har konfigurerats använder du åtgärden hämta för att fråga kunskapskällan.
Granska hämtad utdata
När du gör en förfrågan till en kunskapsbas som innehåller Web Knowledge Source kan svarsmatrisen activity innehålla två webbrelaterade poster.
- En
webpost som samlar in de körningsparametrar som användes vid begäran. - En
modelWebSummarizationpostering som registrerar tokenanvändning för LLM-sammanfattningssteget.
{
"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
}
]
}
Ta bort en kunskapskälla
Innan du kan ta bort en kunskapskälla måste du ta bort alla kunskapsbaser som refererar till den eller uppdatera kunskapsbasdefinitionen för att ta bort referensen. För kunskapskällor som genererar en index- och indexeringspipeline tas även alla genererade objekt bort. Men om du använde ett befintligt index för att skapa en kunskapskälla tas inte ditt index bort.
Om du försöker ta bort en kunskapskälla som används misslyckas åtgärden och returnerar en lista över berörda kunskapsbaser.
Så här tar du bort en kunskapskälla:
Hämta en lista över alla kunskapsbaser i söktjänsten.
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}"); }Referens:SearchIndexClient
Ett exempelsvar kan se ut så här:
Knowledge Bases: - earth-knowledge-base - hotels-sample-knowledge-base - my-demo-knowledge-baseHämta en individuell kunskapsbasdefinition för att söka efter referenser till kunskapskällor.
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);Referens:SearchIndexClient
Ett exempelsvar kan se ut så här:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Ta antingen bort kunskapsbasen eller, om du har flera kunskapskällor, uppdatera kunskapsbasen för att ta bort källan. Det här exemplet visar borttagning.
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.");Referens:SearchIndexClient
Ta bort kunskapskällan.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Referens:SearchIndexClient
Hämta en lista över alla kunskapsbaser i söktjänsten.
# 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}")Referens:SearchIndexClient
Ett exempelsvar kan se ut så här:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Hämta en individuell kunskapsbasdefinition för att söka efter referenser till kunskapskällor.
# 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)Referens:SearchIndexClient
Ett exempelsvar kan se ut så här:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Ta antingen bort kunskapsbasen eller, om du har flera kunskapskällor, uppdatera kunskapsbasen för att ta bort källan. Det här exemplet visar borttagning.
# 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.")Referens:SearchIndexClient
Ta bort kunskapskällan.
# 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.")Referens:SearchIndexClient
Hämta en lista över alla kunskapsbaser i söktjänsten.
### Get knowledge bases GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name api-key: {{api-key}}Referens:Kunskapsbaser – lista
Ett exempelsvar kan se ut så här:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Hämta en individuell kunskapsbasdefinition för att söka efter referenser till kunskapskällor.
### Get a knowledge base definition GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} api-key: {{api-key}}Referens:Kunskapsbaser – Hämta
Ett exempelsvar kan se ut så här:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Ta antingen bort kunskapsbasen eller, om du har flera kunskapskällor, uppdatera kunskapsbasen för att ta bort källan. Det här exemplet visar borttagning.
### Delete a knowledge base DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} api-key: {{api-key}}Referens:Kunskapsbaser – Ta bort
Ta bort kunskapskällan.
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} api-key: {{api-key}}Referens:Kunskapskällor – Ta bort