Crea una fonte di informazioni per MCP Server (anteprima)

Importante

Queste funzionalità e funzionalità fanno parte dell'API REST 2026-05-01-preview. L'anteprima 2026-05-01-preview è concessa in licenza all'utente come parte della sottoscrizione Azure ed è soggetta ai termini applicabili alle "Anteprime" nei Microsoft Product Terms, nel Microsoft Products and Services Data Protection Addendum ("DPA") e nei Supplemental Terms of Use for Microsoft Azure Previews.

La versione 2026-05-01-preview supporta le connessioni ad altri servizi di servizi Microsoft e di terze parti. L'utilizzo di questi servizi è soggetto alle rispettive condizioni e potrebbe comportare l'elaborazione o l'archiviazione dei dati al di fuori del limite di conformità Azure, nonché il flusso dei dati nel limite di conformità Azure.

È tua responsabilità gestire l'eventuale trasferimento dei tuoi dati al di fuori dei confini di conformità e geografici della tua organizzazione e le relative implicazioni, nonché garantire che siano predisposte le autorizzazioni, i limiti e le approvazioni appropriati.

Le implementazioni MCP sono soggette a rischi, ad esempio attacchi, errori a catena e perdita di supervisione umana. È possibile attenuare questi rischi controllando i server MCP per la sicurezza e l'affidabilità, seguendo le procedure consigliate di Microsoft e industry e implementando meccanismi di approvazione e monitoraggio dei comportamenti a catena.

L'utente è responsabile di esaminare e testare attentamente le applicazioni compilate nel contesto dei casi d'uso specifici e di prendere tutte le decisioni e le personalizzazioni appropriate. Ciò include l'implementazione di mitigazioni di intelligenza artificiale responsabili, ad esempio metaprompt, filtri di contenuto o altri sistemi di sicurezza, e garantire che le applicazioni soddisfino gli standard di qualità, affidabilità, sicurezza e attendibilità appropriati. Per altre informazioni, vedere la nota sulla trasparenza Azure AI Search.

Una fonte di conoscenza MCP Server (anteprima) collega qualsiasi sistema che esponga un endpoint compatibile con il Model Context Protocol (MCP) a una pipeline di recupero agentica in Azure AI Search. Le origini delle informazioni vengono create in modo indipendente, a cui viene fatto riferimento in una Knowledge Base e usate come dati di base quando viene eseguita una query sulla Knowledge Base in fase di esecuzione.

Gli strumenti MCP espongono dati e funzionalità di sistemi esterni come funzioni richiamabili che gli agenti invocano al momento della query. Ciò rende utili le origini delle conoscenze del server MCP quando le informazioni necessarie si trovano in strumenti interni, API di terze parti o back-end personalizzati che Azure AI Search non supportano in modo nativo.

A differenza delle fonti di conoscenza indicizzate, le fonti di conoscenza di MCP Server interrogano i dati in tempo reale direttamente al momento del recupero. Non è necessaria alcuna pipeline di inserimento. Specificare l'URL del server MCP e specificare quali strumenti Azure AI Search possono chiamare in fase di query.

Supporto per l'utilizzo

Portale di Azure Portale di Microsoft Foundry .NET SDK Python SDK Java SDK JavaScript SDK API REST
✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Prerequisiti

  • Servizio di Ricerca con intelligenza artificiale di Azure disponibile in qualsiasi area che supporta il recupero tramite agenti autonomi.

  • Un server MCP con uno o più strumenti. Il server deve essere raggiungibile da Azure AI Search tramite HTTPS. Per i test, è possibile usare il server MCP di Learn Microsoft pubblico in https://learn.microsoft.com/api/mcp.

  • Autorizzazioni per la creazione di origini delle informazioni. Configurare l'autenticazione senza chiave con il ruolo Collaboratore servizio di ricerca assegnato all'account utente (scelta consigliata) o usare una chiave API.

  • Pacchetto di anteprima Azure.Search.Documents più recente: dotnet add package Azure.Search.Documents --prerelease

Limitazioni e considerazioni

  • La funzione di ragionamento per il recupero minimal non è supportata. In sostituzione utilizzare low o medium.

  • alwaysQuerySource non è supportato nelle richieste di recupero che fanno riferimento a una fonte di conoscenza del server MCP.

  • Le chiamate degli strumenti server MCP comportano richieste di rete esterne e possono richiedere più tempo rispetto alle query di ricerca tipiche. Impostare maxRuntimeInSeconds in caso di richieste di recupero per fornire a tutti gli strumenti configurati tempo sufficiente per rispondere.

Verificare la presenza di fonti di conoscenza esistenti

Un'origine delle conoscenze è un oggetto riutilizzabile di primo livello. Conoscere le origini conoscenze esistenti è utile per riutilizzare o denominare nuovi oggetti.

Eseguire il codice seguente per elencare le origini delle informazioni in base al nome e al tipo.

// 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}}

Reference:Knowledge Sources - List

Puoi anche restituire una singola fonte di conoscenza per nome per esaminarne la definizione 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}}
api-key: {{api-key}}

