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.
Observera
Azure AI-sökning är tillgängligt via Azure-portalen, REST-API:er och Azure-SDK:er. Den ligger också till grund för Foundry IQ, det hanterade kunskapsskiktet som omvandlar företagsinnehåll till återanvändbara, behörighetsmedvetna kunskapsbaser för agenter i Microsoft Foundry-portalen.
Observera
Den här agentiska hämtningsfunktionen är allmänt tillgänglig i REST API:et 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 ett REST API 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.
Viktigt
Dessa funktioner och denna funktionalitet är en del av REST API-versionen 2026-08-01-preview. Förhandsversionen av 2026-08-01 är licensierad till dig som en del av din Azure-prenumeration och omfattas av de villkor som gäller för "förhandsversioner" i Microsoft Produktvillkor, Microsoft Products and Services Data Protection Addendum ("DPA") och tilläggsvillkoren för användning för Microsoft Azure förhandsversioner.
Förhandsversionen av 2026-08-01 stöder anslutningar till andra Microsoft-tjänster- och tredjepartstjänster. Användningen av dessa tjänster omfattas av deras respektive villkor och kan resultera i databearbetning eller lagring utanför Azure efterlevnadsgräns, samt data som flödar till Azure efterlevnadsgräns.
Det är ditt ansvar att hantera om dina data kommer att flöda utanför organisationens efterlevnad och geografiska gränser och eventuella relaterade konsekvenser, och att lämpliga behörigheter, gränser och godkännanden etableras.
Du ansvarar för att noggrant granska och testa program som du skapar i samband med dina specifika användningsfall och fatta alla lämpliga beslut och anpassningar. Detta omfattar implementering av dina egna ansvarsfulla AI-åtgärder, till exempel metaprompter, innehållsfilter eller andra säkerhetssystem, och att se till att dina program uppfyller lämpliga kvalitets-, tillförlitlighets-, säkerhets- och tillförlitlighetsstandarder. Mer information finns i Azure AI-sökning Transparency Note.
I Azure AI-sökning är ett knowledge base ett objekt på den översta nivån som orkestrerar agentisk hämtning. Den definierar vilka kunskapskällor som ska frågas och standardbeteendet för hämtningsåtgärder. Vid frågetillfället riktar sig metoden retrieve mot kunskapsbasen för att köra den konfigurerade hämtningspipelinen.
En kunskapsbas anger:
En eller flera kunskapskällor som pekar på sökbart innehåll.
En valfri LLM för frågeplanering, svarssyntes eller sammanfattning av webbinnehåll. Aktiviteter som stöds varierar beroende på API-version och typ av kunskapskälla.
Anpassade egenskaper som styr routning, källval och objektkryptering.
Användningsstöd
| Azure Portal | Microsoft Foundry-portalen | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Förutsättningar
Azure AI-sökning i valfri region som tillhandahåller agentisk hämtning. Om du använder en hanterad identitet för rollbaserad åtkomst till distribuerade modeller måste söktjänsten vara på Basic-nivån eller högre.
En eller flera kunskapskällor.
2026-08-01-previewAnvänd API-versionen för att komma åt kunskapskällor för förhandsversion eller för att använda en LLM med icke-webbkunskapskällor. Använd API-versionen2026-04-01för allmänt tillgängliga kunskapskällor och minimal, extraktiv hämtning.(Villkorsstyrd) Azure OpenAI med en support för LLM distribution. En LLM krävs om din kunskapsbas innehåller en webbkunskapskälla. För andra kunskapskällor är en LLM valfri i
2026-08-01-previewAPI-versionen och stöds inte i2026-04-01API-versionen.Behörighet att skapa kunskapsbaser. Konfigurera nyckellös autentisering med rollen Search Service-deltagare tilldelad till ditt användarkonto (rekommenderas) eller använd en administratörs-API-nyckel.
Om kunskapsbasen anger en LLM måste söktjänsten ha en hanterad identitet med Cognitive Services-användarbehörighet för Microsoft Foundry-resursen.
Obligatoriskt
Azure.Search.Documentspaket:För
2026-08-01-previewfunktioner är det senaste förhandsversionspaketet:dotnet add package Azure.Search.Documents --prereleaseFör
2026-04-01funktioner är det senaste stabila paketet:dotnet add package Azure.Search.Documents
För nyckellös autentisering, paketet
Azure.Identity:dotnet add package Azure.Identity
Obligatoriskt
azure-search-documentspaket:För
2026-08-01-previewfunktioner är det senaste förhandsversionspaketet:pip install --pre azure-search-documentsFör
2026-04-01funktioner är det senaste stabila paketet:pip install azure-search-documents
För nyckellös autentisering, paketet
azure-identity:pip install azure-identity
Nödvändig REST API-version för söktjänsten:
För förhandsversionsfunktioner: 2026-08-01-preview
För allmänt tillgängliga funktioner: 2026-04-01
För nyckellös autentisering inkluderar du en Microsoft Entra ID token i rubriken för
Authorizationvarje HTTP-begäran.
Modeller som stöds
Använd någon av följande LLM:er från Azure OpenAI i Foundry Models. Azure OpenAI avgör regional tillgänglighet för den distribution du väljer. Distributionsinstruktioner finns i Deploy Microsoft Foundry Models i Foundry Portal.
GPT-4-familjen är inaktuell. Vägledning för modelllivscykel, datum för pensionering och aktuell status finns i Modellavdragning och utfasning och modellavdragningsschema – Microsoft Foundry.
| Modell | API-versioner som stöds |
|---|---|
gpt-4o (inaktuell) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-4o-mini (inaktuell) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-4.1 (inaktuell) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-4.1-mini (inaktuell) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-4.1-nano (inaktuell) |
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 |
Förhandsversion 2026-08-01 |
gpt-5.6-sol |
Förhandsversion 2026-08-01 |
gpt-5.6-terra |
Förhandsversion 2026-08-01 |
gpt-5.6-luna |
Förhandsversion 2026-08-01 |
Konfigurera åtkomst
Azure AI-sökning behöver åtkomst till LLM från Azure OpenAI i Foundry Models. Vi rekommenderar Microsoft Entra ID för autentisering och rollbaserad åtkomst för auktorisering. Om du vill tilldela roller måste du vara ägare eller administratör för användaråtkomst. Om du inte kan använda roller använder du nyckelbaserad autentisering i stället.
Konfigurera Azure AI-sökning att använda en hanterad identitet.
Tilldela Cognitive Services-användare till den hanterade identiteten för din söktjänst hos modellleverantören. Om du testar lokalt tilldelar du samma roll till ditt användarkonto.
För lokal testning följer du stegen i Snabbstart: Anslut utan nycklar för att logga in på en specifik prenumeration och klientorganisation. Använd
DefaultAzureCredentiali stället förAzureKeyCredentiali varje begäran, vilket bör likna följande exempel.// Authenticate using roles using Azure.Search.Documents.Indexes; using Azure.Identity; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());
Konfigurera Azure AI-sökning att använda en hanterad identitet.
Tilldela Cognitive Services-användare till den hanterade identiteten för din söktjänst hos modellleverantören. Om du testar lokalt tilldelar du samma roll till ditt användarkonto.
För lokal testning följer du stegen i Snabbstart: Anslut utan nycklar för att logga in på en specifik prenumeration och klientorganisation. Använd
DefaultAzureCredentiali stället förAzureKeyCredentiali varje begäran, vilket bör likna följande exempel.# Authenticate using roles from azure.identity import DefaultAzureCredential index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
Konfigurera Azure AI-sökning att använda en hanterad identitet.
Tilldela Cognitive Services-användare till den hanterade identiteten för din söktjänst hos modellleverantören. Om du testar lokalt tilldelar du samma roll till ditt användarkonto.
För lokal testning följer du stegen i Snabbstart: Anslut utan nycklar för att få en personlig åtkomsttoken för en specifik prenumeration och klientorganisation. Ange din åtkomsttoken i varje begäran, vilket bör likna följande exempel.
# List indexes using roles GET {{search-endpoint}}/indexes?api-version=2026-04-01 Content-Type: application/json Authorization: Bearer {{search-access-token}}
Viktigt
Kodfragmenten i den här artikeln använder nyckellös autentisering. Om du vill använda en API-nyckel i stället uppdaterar du varje begäran i enlighet med detta. I en begäran som anger båda metoderna har API-nyckeln företräde.
Sök efter befintliga kunskapsbaser
En kunskapsbas är ett återanvändbart objekt på toppnivå. Att känna till befintliga kunskapsbaser är användbart för återanvändning eller namngivning av nya objekt.
Kör följande kod för att lista befintliga kunskapsbaser efter namn. Listan innehåller alla kunskapsbaser i söktjänsten, oavsett vilken API-version du använde för att skapa dem.
// 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}");
}
Referens: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}")
Referens:SearchIndexClient
# List knowledge bases
GET {{search-endpoint}}/knowledgebases?api-version={{api-version}}&$select=name
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
Referens:Kunskapsbaser – lista
Du kan också returnera en enda kunskapsbas 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 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
# 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))
Referens:SearchIndexClient
# Get knowledge base
GET {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
Referens:Kunskapsbaser – Hämta
Följande JSON är ett exempelsvar för en kunskapsbas.
{
"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"
}
}
Observera
Svarsschemat återspeglar den API-version som du använde för att skapa kunskapsbasen. En kunskapsbas som skapats med den allmänt tillgängliga 2026-04-01 API-versionen returnerar en smalare definition än 2026-08-01-preview. Mer information om vilka egenskaper varje version stöder finns i Skapa en kunskapsbas.
Skapa en kunskapsbas
Viktigt
2026-04-01 API-versionen accepterar endast allmänt tillgängliga typer av kunskapskällor och har stöd för minimal, extraktiv hämtning. Den stöder inte funktioner som endast är tillgängliga i förhandsversion, till exempel frågeplanering, svargenerering och konfigurerbar resonemangsinsats. För full funktionalitet, använd 2026-08-01-preview.
En kunskapsbas ansluter en eller flera kunskapskällor (sökbart innehåll) till en valfri LLM från Azure OpenAI i Foundry Models. De egenskaper som du anger fastställer standardvärden för frågekörning och svar vid hämtning.
När du har skapat en kunskapsbas kan du uppdatera dess egenskaper när som helst. Om kunskapsbasen används träder uppdateringarna i kraft vid nästa hämtning.
// 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.");
Referens: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.")
Referens: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"
}
}
Konfigurera standardbegränsningar för hämtning (förhandsversion)
Från och med 2026-08-01-preview API-versionen kan du använda det valfria retrieveDefaults objektet för att lagra standardvärden för hela begäran på en kunskapsbas. Varje lagrad egenskap gäller endast när en hämtningsbegäran utelämnar motsvarande begärandefält:
| Lagrad egenskap | Hämta begärandefältet |
|---|---|
maxRuntimeInSeconds |
maxRuntimeInSeconds |
maxOutputDocuments |
maxOutputDocuments |
maxOutputSizeInTokens |
maxOutputSize |
Budgeten för utdatatoken använder olika egenskapsnamn när de lagras och åsidosättas. Ange maxOutputSizeInTokens i retrieveDefaultsoch använd maxOutputSize i en hämtningsbegäran.
Det effektiva värdet för varje egenskap bestäms oberoende av varandra i den här ordningen:
- Motsvarande värde för hämtningsbegäran.
- Värdet i kunskapsbasobjektet
retrieveDefaults. - Tjänsten är standard när egenskapen saknas på båda nivåerna.
I följande exempel används en befintlig kunskapskälla för sökindex med namnet your-knowledge-source. Den lagrar en 45-sekunders körningsbudget, högst åtta utdatadokument och en utdatabudget på 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);
Referens: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)
Referens: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
}
}
Information om hur du åsidosätter dessa lagrade värden med 20 sekunder, ett dokument och 5 000 token för en begäran finns i Verifiera att kunskapsbasen hämtar standardvärden.
Konfigurera CORS för webbläsarbaserade hämtningsanrop (förhandsversion)
Viktigt
Resursdelning mellan ursprung (CORS) gör det möjligt för webbläsarbaserade program att begära data direkt från tjänsten. Beroende på CORS-konfigurationen kan externa webbsidor komma åt eller anropa tjänsten och dess data med hjälp av användarens webbläsarkontext. Den här åtkomsten kan skapa säkerhetshot. Att aktivera CORS är på egen risk.
Från och med 2026-05-01-preview API-versionen kan en kunskapsbas definiera corsOptions för webbläsarbaserade program som anropar hämtningsåtgärden direkt från JavaScript. CORS-policyn anger vilka ursprung i webbläsaren som kan skicka hämtningsförfrågningar till kunskapsbasen.
När du utelämnar corsOptionshar kunskapsbasen ingen CORS-princip och webbläsare blockerar begäranden om hämtning mellan ursprung.
I följande exempel skapas en kunskapsbas som gör det möjligt att hämta begäranden från en webbläsares ursprung.
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);
Referens: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)
Referens: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
}
}
Sök i en kunskapsbas
När du har skapat en kunskapsbas anropar du retrieve-åtgärden eller MCP-slutpunkten för att göra en fråga mot den.
Ta bort en kunskapsbas
Om du inte längre behöver kunskapsbasen eller behöver återskapa den i söktjänsten kör du följande kod för att ta bort objektet.
// 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.");
Referens: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.")
Referens:SearchIndexClient
# Delete a knowledge base
DELETE {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
Authorization: Bearer {{search-access-token}}
Referens:Kunskapsbaser – Ta bort