Skapa en MCP Server-kunskapskälla (förhandsversion)

Note

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.

Important

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.

MCP-implementeringar är mottagliga för risker, till exempel attacker, sammanhängande fel och förlust av mänsklig tillsyn. Du kan minska dessa risker genom att granska MCP-servrar för säkerhet och tillförlitlighet, enligt bästa praxis för Microsoft och industry och implementera godkännandemekanismer och övervakning av sammanhängande beteenden.

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.

En MCP Server-kunskapskälla (förhandsversion) ansluter alla system som exponerar en Model Context Protocol (MCP)-kompatibel slutpunkt till en agentisk hämtningspipeline i Azure AI-sökning. Kunskapskällor skapas oberoende av varandra, refereras i en kunskapsbas och används som grunddata när kunskapsbasen efterfrågas vid körning.

MCP-verktyg visar data och funktioner från externa system som anropsbara funktioner som agenter anropar vid frågetillfället. Detta gör MCP Server-kunskapskällor användbara när den information du behöver finns i interna verktyg, API:er från tredje part eller anpassade serverdelar som Azure AI-sökning inte har inbyggt stöd för.

Till skillnad från indexerade kunskapskällor hämtar MCP Server-kunskapskällor live-data direkt när informationen hämtas. Ingen inmatningspipeline behövs. Du anger MCP-serverns URL och anger vilka verktyg Azure AI-sökning kan anropa vid frågetillfället.

Användningsstöd

Azure Portal Microsoft Foundry-portalen .NET SDK Python SDK Java SDK JavaScript SDK REST API
✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Förutsättningar

  • En Azure AI-sökning-tjänst i valfri region som tillhandahåller agentdriven hämtning.

  • En MCP-server med ett eller flera verktyg. Servern måste kunna nås från Azure AI-sökning via HTTPS. För testning kan du använda den offentliga Microsoft Learn MCP-servern på https://learn.microsoft.com/api/mcp.

  • Behörighet att skapa kunskapskällor. Konfigurera nyckellös autentisering med rollen Search Service-deltagare tilldelad till ditt användarkonto (rekommenderas) eller använd en administratörs-API-nyckel.

  • Det senaste Azure.Search.Documents förhandsversionspaketet: dotnet add package Azure.Search.Documents --prerelease

  • För nyckellös autentisering, paketet Azure.Identity: dotnet add package Azure.Identity

  • Det senaste azure-search-documents förhandsversionspaketet: pip install --pre azure-search-documents

  • För nyckellös autentisering, paketet azure-identity: pip install azure-identity

Begränsningar och överväganden

  • minimal stöds inte. Använd low eller medium i stället.

  • alwaysQuerySource stöds inte för att hämta begäranden som refererar till en MCP Server-kunskapskälla.

  • MCP-serververktygsanrop omfattar externa nätverksbegäranden och kan ta längre tid än vanliga sökfrågor. Ställ in maxRuntimeInSeconds på hämta begäranden för att ge alla konfigurerade verktyg tillräckligt med tid för att svara.

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
Authorization: Bearer {{token}}

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}}
Authorization: Bearer {{token}}

Referens:Kunskapskällor – Hämta

Följande JSON är ett exempelsvar för en MCP Server-kunskapskälla.

{
  "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
        }
      }
    ]
  }
}

Skapa en kunskapskälla

Kör följande kod för att skapa en MCP Server-kunskapskälla.

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);

Referens: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"
)

Referens: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
      }
    ]
  }
}

Referens:Kunskapskällor – Skapa eller uppdatera

Autentiseringsalternativ

Om MCP-servern kräver autentisering använder du något av följande alternativ.

Använd foundryConnection endast när en agent från Foundry Agent Service anropar en kunskapsbas som innehåller den här MCP Server-kunskapskällan. I det flödet löser tjänsten anslutningen och matar in de nödvändiga autentiseringsuppgifterna när den anropar MCP-servern. Om du anropar kunskapsbasen direkt eller från en annan klient än Foundry Agent Service fungerar foundryConnection det inte.

"authentication": {
  "kind": "foundryConnection",
  "foundryConnectionParameters": {
    "connectionId": "<foundry-connection-id>"
  }
}

Skicka rubriker vid frågetillfället

Om en MCP-server kräver autentiseringsuppgifter per begäran skickar du dem på hämtningsbegäran med hjälp av kopplade kontrollhuvuden. Den här syntaxen vidarebefordrar huvuden till MCP-servern utan att det strider mot Authorization eller api-key-huvudet som används för att autentisera till Azure AI-sökning.