Reference:Fonti di Conoscenza - Ottieni

Il seguente JSON è un esempio di risposta per una fonte di conoscenza del server MCP.

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

Creare una fonte di conoscenza

Esegui il codice seguente per creare una fonte di conoscenza del server MCP.

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

Riferimento:Fonti di conoscenza - Crea o Aggiorna

Proprietà specifiche dell'origine

Le proprietà seguenti si applicano alle origini delle informazioni del server MCP.

Name Description Type Modificabile Obbligatorio
name Nome della fonte di conoscenza, che deve essere univoco all'interno della raccolta delle fonti di conoscenza e seguire le linee guida per la denominazione degli oggetti in Azure AI Search. String No
kind Il tipo di origine delle conoscenze, che in questo caso è mcpServer . String No
description Descrizione dell'origine delle informazioni. String No
encryptionKey Chiave gestita dal cliente per crittografare le informazioni riservate nell'origine delle informazioni. oggetto No
mcpServerParameters Parametri specifici per le origini delle informazioni del server MCP: serverURL, authenticatione tools. oggetto No
serverURL URL del server MCP. String No
authentication Credenziali di autenticazione per il server MCP. Se omesso, le richieste vengono inviate senza autenticazione. Per le opzioni di autenticazione supportate, vedere Opzioni di autenticazione. oggetto No
tools Un elenco di strumenti consentiti dal server MCP. Deve contenere almeno una voce. Ogni nome dello strumento deve essere univoco all'interno dell'elenco e deve corrispondere a uno strumento esposto dal server MCP. L'origine delle informazioni non consente automaticamente tutti gli strumenti server MCP, pertanto è necessario elencare in modo esplicito ogni strumento consentito. Per le proprietà degli strumenti supportate, vedere Proprietà degli strumenti. Array

Opzioni di autenticazione

Se il server MCP richiede l'autenticazione, usare una delle opzioni seguenti.

Utilizzare foundryConnection solo quando un agente di Servizio agenti Foundry richiama una knowledge base che include questa fonte di conoscenza MCP Server. In tale flusso, il servizio risolve la connessione e inserisce le credenziali necessarie quando chiama il server MCP. Se si chiama la Knowledge Base direttamente o da un client diverso da Foundry Agent Service, foundryConnection non funziona.

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

Passare le intestazioni al momento dell'esecuzione della query

Se un server MCP richiede credenziali per richiesta, passarle alla richiesta di recupero usando intestazioni di controllo abbinate. Questa sintassi inoltra le intestazioni al server MCP senza conflitti con l'intestazione Authorization o api-key usata per l'autenticazione per Azure AI Search.

Usare il nome dell'origine della knowledge base come prefisso:

Intestazione del controllo Description
<knowledge-source-name>-header-name<N> Nome dell'intestazione HTTP da inviare al server MCP.
<knowledge-source-name>-header-value<N> Valore dell'intestazione HTTP da inviare al server MCP.

<N> è un suffisso numerico facoltativo che associa più intestazioni. Ad esempio, my-mcp-server-ks-header-name1 coppie con my-mcp-server-ks-header-value1.

Creare il client di recupero con una politica che aggiunga le intestazioni di controllo alla richiesta di recupero.

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

Passare le intestazioni di controllo nell'argomento della parola chiave headers nella chiamata di recupero.

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

Ogni coppia di intestazioni deve includere esattamente un'intestazione di controllo del nome e un'intestazione di controllo del valore corrispondente. I nomi e i valori delle intestazioni devono essere intestazioni di richiesta HTTP valide. Se un'intestazione definita al momento della query utilizza lo stesso nome di intestazione di destinazione di una voce storedHeaders, il valore definito al momento della query prevale sul valore memorizzato per quella richiesta.

Proprietà degli strumenti

Ogni voce della tools matrice è un McpServerTool oggetto con le proprietà seguenti.

Name Description Type Modificabile Obbligatorio
name Nome dello strumento MCP da richiamare. Deve corrispondere a un nome di strumento esposto dal server MCP. String No
outputParsing Controlla il modo in cui l'output non elaborato dello strumento viene analizzato in documenti classificabili. Di default è auto. Per le modalità di analisi dell'output supportate, vedere Modalità di analisi dell'output. oggetto No No
inclusionMode Controlla se i risultati dello strumento vengono inclusi solo quando sono classificati in modo elevato (reranked) o sempre indipendentemente dal punteggio di pertinenza (always). Di default è reranked. String No
maxOutputTokens Numero massimo di token da conservare dall'output dello strumento prima della classificazione. Il valore predefinito è 10.000. Integer No No

Modalità di analisi dell'output

Per impostazione predefinita, il motore di recupero dati applica euristiche automatiche (auto) per convertire l'output grezzo dello strumento MCP in documenti classificabili. È possibile eseguire l'override di questo comportamento per ogni strumento usando la outputParsing proprietà .

La auto modalità non richiede alcuna configurazione. Il motore di recupero applica euristiche per analizzare l'output dello strumento.

