Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Important
Diese Features und Funktionen sind Teil der REST-API 2026-05-01-Preview. Die 2026-05-01-preview wird Ihnen als Teil Ihres Azure-Abonnements zur Verfügung gestellt und unterliegt den für „Previews“ geltenden Bestimmungen in den Microsoft-Produktbestimmungen, dem Nachtrag zum Datenschutz für Microsoft-Produkte und -Dienste („DPA“) und den Ergänzenden Nutzungsbedingungen für Microsoft Azure-Vorschauen.
Die Vorschauversion 2026-05-01 unterstützt Verbindungen mit anderen Microsoft-Diensten und Diensten von Drittanbietern. Die Nutzung dieser Dienste unterliegt den jeweiligen Bestimmungen und kann dazu führen, dass Daten außerhalb der Azure-Compliancegrenze verarbeitet oder gespeichert werden und dass Daten in die Azure-Compliancegrenze fließen.
Es liegt in Ihrer Verantwortung, zu verwalten, ob Ihre Daten außerhalb der Compliance- und geografischen Grenzen Ihrer Organisation und alle damit verbundenen Auswirkungen fließen und dass entsprechende Berechtigungen, Grenzen und Genehmigungen bereitgestellt werden.
MCP-Implementierungen sind anfällig für Risiken, z. B. Angriffe, Kaskadierende Fehler und Verlust der menschlichen Aufsicht. Sie können diese Risiken mindern, indem Sie MCP-Server auf Sicherheit und Zuverlässigkeit überprüfen, indem Sie die empfohlenen Methoden Microsoft und industry best practices ausführen und Genehmigungsmechanismen implementieren und kaskadierende Verhaltensweisen überwachen.
Sie sind dafür verantwortlich, Anwendungen, die Sie im Kontext Ihrer spezifischen Anwendungsfälle erstellen, sorgfältig zu überprüfen und zu testen und alle geeigneten Entscheidungen und Anpassungen zu treffen. Dazu gehört die Implementierung ihrer eigenen verantwortungsvollen KI-Entschärfungen, wie Metaprompts, Inhaltsfilter oder andere Sicherheitssysteme, und sicherzustellen, dass Ihre Anwendungen angemessene Qualität, Zuverlässigkeit, Sicherheit und Vertrauenswürdigkeitsstandards erfüllen. Weitere Informationen finden Sie im Azure KI-Suche Transparenzhinweis.
Eine MCP Server-Wissensquelle (Vorschau) verbindet jedes System, das ein Model Context Protocol (MCP)-kompatibler Endpunkt mit einer agentischen Abrufpipeline in Azure KI-Suche verfügbar macht. Wissensquellen werden unabhängig erstellt, in einer Wissensbasis referenziert und als Erdungsdaten verwendet, wenn die Wissensbasis zur Laufzeit abgefragt wird.
MCP-Tools stellen Daten und Funktionalität aus externen Systemen als aufrufbare Funktionen bereit, die Agenten zum Abfragezeitpunkt aufrufen. Dies macht MCP Server-Wissensquellen nützlich, wenn sich die benötigten Informationen in internen Tools, APIs von Drittanbietern oder benutzerdefinierten Back-Ends befinden, die Azure KI-Suche nicht nativ unterstützen.
Im Gegensatz zu indizierten Wissensquellen fragen Wissensquellen des MCP-Servers Live-Daten direkt zum Zeitpunkt des Abrufs ab. Es ist keine Aufnahmepipeline erforderlich. Sie geben die MCP-Server-URL an und geben an, welche Tools Azure KI-Suche zur Abfragezeit aufrufen können.
Nutzungssupport
| Azure Portal | Microsoft Foundry Portal | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST-API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Voraussetzungen
Einen Azure KI-Suche Dienst in einer beliebigen Region, der agentischen Abruf bereitstellt.
Ein MCP-Server mit einem oder mehreren Tools. Der Server muss von Azure KI-Suche über HTTPS erreichbar sein. Zum Testen können Sie den öffentlichen Microsoft MCP-Server "Learn" unter
https://learn.microsoft.com/api/mcpverwenden.Berechtigungen zum Erstellen von Wissensquellen. Konfigurieren Sie die schlüssellose Authentifizierung mit der Rolle "Mitwirkender des Suchdiensts ", die Ihrem Benutzerkonto zugewiesen ist (empfohlen), oder verwenden Sie einen API-Schlüssel.
- Das neueste
Azure.Search.DocumentsVorschaupaket:dotnet add package Azure.Search.Documents --prerelease
- Das neueste
azure-search-documentsVorschaupaket:pip install --pre azure-search-documents
- Die 2026-05-01-Vorschauversion der Suchdienste-REST-APIs.
Einschränkungen und Überlegungen
Der
minimalAbruf-Schlussfolgerungsaufwand wird nicht unterstützt. Verwenden Sie stattdessenlowodermedium.alwaysQuerySourcewird für Abrufanforderungen, die auf eine Wissensquelle eines MCP-Servers verweisen, nicht unterstützt.MCP-Servertoolaufrufe umfassen externe Netzwerkanforderungen und können länger dauern als typische Suchabfragen. Legen Sie
maxRuntimeInSecondsfür Abrufanforderungen fest, um allen konfigurierten Tools genügend Zeit für die Antwort zu geben.
Überprüfen auf vorhandene Wissensquellen
Eine Wissensquelle ist ein wiederverwendbares Objekt auf oberster Ebene. Das Wissen über vorhandene Wissensquellen ist hilfreich, um neue Objekte wiederzuverwenden oder zu benennen.
Führen Sie den folgenden Code aus, um Wissensquellen nach Namen und Typ auflisten.
// 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}");
}
Reference: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})")
Reference:SearchIndexClient
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
api-key: {{api-key}}
Referenz:Wissensquellen - Liste
Sie können auch eine einzelne Wissensquelle anhand des Namens zurückgeben, um die JSON-Definition zu überprüfen.
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));
Reference: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))
Reference:SearchIndexClient
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
api-key: {{api-key}}
Referenz:Wissensquellen - Abrufen
Der folgende JSON-Code ist eine Beispielantwort für eine MCP Server-Wissensquelle.
{
"name": "my-mcp-server-ks",
"kind": "mcpServer",
"description": "An MCP Server knowledge source.",
"encryptionKey": null,
"mcpServerParameters": {
"serverURL": "https://learn.microsoft.com/api/mcp",
"authentication": null,
"tools": [
{
"name": "microsoft_docs_search",
"inclusionMode": null,
"maxOutputTokens": null,
"outputParsing": {
"kind": "auto",
"jsonParameters": null,
"splitParameters": null
}
}
]
}
}
Erstellen einer Wissensquelle
Führen Sie den folgenden Code aus, um eine MCP Server-Wissensquelle zu erstellen.
using Azure;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
Uri searchEndpoint = new Uri("<search-service-url>");
AzureKeyCredential credential = new AzureKeyCredential("<api-key>");
var indexClient = new SearchIndexClient(searchEndpoint, credential);
var mcpServer = new McpServerKnowledgeSource(
"<knowledge-source-name>",
new McpServerKnowledgeSourceParameters(
"https://learn.microsoft.com/api/mcp",
new[]
{
new McpServerTool
{
Name = "microsoft_docs_search",
OutputParsing = new McpServerAutoOutputParsing(),
InclusionMode = McpServerToolInclusionMode.Reranked,
MaxOutputTokens = 1000
}
}))
{
Description = "An MCP Server knowledge source."
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(mcpServer);
Reference:SearchIndexClient
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
McpServerKnowledgeSource,
McpServerParameters,
McpServerTool,
McpServerToolOutputParsing,
)
index_client = SearchIndexClient(
endpoint="<search-service-url>",
credential=AzureKeyCredential("<api-key>")
)
knowledge_source = McpServerKnowledgeSource(
name="<knowledge-source-name>",
description="An MCP Server knowledge source.",
mcp_server_parameters=McpServerParameters(
server_url="https://learn.microsoft.com/api/mcp",
tools=[
McpServerTool(
name="microsoft_docs_search",
output_parsing=McpServerToolOutputParsing(kind="auto"),
inclusion_mode="reranked",
max_output_tokens=1000
)
]
)
)
index_client.create_or_update_knowledge_source(knowledge_source)
Reference:SearchIndexClient
### Create an MCP Server knowledge source
PUT {{search-url}}/knowledgesources/my-mcp-server-ks?api-version=2026-05-01-preview
api-key: {{api-key}}
Content-Type: application/json
Prefer: return=representation
{
"name": "my-mcp-server-ks",
"kind": "mcpServer",
"description": "An MCP Server knowledge source.",
"encryptionKey": null,
"mcpServerParameters": {
"serverURL": "https://learn.microsoft.com/api/mcp",
"tools": [
{
"name": "microsoft_docs_search",
"outputParsing": {
"kind": "auto"
},
"inclusionMode": "reranked",
"maxOutputTokens": 1000
}
]
}
}
Quellspezifische Eigenschaften
Die folgenden Eigenschaften gelten für MCP Server-Wissensquellen.
| Name | Description | Typ | Bearbeitbar | Erforderlich |
|---|---|---|---|---|
name |
Der Name der Wissensquelle, die innerhalb der Wissensquellensammlung eindeutig sein muss und den richtlinien für naming für Objekte in Azure KI-Suche entsprechen muss. | String | No | Ja |
kind |
Die Art der Wissensquelle, die in diesem Fall mcpServer ist. |
String | No | Ja |
description |
Eine Beschreibung der Wissensquelle. | String | Ja | No |
encryptionKey |
Ein vom Kunden verwalteter Schlüssel zum Verschlüsseln vertraulicher Informationen in der Wissensquelle. | Objekt | Ja | No |
mcpServerParameters |
Spezifische Parameter für MCP Server-Wissensquellen: serverURL, , authenticationund tools. |
Objekt | No | Ja |
serverURL |
Die URL des MCP-Servers. | String | No | Ja |
authentication |
Authentifizierungsanmeldeinformationen für den MCP-Server. Wenn diese Angabe weggelassen wird, werden Anforderungen ohne Authentifizierung gesendet. Unterstützte Authentifizierungsoptionen finden Sie unter "Authentifizierungsoptionen". | Objekt | Ja | No |
tools |
Eine Liste von Tools, die auf dem MCP-Server zugelassen sind. Muss mindestens einen Eintrag enthalten. Jeder Toolname muss innerhalb der Liste eindeutig sein und muss mit einem Tool übereinstimmen, das vom MCP-Server verfügbar gemacht wird. Die Wissensquelle lässt nicht automatisch alle MCP-Servertools zu, daher müssen Sie jedes zulässige Tool explizit auflisten. Unterstützte Tooleigenschaften finden Sie unter Tooleigenschaften. | Array | Ja | Ja |
Authentifizierungsoptionen
Wenn Ihr MCP-Server eine Authentifizierung erfordert, verwenden Sie eine der folgenden Optionen.
Verwenden Sie foundryConnection nur, wenn ein Agent des Foundry Agent Service eine Wissensdatenbank aufruft, die diese MCP-Server-Wissensquelle enthält. In diesem Fluss löst der Dienst die Verbindung auf und fügt die erforderlichen Anmeldeinformationen ein, wenn er den MCP-Server aufruft. Wenn Sie die Knowledge Base direkt oder von einem anderen Client als dem Foundry Agent Service aufrufen, foundryConnection funktioniert dies nicht.
"authentication": {
"kind": "foundryConnection",
"foundryConnectionParameters": {
"connectionId": "<your-foundry-connection-id>"
}
}
Übergeben von Headern zur Abfragezeit
Wenn ein MCP-Server Anmeldeinformationen für jede Anforderung benötigt, übergeben Sie diese mit der Abrufanforderung unter Verwendung gepaarter Steuerheader. Diese Syntax leitet Header an den MCP-Server weiter, ohne dass ein Konflikt mit dem Authorization oder api-key-Header besteht, der zur Authentifizierung bei Azure KI-Suche verwendet wird.
Verwenden Sie den Namen der Wissensquelle als Präfix:
| Steuerkopfzeile | Description |
|---|---|
<knowledge-source-name>-header-name<N> |
Der Name des HTTP-Headers, der an den MCP-Server gesendet werden soll. |
<knowledge-source-name>-header-value<N> |
Der Wert des HTTP-Headers, der an den MCP-Server gesendet werden soll. |
<N> ist ein optionales numerisches Suffix, das mehrere Kopfzeilen koppelt. Zum Beispiel wird my-mcp-server-ks-header-name1 mit my-mcp-server-ks-header-value1 gekoppelt.
Erstellen Sie den Abrufclient mit einer Richtlinie, die der Abrufanforderung die Steuerheader hinzufügt.
using Azure;
using Azure.Core;
using Azure.Core.Pipeline;
using Azure.Search.Documents;
using Azure.Search.Documents.KnowledgeBases;
using Azure.Search.Documents.KnowledgeBases.Models;
string knowledgeSourceName = "my-mcp-server-ks";
var options = new SearchClientOptions();
options.AddPolicy(new McpPassthroughHeaderPolicy(knowledgeSourceName), HttpPipelinePosition.PerCall);
var retrievalClient = new KnowledgeBaseRetrievalClient(
endpoint: new Uri(searchEndpoint),
knowledgeBaseName: knowledgeBaseName,
credential: credential,
options: options);
var request = new KnowledgeBaseRetrievalRequest();
request.Messages.Add(
new KnowledgeBaseMessage(new[] { new KnowledgeBaseMessageTextContent("Find Azure AI Search MCP guidance.") })
{
Role = "user"
});
request.KnowledgeSourceParams.Add(new SearchIndexKnowledgeSourceParams(knowledgeSourceName));
Response<KnowledgeBaseRetrievalResponse> response = await retrievalClient.RetrieveAsync(request);
sealed class McpPassthroughHeaderPolicy(string knowledgeSourceName) : HttpPipelineSynchronousPolicy
{
public override void OnSendingRequest(HttpMessage message)
{
message.Request.Headers.Add($"{knowledgeSourceName}-header-name", "Authorization");
message.Request.Headers.Add($"{knowledgeSourceName}-header-value", "Bearer <mcp-server-access-token>");
message.Request.Headers.Add($"{knowledgeSourceName}-header-name1", "x-custom-auth");
message.Request.Headers.Add($"{knowledgeSourceName}-header-value1", "<mcp-server-header-value>");
}
}
Übergeben Sie die Steuerungsheader beim Abruf im Schlüsselwortargument headers.
from azure.search.documents.knowledgebases.models import (
KnowledgeBaseMessage,
KnowledgeBaseMessageTextContent,
KnowledgeBaseRetrievalRequest,
SearchIndexKnowledgeSourceParams,
)
knowledge_source_name = "my-mcp-server-ks"
request = KnowledgeBaseRetrievalRequest(
messages=[
KnowledgeBaseMessage(
role="user",
content=[
KnowledgeBaseMessageTextContent(
text="Find Azure AI Search MCP guidance."
)
],
)
],
knowledge_source_params=[
SearchIndexKnowledgeSourceParams(knowledge_source_name=knowledge_source_name)
],
)
result = retrieval_client.retrieve(
request,
headers={
f"{knowledge_source_name}-header-name": "Authorization",
f"{knowledge_source_name}-header-value": "Bearer <mcp-server-access-token>",
f"{knowledge_source_name}-header-name1": "x-custom-auth",
f"{knowledge_source_name}-header-value1": "<mcp-server-header-value>",
},
)
POST {{search-url}}/knowledgebases/{{knowledge-base-name}}/retrieve?api-version=2026-05-01-preview
Authorization: Bearer {{search-access-token}}
Content-Type: application/json
my-mcp-server-ks-header-name: Authorization
my-mcp-server-ks-header-value: Bearer {{mcp-server-access-token}}
my-mcp-server-ks-header-name1: x-custom-auth
my-mcp-server-ks-header-value1: {{mcp-server-header-value}}
{
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Find Azure AI Search MCP guidance."
}
]
}
],
"knowledgeSourceParams": [
{
"knowledgeSourceName": "my-mcp-server-ks",
"kind": "mcpServer"
}
]
}
Jedes Headerpaar muss genau einen Control-Header für den Namen und einen zugehörigen Control-Header für den Wert umfassen. Headernamen und Werte müssen gültige HTTP-Anforderungsheader sein. Wenn ein Abfragezeitheader denselben Zielheadernamen wie ein storedHeaders Eintrag verwendet, überschreibt der Abfragezeitwert den gespeicherten Wert für diese Anforderung.
Tooleigenschaften
Jeder Eintrag im tools Array ist ein McpServerTool Objekt mit den folgenden Eigenschaften.
| Name | Description | Typ | Bearbeitbar | Erforderlich |
|---|---|---|---|---|
name |
Der Name des zu aufrufenden MCP-Tools. Muss mit einem Toolnamen übereinstimmen, der vom MCP-Server verfügbar gemacht wird. | String | No | Ja |
outputParsing |
Steuert, wie die Rohausgabe des Tools in für ein Ranking geeignete Dokumente geparst wird. Wird standardmäßig auf auto festgelegt. Unterstützte Ausgabeanalysemodi finden Sie unter Ausgabeanalysemodi. |
Objekt | No | No |
inclusionMode |
Steuert, ob die Ergebnisse des Tools nur enthalten sind, wenn sie hoch (reranked) oder immer unabhängig von der Relevanzbewertung (always) bewertet werden. Wird standardmäßig auf reranked festgelegt. |
String | Ja | No |
maxOutputTokens |
Maximale Anzahl von Token, die vor dem Ranking aus der Ausgabe des Tools beibehalten werden sollen. Der Standardwert ist 10,000. | Integer | No | No |
Ausgabeanalysemodi
Standardmäßig wendet das Abrufmodul automatische Heuristiken (auto) an, um rohe MCP-Toolausgabe in bewertbare Dokumente zu konvertieren. Sie können dieses Verhalten pro Tool mithilfe der outputParsing Eigenschaft außer Kraft setzen.
Der auto Modus erfordert keine Konfiguration. Das Abrufmodul wendet Heuristiken an, um die Toolausgabe zu analysieren.
Zuweisen zu einer Wissensbasis
Wenn Sie mit der Wissensquelle zufrieden sind, fügen Sie sie einer Wissensbasis hinzu.
Abfragen einer Wissensbasis
Rufen Sie nach der Konfiguration der Knowledge Base die Abrufaktion oder den MCP-Endpunkt auf, um MCP-Serverinhalte abzufragen. MCP Server-Wissensquellen verfügen über quellspezifisches Abrufverhalten und Antwortfelder.
Funktionsweise des Abrufs für MCP Server-Wissensquellen
Zur Abfragezeit überprüft das in der Wissensbasis konfigurierte GROßE Sprachmodell (LLM) die konfigurierten Tools, wählt aus, welche auf der Grundlage der Benutzerabfrage aufgerufen werden sollen, und generiert die Argumente für jeden Aufruf. Azure KI-Suche ruft dann die ausgewählten Tools auf dem MCP-Server auf und gibt die Ergebnisse als bewertete Verweise zurück.
MCP Server-spezifische Antwortfelder
MCP Server-Wissensquellen geben Quellenangaben pro Dokument im Array references und Diagnosedaten pro Aufruf im Array activity zurück. Wenn die Wissensquelle mehrere Tools auflistet und das Modell mehrere Tools auswählt, wird für jeden Aufruf ein separater Aktivitätseintrag angezeigt.
Das folgende Beispiel zeigt eine Antwort auf einen Abruf, die einen Verweis auf eine Wissensquelle eines MCP-Servers und den zugehörigen Aktivitätseintrag enthält. Weiterführende Hinweise zum Interpretieren von Retrieve-Antworten finden Sie unter Antwort überprüfen.
Tip
Um sourceData für Verweise zu erhalten, legen Sie includeReferenceSourceData beim Wissensquelleneintrag in true der Abrufanforderung auf knowledgeSourceParams fest.
{
"response": [
// ... Response omitted for brevity
],
"activity": [
{
"type": "mcpServer",
"id": 1,
"knowledgeSourceName": "my-mcp-server-ks",
"queryTime": "2026-05-11T15:42:33.0888894Z",
"count": 10,
"elapsedMs": 768,
"mcpServerArguments": {
"toolName": "microsoft_docs_search",
"toolArguments": {
"query": "Azure AI Search features"
}
}
},
{
// ... Additional activity records omitted for brevity
}
],
"references": [
{
"type": "mcpServer",
"id": "0",
"activitySource": 1,
"sourceData": {
"title": "What is a knowledge source?",
"content": "..."
},
"rerankerScore": 2.96,
"toolName": "microsoft_docs_search",
"title": "my-mcp-server-ks microsoft_docs_search 1"
},
{
// ... Additional references omitted for brevity
}
]
}
Löschen einer Wissensquelle
Bevor Sie eine Wissensquelle löschen können, müssen Sie alle Knowledge Basen löschen, die darauf verweisen, oder die Knowledge Base-Definition aktualisieren, um den Verweis zu entfernen. Für Wissensquellen, die eine Index- und Indexerpipeline generieren, werden auch alle generierten Objekte gelöscht. Wenn Sie jedoch einen vorhandenen Index zum Erstellen einer Wissensquelle verwendet haben, wird Ihr Index nicht gelöscht.
Wenn Sie versuchen, eine verwendete Wissensquelle zu löschen, schlägt die Aktion fehl und gibt eine Liste der betroffenen Wissensdatenbanken zurück.
So löschen Sie eine Wissensquelle:
Erhalten Sie eine Liste aller Wissensdatenbanken für Ihren Suchdienst.
using Azure.Search.Documents.Indexes; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential); var knowledgeBases = indexClient.GetKnowledgeBasesAsync(); Console.WriteLine("Knowledge Bases:"); await foreach (var kb in knowledgeBases) { Console.WriteLine($" - {kb.Name}"); }Reference:SearchIndexClient
Eine Beispielantwort könnte wie folgt aussehen:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Rufen Sie eine individuelle Wissensbasisdefinition ab, um nach Wissensquellenverweise zu suchen.
using Azure.Search.Documents.Indexes; using System.Text.Json; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential); // Specify the knowledge base name to retrieve string kbNameToGet = "earth-knowledge-base"; // Get a specific knowledge base definition var knowledgeBaseResponse = await indexClient.GetKnowledgeBaseAsync(kbNameToGet); var kb = knowledgeBaseResponse.Value; // Serialize to JSON for display string json = JsonSerializer.Serialize(kb, new JsonSerializerOptions { WriteIndented = true }); Console.WriteLine(json);Reference:SearchIndexClient
Eine Beispielantwort könnte wie folgt aussehen:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Löschen Sie entweder die Wissensdatenbank, oder aktualisieren Sie, wenn Sie über mehrere Wissensquellen verfügen, die Wissensbasis, um die Quelle zu entfernen. In diesem Beispiel wird das Löschen gezeigt.
using Azure.Search.Documents.Indexes; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential); await indexClient.DeleteKnowledgeBaseAsync(knowledgeBaseName); System.Console.WriteLine($"Knowledge base '{knowledgeBaseName}' deleted successfully.");Reference:SearchIndexClient
Löschen Sie die Wissensquelle.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Reference:SearchIndexClient
Erhalten Sie eine Liste aller Wissensdatenbanken für Ihren Suchdienst.
# 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}")Reference:SearchIndexClient
Eine Beispielantwort könnte wie folgt aussehen:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Rufen Sie eine individuelle Wissensbasisdefinition ab, um nach Wissensquellenverweise zu suchen.
# 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)Reference:SearchIndexClient
Eine Beispielantwort könnte wie folgt aussehen:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Löschen Sie entweder die Wissensdatenbank, oder aktualisieren Sie, wenn Sie über mehrere Wissensquellen verfügen, die Wissensbasis, um die Quelle zu entfernen. In diesem Beispiel wird das Löschen gezeigt.
# 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.")Reference:SearchIndexClient
Löschen Sie die Wissensquelle.
# 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.")Reference:SearchIndexClient
Erhalten Sie eine Liste aller Wissensdatenbanken für Ihren Suchdienst.
### Get knowledge bases GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name api-key: {{api-key}}Referenz:Wissensdatenbanken - Liste
Eine Beispielantwort könnte wie folgt aussehen:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Rufen Sie eine individuelle Wissensbasisdefinition ab, um nach Wissensquellenverweise zu suchen.
### Get a knowledge base definition GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} api-key: {{api-key}}Referenz:Wissensdatenbanken - Abrufen
Eine Beispielantwort könnte wie folgt aussehen:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Löschen Sie entweder die Wissensdatenbank, oder aktualisieren Sie, wenn Sie über mehrere Wissensquellen verfügen, die Wissensbasis, um die Quelle zu entfernen. In diesem Beispiel wird das Löschen gezeigt.
### Delete a knowledge base DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} api-key: {{api-key}}Referenz:Knowledge Basen - Löschen
Löschen Sie die Wissensquelle.
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} api-key: {{api-key}}Referenz:Wissensquellen - Löschen