Använd kunskapskällans namn som prefix:

Kontrollrubrik Description
<knowledge-source-name>-header-name<N> Namnet på HTTP-huvudet som ska skickas till MCP-servern.
<knowledge-source-name>-header-value<N> Värdet för HTTP-huvudet som ska skickas till MCP-servern.

<N> är ett valfritt numeriskt suffix som parkopplar flera rubriker. Till exempel paras my-mcp-server-ks-header-name1 med my-mcp-server-ks-header-value1.

Skapa hämtningsklienten med en princip som lägger till kontrollhuvudena i hämtningsbegäran.

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>");
    }
}

Skicka kontrollhuvudena i nyckelordsargumentet headers i hämtningsanropet.

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"
    }
  ]
}

Varje rubrikpar måste innehålla exakt ett namnkontrollhuvud och ett matchande värdekontrollhuvud. Rubriknamn och värden måste vara giltiga HTTP-begärandehuvuden. Om ett frågetidshuvud använder samma målhuvudnamn som en storedHeaders post åsidosätter frågetidsvärdet det lagrade värdet för den begäran.

Konfigurera verktyg

Varje post i matrisen tools anger ett tillåtet MCP-verktyg, valfritt utdataparsingbeteende och hur verktygets resultat bearbetas.

Använd resultsProcessing för att styra om hämtningsmotorn omrankar resultaten från ett verktyg. Giltiga värden är rerank och none. Information om mappningar från tidigare kontrakt finns i Migrera agentisk hämtningskod till den senaste versionen.

För varje MCP-verktyg löser tjänsten i den här ordningen: verktygsvärdet resultsProcessing , begärandevärdet i knowledgeSourceParams, värdet för den lagrade kunskapskällan och sedan rerank. Ett verktygsvärde gäller endast för verktyget.

Tolkningslägen för utdata

Som standard tillämpar hämtningsmotorn automatisk heuristik (auto) för att konvertera råa MCP-verktygsutdata till rangbara dokument. Du kan åsidosätta det här beteendet per verktyg med hjälp av outputParsing egenskapen .

Läget auto kräver ingen konfiguration. Hämtningsmotorn använder heuristik för att parsa verktygets utdata.

Tilldelas till en kunskapsbas

Om du är nöjd med kunskapskällan lägger du till den i en kunskapsbas.

Sök i en kunskapsbas

När kunskapsbasen har konfigurerats anropar du åtgärden hämta eller MCP-slutpunkten för att fråga MCP-serverinnehåll. MCP Server-kunskapskällor har källspecifikt hämtningsbeteende och svarsfält.

Så här fungerar hämtning för MCP Server-kunskapskällor

Vid frågetillfället granskar den stora språkmodell (LLM) som konfigurerats i kunskapsbasen de konfigurerade verktygen, väljer vilka som ska anropas baserat på användarfrågan och genererar argumenten för varje anrop. Azure AI-sökning anropar sedan de valda verktygen på MCP-servern och returnerar resultatet som rangordnade referenser.

MCP Server– specifika svarsfält

MCP Servers kunskapskällor returnerar källhänvisningar per dokument i matrisen references och diagnostik per anrop i matrisen activity. Om kunskapskällan visar flera verktyg och modellen väljer fler än ett, visas en separat aktivitetspost för varje anrop.

I följande exempel visas ett hämtningssvar som innehåller en referens för MCP Server-kunskapskällan och dess motsvarande aktivitetspost. Mer information om hur du tolkar hämtningssvar finns i Granska svaret.

Tip

Om du vill få sourceData för referenser anger du includeReferenceSourceData som true i posten för kunskapskällan i knowledgeSourceParams i hämtningsbegäran.

{
  "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
    }
  ]
}

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:

  1. 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:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Hä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
     }
    
  3. 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

  4. Ta bort kunskapskällan.

    await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName);
    System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");
    

    Referens:SearchIndexClient

  1. 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"
         }
         ]
     }
    
  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"
       }
     }
    
  3. 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

  4. 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

  1. Hämta en lista över alla kunskapsbaser i söktjänsten.

    ### Get knowledge bases
    GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name
    Authorization: Bearer {{token}}
    

    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"
         }
         ]
     }
    
  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}}
    Authorization: Bearer {{token}}
    

    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"
       }
     }
    
  3. 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}}
    Authorization: Bearer {{token}}
    

    Referens:Kunskapsbaser – Ta bort

  4. Ta bort kunskapskällan.

    ### Delete a knowledge source
    DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
    Authorization: Bearer {{token}}
    

    Referens:Kunskapskällor – Ta bort