Assegnare a una knowledge base

Se sei soddisfatto della fonte di conoscenza, aggiungila a una base di conoscenza.

Eseguire una query su una base di conoscenza

Dopo aver configurato la Knowledge Base, chiamare l'azione di recupero o l'endpoint MCP per eseguire query sul contenuto del server MCP. Le fonti di conoscenza di MCP Server presentano comportamenti di recupero e campi di risposta specifici per ciascuna fonte.

Come funziona il recupero per le fonti di conoscenza di MCP Server

In fase di query, il modello LLM (Large Language Model) configurato nella Knowledge Base esamina gli strumenti configurati, seleziona quelli da chiamare in base alla query dell'utente e genera gli argomenti per ogni chiamata. Azure AI Search quindi richiama gli strumenti selezionati nel server MCP e restituisce i risultati come riferimenti classificati.

Campi di risposta specifici del server MCP

Le fonti di conoscenza di MCP Server restituiscono i riferimenti bibliografici relativi a ciascun documento nell'array references e i dati diagnostici relativi a ciascuna chiamata nell'array activity. Se l'origine della knowledge base elenca più strumenti e il modello seleziona più di uno, viene visualizzato un record di attività separato per ogni chiamata.

Nell'esempio seguente viene illustrata una risposta di recupero contenente un riferimento all'origine delle informazioni del server MCP e il relativo record di attività corrispondente. Per indicazioni più ampie sull'interpretazione delle risposte recuperate, vedere Esaminare la risposta.

Tip

Per ottenere sourceData per i riferimenti, imposta includeReferenceSourceData su true nella voce dell'origine della conoscenza all'interno di knowledgeSourceParams nella richiesta di recupero.

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

Eliminare una fonte di conoscenza

Prima di poter eliminare una fonte di conoscenza, è necessario eliminare qualsiasi base di conoscenza che vi faccia riferimento o aggiornare la definizione della base di conoscenza per rimuovere il riferimento. Per le fonti di conoscenza che generano un indice e una pipeline di indicizzazione, vengono eliminati anche tutti gli oggetti generati. Tuttavia, se è stato usato un indice esistente per creare un'origine conoscenze, l'indice non viene eliminato.

Se si tenta di eliminare una fonte di conoscenza attualmente in uso, l'azione fallisce e restituisce un elenco delle basi di conoscenza interessate.

Per eliminare una fonte di conoscenza:

  1. Ottenere un elenco di tutte le knowledge base nel servizio di ricerca.

    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

    Una risposta di esempio potrebbe essere simile alla seguente:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Ottenere una singola definizione della Knowledge Base per verificare la presenza di riferimenti all'origine della knowledge base.

    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

    Una risposta di esempio potrebbe essere simile alla seguente:

     {
       "Name": "earth-knowledge-base",
       "KnowledgeSources": [
         {
           "Name": "earth-knowledge-source"
         }
       ],
       "Models": [
         {}
       ],
       "RetrievalReasoningEffort": {},
       "OutputMode": {},
       "ETag": "\u00220x8DE278629D782B3\u0022",
       "EncryptionKey": null,
       "Description": null,
       "RetrievalInstructions": null,
       "AnswerInstructions": null
     }
    
  3. Eliminare la Knowledge Base o, se si dispone di più origini informazioni, aggiornare la Knowledge Base per rimuovere l'origine. Questo esempio mostra l'eliminazione.

    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

  4. Eliminare l'origine delle informazioni.

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

    Reference:SearchIndexClient

  1. Ottenere un elenco di tutte le knowledge base nel servizio di ricerca.

    # 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

    Una risposta di esempio potrebbe essere simile alla seguente:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Ottenere una singola definizione della Knowledge Base per verificare la presenza di riferimenti all'origine della knowledge base.

    # 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

    Una risposta di esempio potrebbe essere simile alla seguente:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks",
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Eliminare la Knowledge Base o, se si dispone di più origini informazioni, aggiornare la Knowledge Base per rimuovere l'origine. Questo esempio mostra l'eliminazione.

    # 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

  4. Eliminare l'origine delle informazioni.

    # 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

  1. Ottenere un elenco di tutte le knowledge base nel servizio di ricerca.

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

    Reference:Knowledge Bases - List

    Una risposta di esempio potrebbe essere simile alla seguente:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Ottenere una singola definizione della Knowledge Base per verificare la presenza di riferimenti all'origine della knowledge base.

    ### Get a knowledge base definition
    GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
    api-key: {{api-key}}
    

    Riferimento:Basi di conoscenza - Get

    Una risposta di esempio potrebbe essere simile alla seguente:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks",
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Eliminare la Knowledge Base o, se si dispone di più origini informazioni, aggiornare la Knowledge Base per rimuovere l'origine. Questo esempio mostra l'eliminazione.

    ### Delete a knowledge base
    DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
    api-key: {{api-key}}
    

    Reference:Basi di conoscenza - Elimina

  4. Eliminare l'origine delle informazioni.

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

    Riferimento:Fonti di Conoscenza - Elimina