Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Note
Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Jest także podstawą Foundry IQ — zarządzanej warstwy wiedzy, która przekształca treści przedsiębiorstwa w bazy wiedzy wielokrotnego użytku z uwzględnieniem uprawnień dla agentów w portalu Microsoft Foundry.
Ważna
Funkcje, możliwości lub właściwości oznaczone (wersja zapoznawcza) nie są objęte umową dotyczącą poziomu usług, nie są zalecane w przypadku obciążeń produkcyjnych i mogą ulec zmianie lub ograniczeniu, zanim staną się one ogólnie dostępne. Warunki Wyszukiwanie AI platformy Azure wersji zapoznawczej mają zastosowanie do wszystkich funkcji w wersji zapoznawczej, niezależnie od tego, czy jest ona autonomiczna, czy częścią ogólnie dostępnej funkcji.
Źródło wiedzy serwera MCP (wersja zapoznawcza) łączy dowolny system, który udostępnia punkt końcowy zgodny z protokołem Model Context Protocol (MCP), z potokiem wyszukiwania agentowego w usłudze Wyszukiwanie AI platformy Azure. Źródła wiedzy są tworzone niezależnie, przywoływane w bazie wiedzy i używane jako dane uziemienia, gdy baza wiedzy jest odpytywane w czasie wykonywania zapytań.
Narzędzia MCP wyświetlają dane i funkcje z systemów zewnętrznych jako funkcje wywoływane przez agentów w czasie wykonywania zapytań. Dzięki temu źródła wiedzy serwera MCP są przydatne, gdy potrzebne informacje są dostępne w narzędziach wewnętrznych, interfejsach API innych firm lub niestandardowych zapleczach, które Wyszukiwanie AI platformy Azure nie obsługują natywnie.
W przeciwieństwie do indeksowanych źródeł wiedzy źródła wiedzy serwera MCP wysyłają zapytania o dane na żywo bezpośrednio w czasie pobierania. Potok importu danych nie jest potrzebny. Podaj adres URL serwera MCP i określ, które narzędzia Wyszukiwanie AI platformy Azure mogą wywoływać w czasie zapytania.
Warning
Implementacje MCP są podatne na zagrożenia, takie jak ataki, kaskadowe awarie i utrata nadzoru ludzkiego. Te zagrożenia można ograniczyć, sprawdzając serwery MCP pod kątem bezpieczeństwa i niezawodności, postępując zgodnie z zalecanymi praktykami firmy Microsoft i najlepszymi praktykami branżowymi, a także wdrażając mechanizmy akceptacji i monitorując zachowania kaskadowe.
Wsparcie użytkowania
| Portal Azure | Portal Microsoft Foundry | SDK platformy .NET | SDK języka Python | SDK Java | JavaScript SDK | API REST |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Wymagania wstępne
Usługa Wyszukiwanie AI platformy Azure w dowolnym regionie, która zapewnia autonomiczne wyszukiwanie.
Serwer MCP z co najmniej jednym narzędziem. Serwer musi być dostępny z Wyszukiwanie AI platformy Azure za pośrednictwem protokołu HTTPS. Do testowania można użyć publicznego serwera Microsoft Learn MCP w
https://learn.microsoft.com/api/mcp.Uprawnienie do tworzenia źródeł wiedzy. Skonfiguruj uwierzytelnianie bez klucza przy użyciu roli Współautor usługi wyszukiwania przypisanej do konta użytkownika (zalecane) lub użyj klucza interfejsu API administratora.
Najnowszy pakiet
Azure.Search.Documentswersji zapoznawczej:dotnet add package Azure.Search.Documents --prereleaseW przypadku uwierzytelniania bezkluczowego pakiet
Azure.Identity:dotnet add package Azure.Identity
Najnowszy pakiet
azure-search-documentswersji zapoznawczej:pip install --pre azure-search-documentsW przypadku uwierzytelniania bezkluczowego pakiet
azure-identity:pip install azure-identity
Interfejs API REST usługi Search w wersji 2026-08-01-preview.
W przypadku uwierzytelniania bez klucza dołącz token Microsoft Entra ID w nagłówku
Authorizationkażdego żądania HTTP.
Ograniczenia i zagadnienia
Nakład na
minimalrozumowanie podczas pobierania nie jest obsługiwany. Użyj polecenialowlubmediumzamiast tego.alwaysQuerySourcenie jest obsługiwany w przypadku żądań pobierania odwołujących się do źródła wiedzy serwera MCP.Wywołania narzędzi serwera MCP obejmują żądania sieci zewnętrznej i mogą trwać dłużej niż typowe zapytania wyszukiwania. Ustaw
maxRuntimeInSecondsdla żądań pobierania, aby dać wszystkim skonfigurowanym narzędziom wystarczający czas na odpowiedź.
Sprawdzanie istniejących źródeł wiedzy
Źródłem wiedzy jest obiekt najwyższego poziomu wielokrotnego użytku. Znajomość istniejących źródeł wiedzy jest przydatna w przypadku ponownego użycia lub nazewnictwa nowych obiektów.
Uruchom następujący kod, aby wyświetlić listę źródeł wiedzy według nazwy i typu.
// 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
Authorization: Bearer {{token}}
Dokumentacja:Źródła wiedzy — lista
Możesz również zwrócić pojedyncze źródło wiedzy według nazwy, aby przejrzeć jego definicję JSON.
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}}
Authorization: Bearer {{token}}
Dokumentacja:Źródła wiedzy — Pobierz
Poniższy kod JSON to przykładowa odpowiedź dla źródła wiedzy serwera MCP.
{
"name": "my-mcp-server-ks",
"kind": "mcpServer",
"description": "An MCP Server knowledge source.",
"resultsProcessing": "rerank",
"encryptionKey": null,
"mcpServerParameters": {
"serverURL": "https://learn.microsoft.com/api/mcp",
"authentication": null,
"tools": [
{
"name": "microsoft_docs_search",
"resultsProcessing": "none",
"maxOutputTokens": 1000,
"outputParsing": {
"kind": "auto",
"jsonParameters": null,
"splitParameters": null
}
}
]
}
}
Tworzenie źródła wiedzy
Uruchom następujący kod, aby utworzyć źródło wiedzy serwera MCP.
using Azure.Identity;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
Uri searchEndpoint = new Uri("<search-endpoint>");
DefaultAzureCredential credential = new DefaultAzureCredential();
var indexClient = new SearchIndexClient(searchEndpoint, credential);
var mcpServer = new McpServerKnowledgeSource(
"my-mcp-server-ks",
new McpServerKnowledgeSourceParameters(
"https://learn.microsoft.com/api/mcp",
new[]
{
new McpServerTool
{
Name = "microsoft_docs_search",
OutputParsing = new McpServerAutoOutputParsing(),
ResultsProcessing = KnowledgeSourceResultsProcessing.None,
MaxOutputTokens = 1000
}
}))
{
Description = "An MCP Server knowledge source.",
ResultsProcessing = KnowledgeSourceResultsProcessing.Rerank
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(mcpServer);
Reference:SearchIndexClient
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
McpServerAutoOutputParsing,
McpServerKnowledgeSource,
McpServerKnowledgeSourceParameters,
McpServerTool,
)
index_client = SearchIndexClient(
endpoint="<search-endpoint>",
credential=DefaultAzureCredential(),
)
knowledge_source = McpServerKnowledgeSource(
name="my-mcp-server-ks",
description="An MCP Server knowledge source.",
results_processing="rerank",
mcp_server_parameters=McpServerKnowledgeSourceParameters(
server_url="https://learn.microsoft.com/api/mcp",
tools=[
McpServerTool(
name="microsoft_docs_search",
output_parsing=McpServerAutoOutputParsing(),
results_processing="none",
max_output_tokens=1000,
)
],
),
)
index_client.create_or_update_knowledge_source(knowledge_source)
saved_source = index_client.get_knowledge_source(
knowledge_source.name
)
assert saved_source.results_processing == "rerank"
assert (
saved_source.mcp_server_parameters.tools[0].results_processing
== "none"
)
Dokumentacja:SearchIndexClient, McpServerKnowledgeSource, McpServerTool
### Create an MCP Server knowledge source
PUT {{search-endpoint}}/knowledgesources/my-mcp-server-ks?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
Content-Type: application/json
Prefer: return=representation
{
"name": "my-mcp-server-ks",
"kind": "mcpServer",
"description": "An MCP Server knowledge source.",
"resultsProcessing": "rerank",
"encryptionKey": null,
"mcpServerParameters": {
"serverURL": "https://learn.microsoft.com/api/mcp",
"tools": [
{
"name": "microsoft_docs_search",
"outputParsing": {
"kind": "auto"
},
"resultsProcessing": "none",
"maxOutputTokens": 1000
}
]
}
}
Dokumentacja:Źródła wiedzy — tworzenie lub aktualizowanie
Opcje uwierzytelniania
Jeśli serwer MCP wymaga uwierzytelniania, użyj jednej z następujących opcji.
Używaj foundryConnection tylko wtedy, gdy agent z usługi Foundry Agent Service korzysta z bazy wiedzy, która zawiera to źródło wiedzy serwera MCP. W tym przepływie usługa rozpoznaje połączenie i wprowadza wymagane poświadczenia, gdy wywołuje serwer MCP. Jeśli wywołujesz bazę wiedzy bezpośrednio lub z klienta innego niż Foundry Agent Service, foundryConnection nie działa.
"authentication": {
"kind": "foundryConnection",
"foundryConnectionParameters": {
"connectionId": "<foundry-connection-id>"
}
}
Przekazywanie nagłówków podczas wykonywania zapytania
Jeśli serwer MCP wymaga poświadczeń dla każdego żądania, przekaż je w żądaniu pobrania przy użyciu sparowanych nagłówków sterujących. Ta składnia przekazuje nagłówki do serwera MCP bez powodowania konfliktu z nagłówkiem Authorization lub api-key, służącym do uwierzytelniania w usłudze Wyszukiwanie AI platformy Azure.
Użyj nazwy źródła wiedzy jako prefiksu:
| Nagłówek kontrolki | Description |
|---|---|
<knowledge-source-name>-header-name<N> |
Nazwa nagłówka HTTP do wysłania na serwer MCP. |
<knowledge-source-name>-header-value<N> |
Wartość nagłówka HTTP do wysłania do serwera MCP. |
<N> jest opcjonalnym sufiksem liczbowym, który łączy wiele nagłówków w pary. Na przykład my-mcp-server-ks-header-name1 jest sparowany z my-mcp-server-ks-header-value1.
Utwórz klienta pobierania z zasadą, która dodaje nagłówki sterujące do żądania pobrania.
using Azure.Identity;
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>");
}
}
Przekaż nagłówki kontrolne w argumencie słowa kluczowego headers w wywołaniu retrieve.
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-endpoint}}/knowledgebases/{{knowledge-base-name}}/retrieve?api-version=2026-08-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"
}
]
}
Każda para nagłówków musi zawierać dokładnie jeden nagłówek kontrolki nazwy i jeden odpowiadający mu nagłówek kontrolki wartości. Nazwy nagłówków i wartości muszą być prawidłowymi nagłówkami żądań HTTP. Jeśli nagłówek określany w czasie wykonywania zapytania używa tej samej nazwy nagłówka docelowego co wpis storedHeaders, wartość podana w czasie wykonywania zapytania zastępuje przechowywaną wartość dla tego żądania.
Konfigurowanie narzędzi
Każdy wpis w tablicy tools określa, które narzędzie MCP jest dozwolone, opcjonalne zachowanie parsowania danych wyjściowych oraz sposób przetwarzania wyników narzędzia.
Użyj resultsProcessing, aby kontrolować, czy silnik wyszukiwania zmienia kolejność wyników narzędzia. Prawidłowe wartości to rerank i none. Aby uzyskać mapowania dla wcześniejszych kontraktów, zobacz Zmigruj kod agentycznego pobierania do najnowszej wersji.
Dla każdego narzędzia MCP usługa ustala wartość resultsProcessing w następującej kolejności: wartość narzędzia, wartość żądania w elemencie knowledgeSourceParams, przechowywana wartość źródła wiedzy, a następnie rerank. Wartość narzędzia ma zastosowanie tylko do tego narzędzia.
Tryby analizowania danych wyjściowych
Domyślnie mechanizm pobierania stosuje automatyczne heurystyki (auto) do przekształcania surowych danych wyjściowych narzędzia MCP w dokumenty, które można rangować. Możesz nadpisać to zachowanie dla każdego narzędzia za pomocą właściwości outputParsing.
Tryb auto nie wymaga żadnej konfiguracji. Aparat pobierania stosuje heurystyki do analizowania danych wyjściowych narzędzia.
Przypisywanie do bazy wiedzy
Jeśli źródło wiedzy jest zadowalające, dodaj je do bazy wiedzy.
Wykonywanie zapytań w bazie wiedzy
Po skonfigurowaniu bazy wiedzy wywołaj akcję pobierania lub punkt końcowy MCP , aby wysłać zapytanie do zawartości serwera MCP. Źródła wiedzy serwera MCP mają zachowanie pobierania specyficzne dla źródła i pola odpowiedzi.
Jak działa pobieranie dla źródeł wiedzy serwera MCP
W czasie wykonywania zapytania duży model językowy (LLM) skonfigurowany w bazie wiedzy przegląda skonfigurowane narzędzia, wybiera te, które mają być wywoływane na podstawie zapytania użytkownika, i generuje argumenty dla każdego wywołania. Wyszukiwanie AI platformy Azure następnie wywołuje wybrane narzędzia na serwerze MCP i zwraca wyniki jako sklasyfikowane odwołania.
Pola odpowiedzi specyficzne dla serwera MCP
Źródła wiedzy serwera MCP zwracają odwołania dla poszczególnych dokumentów w tablicy references oraz informacje diagnostyczne dla poszczególnych wywołań w tablicy activity. Jeśli źródło wiedzy zawiera listę wielu narzędzi, a model wybierze więcej niż jeden, zostanie wyświetlony oddzielny rekord działania dla każdego wywołania.
W poniższym przykładzie przedstawiono odpowiedź pobierania zawierającą odwołanie do źródła wiedzy serwera MCP i odpowiadający mu rekord aktywności. Aby uzyskać szersze wskazówki dotyczące interpretowania odpowiedzi operacji pobierania, zobacz Przejrzyj odpowiedź.
Wskazówka
Aby otrzymywać sourceData odniesienia, ustaw wartość includeReferenceSourceData na true we wpisie źródła wiedzy w elemencie knowledgeSourceParams w żądaniu pobierania.
{
"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
}
]
}
Usuwanie źródła wiedzy
Aby można było usunąć źródło wiedzy, należy usunąć dowolną bazę wiedzy, która odwołuje się do źródła wiedzy, lub zaktualizować definicję bazy wiedzy, aby usunąć odwołanie. W przypadku źródeł wiedzy, które generują potok indeksu i indeksatora, wszystkie wygenerowane obiekty również są usuwane. Jeśli jednak użyto istniejącego indeksu do utworzenia źródła wiedzy, indeks nie zostanie usunięty.
Jeśli spróbujesz usunąć używane źródło wiedzy, akcja zakończy się niepowodzeniem i zwróci listę baz wiedzy, których dotyczy problem.
Aby usunąć źródło wiedzy:
Pobierz listę wszystkich baz wiedzy w usłudze wyszukiwania.
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
Przykładowa odpowiedź może wyglądać następująco:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Uzyskaj pojedynczą definicję bazy wiedzy, aby sprawdzić odwołania do źródeł wiedzy.
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
Przykładowa odpowiedź może wyglądać następująco:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Usuń bazę wiedzy lub, jeśli masz wiele źródeł wiedzy, zaktualizuj bazę wiedzy, aby usunąć źródło. W tym przykładzie pokazano usunięcie.
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
Usuń źródło wiedzy.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Reference:SearchIndexClient
Pobierz listę wszystkich baz wiedzy w usłudze wyszukiwania.
# 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
Przykładowa odpowiedź może wyglądać następująco:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Uzyskaj pojedynczą definicję bazy wiedzy, aby sprawdzić odwołania do źródeł wiedzy.
# 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
Przykładowa odpowiedź może wyglądać następująco:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Usuń bazę wiedzy lub, jeśli masz wiele źródeł wiedzy, zaktualizuj bazę wiedzy, aby usunąć źródło. W tym przykładzie pokazano usunięcie.
# 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
Usuń źródło wiedzy.
# 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
Pobierz listę wszystkich baz wiedzy w usłudze wyszukiwania.
### Get knowledge bases GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name Authorization: Bearer {{token}}Dokumentacja:Bazy wiedzy — lista
Przykładowa odpowiedź może wyglądać następująco:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Uzyskaj pojedynczą definicję bazy wiedzy, aby sprawdzić odwołania do źródeł wiedzy.
### Get a knowledge base definition GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Dokumentacja:Bazy wiedzy — pobieranie
Przykładowa odpowiedź może wyglądać następująco:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Usuń bazę wiedzy lub, jeśli masz wiele źródeł wiedzy, zaktualizuj bazę wiedzy, aby usunąć źródło. W tym przykładzie pokazano usunięcie.
### Delete a knowledge base DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Dokumentacja:Bazy wiedzy — usuwanie
Usuń źródło wiedzy.
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Dokumentacja:Źródła wiedzy — usuwanie