Creare una base di conoscenza in Azure AI Search

Nota

Azure AI Search è disponibile tramite il portale di Azure, le API REST e Azure SDK. È inoltre alla base di Foundry IQ, il livello di conoscenza gestito che trasforma il contenuto aziendale in knowledge base riutilizzabili e con riconoscimento delle autorizzazioni per gli agenti nel portale di Microsoft Foundry.

Importante

Le funzionalità, le funzionalità o le proprietà contrassegnate (anteprima) non sono coperte da un contratto di servizio, non sono consigliate per i carichi di lavoro di produzione e potrebbero cambiare o essere vincolate prima che diventino disponibili a livello generale. Le condizioni di anteprima Azure AI Search si applicano a tutte le funzionalità di anteprima, indipendente o parte di una funzionalità disponibile a livello generale.

In Azure AI Search, una base knowledge è un oggetto di primo livello che orchestra agentic retrieval. Definisce le origini delle informazioni su cui eseguire query e il comportamento predefinito per le operazioni di recupero. In fase di query, il metodo retrieve è destinato alla Knowledge Base per eseguire la pipeline di recupero configurata.

Una Knowledge Base specifica:

  • Una o più origini di informazioni che puntano al contenuto ricercabile.

  • LLM facoltativo per la pianificazione delle query, la sintesi delle risposte o il riepilogo del contenuto Web. Le attività supportate variano in base alla versione dell'API e al tipo di origine delle informazioni.

  • Proprietà personalizzate che controllano il routing, la selezione dell'origine e la crittografia degli oggetti.

Supporto per l'utilizzo

Portal di Azure portale Microsoft Foundry .NET SDK PYTHON SDK JAVA SDK JavaScript SDK API REST
✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Prerequisiti

  • Azure AI Search in qualsiasi area che fornisce il recupero agentico. Se si usa un'identità gestita per l'accesso basato sui ruoli ai modelli distribuiti, il servizio di ricerca deve trovarsi nel livello Basic o superiore.

  • Una o più fonti di conoscenza. Usare la versione dell'API 2026-08-01-preview per accedere alle origini delle informazioni in anteprima o per usare un LLM con origini di informazioni non Web. Usare la versione API 2026-04-01 per le origini dati di conoscenza generalmente disponibili e il recupero estrattivo minimo.

  • (Condizionale) Azure OpenAI con una distribuzione LLM supportata. È necessario un LLM se la tua base di conoscenza include una fonte di conoscenza web. Per altre origini delle informazioni, un LLM è facoltativo nella versione dell'API 2026-08-01-preview e non è supportato nella versione dell'API 2026-04-01 .

  • Autorizzazione per creare knowledge base. Configurare l'autenticazione senza chiave con il ruolo Collaboratore servizio di ricerca assegnato all'account utente (scelta consigliata) o usare una chiave API amministratore.

  • Se la Knowledge Base specifica un LLM, il servizio di ricerca deve avere un'identità gestita con autorizzazioni utente di Servizi cognitivi per la risorsa Microsoft Foundry.

  • Pacchetto Azure.Search.Documents obbligatorio:

    • Per le funzionalità 2026-08-01-preview, il pacchetto di anteprima più recente: dotnet add package Azure.Search.Documents --prerelease

    • Per le funzionalità 2026-04-01, l’ultima versione stabile del pacchetto: dotnet add package Azure.Search.Documents

  • Per l'autenticazione senza chiave, il Azure.Identity pacchetto: dotnet add package Azure.Identity

  • Pacchetto azure-search-documents obbligatorio:

    • Per le funzionalità 2026-08-01-preview, il pacchetto di anteprima più recente: pip install --pre azure-search-documents

    • Per le funzionalità 2026-04-01, l’ultima versione stabile del pacchetto: pip install azure-search-documents

  • Per l'autenticazione senza chiave, il azure-identity pacchetto: pip install azure-identity

Modelli supportati

Usare uno dei seguenti LLMs da Azure OpenAI nei modelli Foundry. Azure OpenAI determina la disponibilità a livello di area per la distribuzione selezionata. Per le istruzioni di distribuzione, vedere Distribuire i modelli di Microsoft Foundry nel portale Foundry.

La famiglia GPT-4 è deprecata. Per indicazioni sul ciclo di vita del modello, date di ritiro e stato corrente, vedere Ritiro e deprecazione del modello e pianificazione del ritiro del modello - Microsoft Foundry.

Modello Versioni dell'API supportate
gpt-4o (obsoleto) 2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview
gpt-4o-mini (obsoleto) 2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview
gpt-4.1 (obsoleto) 2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview
gpt-4.1-mini (obsoleto) 2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview
gpt-4.1-nano (obsoleto) 2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview
gpt-5 2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview
gpt-5-mini 2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview
gpt-5-nano 2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview
gpt-5.1 2026-05-01-preview, 2026-08-01-preview
gpt-5.2 2026-05-01-preview, 2026-08-01-preview
gpt-5.4 2026-05-01-preview, 2026-08-01-preview
gpt-5.4-mini 2026-05-01-preview, 2026-08-01-preview
gpt-5.4-nano 2026-05-01-preview, 2026-08-01-preview
gpt-5.5 2026-08-01-preview
gpt-5.6-sol 2026-08-01-preview
gpt-5.6-terra 2026-08-01-preview
gpt-5.6-luna 2026-08-01-preview

Configurare l'accesso

Azure AI Search deve accedere all'LLM da Azure OpenAI in Modelli di Fonderia. È consigliabile Microsoft Entra ID per l'autenticazione e l'accesso basato sui ruoli per l'autorizzazione. Per assegnare i ruoli, è necessario essere proprietario o amministratore accesso utenti. Se non è possibile usare i ruoli, usare invece l'autenticazione basata su chiave.

  1. Abilitare il controllo degli accessi in base al ruolo in Azure AI Search.

  2. Configurare Azure AI Search per l'uso di un'identità gestita.

  3. Nel tuo fornitore di modelli, assegna Utente dei Servizi cognitivi all'identità gestita del tuo servizio di ricerca. Se si esegue il test in locale, assegnare lo stesso ruolo all'account utente.

  4. Per i test locali, seguire la procedura descritta in Avvio rapido: Connettersi senza chiavi per accedere a una sottoscrizione e a un tenant specifici. Usare DefaultAzureCredential anziché AzureKeyCredential in ogni richiesta, che dovrebbe essere simile all'esempio seguente.

    // Authenticate using roles
    using Azure.Search.Documents.Indexes;
    using Azure.Identity;
    
    var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());
    
  1. Abilitare il controllo degli accessi in base al ruolo in Azure AI Search.

  2. Configurare Azure AI Search per l'uso di un'identità gestita.

  3. Nel tuo fornitore di modelli, assegna Utente dei Servizi cognitivi all'identità gestita del tuo servizio di ricerca. Se si esegue il test in locale, assegnare lo stesso ruolo all'account utente.

  4. Per i test locali, seguire la procedura descritta in Avvio rapido: Connettersi senza chiavi per accedere a una sottoscrizione e a un tenant specifici. Usare DefaultAzureCredential anziché AzureKeyCredential in ogni richiesta, che dovrebbe essere simile all'esempio seguente.

    # Authenticate using roles
    from azure.identity import DefaultAzureCredential
    index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
    
  1. Abilitare il controllo degli accessi in base al ruolo in Azure AI Search.

  2. Configurare Azure AI Search per l'uso di un'identità gestita.

  3. Nel tuo fornitore di modelli, assegna Utente dei Servizi cognitivi all'identità gestita del tuo servizio di ricerca. Se si esegue il test in locale, assegnare lo stesso ruolo all'account utente.

  4. Per i test locali, seguire la procedura descritta in Avvio rapido: Connettersi senza chiavi per ottenere un token di accesso personale per una sottoscrizione e un tenant specifici. Specificare il token di accesso in ogni richiesta, che dovrebbe essere simile all'esempio seguente.

    # List indexes using roles
    GET {{search-endpoint}}/indexes?api-version=2026-04-01
    Content-Type: application/json
    Authorization: Bearer {{search-access-token}}
    

Importante

I frammenti di codice in questo articolo usano l'autenticazione senza chiave. Per usare invece una chiave API, aggiornare ogni richiesta di conseguenza. In una richiesta che specifica entrambi gli approcci, la chiave API ha la precedenza.

Verificare la presenza di knowledge base esistenti

Una knowledge base è un oggetto riutilizzabile di primo livello. Conoscere le knowledge base esistenti è utile per riutilizzare o denominare nuovi oggetti.

Eseguire il codice seguente per elencare le knowledge base esistenti in base al nome. L'elenco include tutte le knowledge base nel servizio di ricerca, indipendentemente dalla versione dell'API usata per crearle.

// List knowledge bases by name
using Azure.Search.Documents.Indexes;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
var knowledgeBases = indexClient.GetKnowledgeBasesAsync();

Console.WriteLine("Knowledge Bases:");

await foreach (var kb in knowledgeBases)
{
    Console.WriteLine($"  - {kb.Name}");
}

Reference:SearchIndexClient

# List knowledge bases by name
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient

index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())

for kb in index_client.list_knowledge_bases():
    print(f"  - {kb.name}")

Reference:SearchIndexClient

# List knowledge bases
GET {{search-endpoint}}/knowledgebases?api-version={{api-version}}&$select=name
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

Reference:Knowledge Bases - List

È anche possibile restituire una singola Knowledge Base in base al 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 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

# Get a knowledge base definition
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
import json

index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())

kb = index_client.get_knowledge_base("<knowledge-base-name>")
print(json.dumps(kb.as_dict(), indent = 2))

Reference:SearchIndexClient

# Get knowledge base
GET {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

Riferimento:Basi di conoscenza - Get

Il codice JSON seguente è una risposta di esempio per una knowledge base.

{
  "name": "my-kb",
  "description": "A sample knowledge base.",
  "retrievalInstructions": null,
  "answerInstructions": null,
  "outputMode": null,
  "knowledgeSources": [
    {
      "name": "my-blob-ks"
    }
  ],
  "models": [],
  "encryptionKey": null,
  "retrievalReasoningEffort": {
    "kind": "low"
  }
}

Nota

Lo schema di risposta riflette la versione dell'API usata per creare la Knowledge Base. Una knowledge base creata con la versione dell'API disponibile a livello generale 2026-04-01 restituisce una definizione più stretta rispetto a 2026-08-01-preview. Per altre informazioni sulle proprietà supportate da ogni versione, vedere Creare una knowledge base.

Creare una base di conoscenza

Importante

La versione dell'API 2026-04-01 accetta solo tipi di origine dati della knowledge base generalmente disponibili e supporta il recupero estrattivo minimo. Non supporta funzionalità di sola anteprima, ad esempio pianificazione delle query, sintesi delle risposte e ragionamento configurabile. Per usufruire di tutte le funzionalità, utilizzare 2026-08-01-preview.

Una base di conoscenza connette una o più origini di informazioni (contenuti ricercabili) a un LLM facoltativo da Azure OpenAI nei modelli Foundry. Le proprietà impostate stabiliscono le impostazioni predefinite per l'esecuzione delle query e la risposta di recupero.

Dopo aver creato una knowledge base, è possibile aggiornarne le proprietà in qualsiasi momento. Se la Knowledge Base è in uso, gli aggiornamenti hanno effetto sul recupero successivo.

// Create a knowledge base
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.KnowledgeBases.Models;
using Azure.Identity;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());

var aoaiParams = new AzureOpenAIVectorizerParameters
{
    ResourceUri = new Uri(aoaiEndpoint),
    DeploymentName = aoaiGptDeployment,
    ModelName = aoaiGptModel,
};

var knowledgeBase = new KnowledgeBase(
    name: "my-kb",
    knowledgeSources: new KnowledgeSourceReference[]
    {
        new KnowledgeSourceReference("hotels-ks"),
        new KnowledgeSourceReference("earth-at-night-ks")
    }
)
{
    Description = "This knowledge base handles questions directed at two unrelated sample indexes.",
    RetrievalInstructions = "Use the hotels knowledge source for queries about where to stay, otherwise use the earth at night knowledge source.",
    AnswerInstructions = "Answer in two concise sentences.",
    OutputMode = KnowledgeRetrievalOutputMode.AnswerSynthesis,
    Models = { new KnowledgeBaseAzureOpenAIModel(azureOpenAIParameters: aoaiParams) },
    RetrievalReasoningEffort = new KnowledgeRetrievalAutoReasoningEffort()
};

await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);
Console.WriteLine($"Knowledge base '{knowledgeBase.Name}' created or updated successfully.");

Reference:SearchIndexClient, KnowledgeBase

# Create a knowledge base
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
    AzureOpenAIVectorizerParameters,
    KnowledgeBase,
    KnowledgeBaseAzureOpenAIModel,
    KnowledgeSourceReference,
)
from azure.search.documents.knowledgebases.models import (
    KnowledgeRetrievalAutoReasoningEffort,
    KnowledgeRetrievalOutputMode,
)

index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())

aoai_params = AzureOpenAIVectorizerParameters(
    resource_url = "<aoai-endpoint>",
    deployment_name = "<aoai-gpt-deployment>",
    model_name = "<aoai-gpt-model>",
)

knowledge_base = KnowledgeBase(
    name = "my-kb",
    description = "This knowledge base handles questions directed at two unrelated sample indexes.",
    retrieval_instructions = "Use the hotels knowledge source for queries about where to stay, otherwise use the earth at night knowledge source.",
    answer_instructions = "Answer in two concise sentences.",
    output_mode = KnowledgeRetrievalOutputMode.ANSWER_SYNTHESIS,
    knowledge_sources = [
        KnowledgeSourceReference(name = "hotels-ks"),
        KnowledgeSourceReference(name = "earth-at-night-ks"),
    ],
    models = [KnowledgeBaseAzureOpenAIModel(azure_open_ai_parameters = aoai_params)],
    encryption_key = None,
    retrieval_reasoning_effort = KnowledgeRetrievalAutoReasoningEffort(),
)

index_client.create_or_update_knowledge_base(knowledge_base)
print(f"Knowledge base '{knowledge_base.name}' created or updated successfully.")

Reference:SearchIndexClient, KnowledgeBase

# Create a knowledge base
PUT {{search-endpoint}}/knowledgebases/my-kb?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

{
    "name" : "my-kb",
    "description": "This knowledge base handles questions directed at two unrelated sample indexes.",
    "retrievalInstructions": "Use the hotels knowledge source for queries about where to stay, otherwise use the earth at night knowledge source.",
    "answerInstructions": "Answer in two concise sentences.",
    "outputMode": "answerSynthesis",
    "knowledgeSources": [
        {
            "name": "hotels-ks"
        },
        {
            "name": "earth-at-night-ks"
        }
    ],
    "models" : [
        {
            "kind": "azureOpenAI",
            "azureOpenAIParameters": {
                "resourceUri": "{{aoai-endpoint}}",
                "deploymentId": "gpt-5.4-mini",
                "modelName": "gpt-5.4-mini"
            }
        }
    ],
    "encryptionKey": null,
    "retrievalReasoningEffort": {
        "kind": "auto"
    }
}

Reference:Knowledge Bases - Creare o aggiornare

Configurare i limiti predefiniti per il recupero (anteprima)

A partire dalla versione dell'API 2026-08-01-preview , è possibile usare l'oggetto facoltativo retrieveDefaults per archiviare le impostazioni predefinite a livello di richiesta in una Knowledge Base. Ogni proprietà archiviata si applica solo quando una richiesta di recupero omette il campo della richiesta corrispondente:

Proprietà archiviata Recuperare il campo della richiesta
maxRuntimeInSeconds maxRuntimeInSeconds
maxOutputDocuments maxOutputDocuments
maxOutputSizeInTokens maxOutputSize

Il budget dei token di output usa nomi di proprietà diversi quando viene memorizzato e sovrascritto. Impostare maxOutputSizeInTokens in retrieveDefaultse usare maxOutputSize in una richiesta di recupero.

Il valore effettivo per ogni proprietà viene determinato in modo indipendente in questo ordine:

  1. Il valore corrispondente nella richiesta di recupero.
  2. Il valore nell'oggetto della base di conoscenza retrieveDefaults.
  3. Impostazione predefinita del servizio quando la proprietà è assente a entrambi i livelli.

L'esempio seguente usa un'origine dati di un indice di ricerca esistente denominata your-knowledge-source. Memorizza un limite di esecuzione di 45 secondi, un massimo di otto documenti in output e un limite di output di 12.000 token.

using System;
using Azure.Identity;
using Azure.Search.Documents;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.Models;

string searchEndpoint = "<search-endpoint>";

var options = new SearchClientOptions(
    SearchClientOptions.ServiceVersion.V2026_08_01_Preview);
var indexClient = new SearchIndexClient(
    new Uri(searchEndpoint),
    new DefaultAzureCredential(),
    options);

var knowledgeBase = new KnowledgeBase(
    "your-knowledge-base",
    new[] { new KnowledgeSourceReference("your-knowledge-source") })
{
    Description = "A knowledge base for product support content.",
    RetrieveDefaults = new KnowledgeBaseRetrieveDefaults
    {
        MaxRuntimeInSeconds = 45,
        MaxOutputDocuments = 8,
        MaxOutputSizeInTokens = 12000
    }
};

await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);

Reference:SearchIndexClient, SearchClientOptions.ServiceVersion, KnowledgeBase

from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
    KnowledgeBase,
    KnowledgeBaseRetrieveDefaults,
    KnowledgeSourceReference,
)

search_endpoint = "<search-endpoint>"
index_client = SearchIndexClient(
    endpoint=search_endpoint,
    credential=DefaultAzureCredential(),
    api_version="2026-08-01-preview",
)

knowledge_base = KnowledgeBase(
    name="your-knowledge-base",
    description="A knowledge base for product support content.",
    knowledge_sources=[
        KnowledgeSourceReference(name="your-knowledge-source"),
    ],
    retrieve_defaults=KnowledgeBaseRetrieveDefaults(
        max_runtime_in_seconds=45,
        max_output_documents=8,
        max_output_size_in_tokens=12000,
    ),
)

index_client.create_or_update_knowledge_base(knowledge_base)

Reference:SearchIndexClient, KnowledgeBase

PUT {{search-endpoint}}/knowledgebases/your-knowledge-base?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

{
  "name": "your-knowledge-base",
  "description": "A knowledge base for product support content.",
  "knowledgeSources": [
    {
      "name": "your-knowledge-source"
    }
  ],
  "retrieveDefaults": {
    "maxRuntimeInSeconds": 45,
    "maxOutputDocuments": 8,
    "maxOutputSizeInTokens": 12000
  }
}

Reference:Knowledge Bases - Creare o aggiornare

Per eseguire l'override di questi valori archiviati con 20 secondi, un documento e 5.000 token per una richiesta, vedere Verificare che la Knowledge Base recuperi le impostazioni predefinite.

Configurare CORS per le chiamate di recupero basate su browser (anteprima)

Importante

La condivisione di risorse tra le origini consente alle applicazioni basate su browser di richiedere i dati direttamente dal servizio. A seconda della configurazione CORS, le pagine Web esterne possono accedere o richiamare il servizio e i relativi dati usando il contesto del browser dell'utente. Questo accesso può creare minacce per la sicurezza. L'abilitazione di CORS è a proprio rischio.

A partire dalla versione dell'API 2026-05-01-preview , una Knowledge Base può definire corsOptions per le applicazioni basate su browser che chiamano l'azione di recupero direttamente da JavaScript. I criteri CORS identificano le origini del browser che possono inviare richieste di recupero alla Knowledge Base.

Quando si omette corsOptions, la Knowledge Base non dispone di criteri CORS e i browser bloccano le richieste di recupero tra le origini.

Nell'esempio seguente viene creata una Knowledge Base che consente di recuperare le richieste da un'origine del browser.

using Azure.Identity;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());

var knowledgeBase = new KnowledgeBase(
    name: "browser-chat-kb",
    knowledgeSources: new[] { new KnowledgeSourceReference("product-docs-ks") }
)
{
    Description = "A knowledge base that allows one browser app origin.",
    CorsOptions = new CorsOptions(new[] { "https://myapp.example.com" })
    {
        MaxAgeInSeconds = 300
    }
};

await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);

Reference:CorsOptions, KnowledgeBase

from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
    CorsOptions,
    KnowledgeBase,
    KnowledgeSourceReference,
)

index_client = SearchIndexClient(endpoint="<search-endpoint>", credential=DefaultAzureCredential())

knowledge_base = KnowledgeBase(
    name="browser-chat-kb",
    description="A knowledge base that allows one browser app origin.",
    knowledge_sources=[KnowledgeSourceReference(name="product-docs-ks")],
    cors_options=CorsOptions(
        allowed_origins=["https://myapp.example.com"],
        max_age_in_seconds=300,
    ),
)

index_client.create_or_update_knowledge_base(knowledge_base)

Reference:CorsOptions, KnowledgeBase

PUT {{search-endpoint}}/knowledgebases/browser-chat-kb?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

{
  "name": "browser-chat-kb",
  "description": "A knowledge base that allows one browser app origin.",
  "knowledgeSources": [
    {
      "name": "product-docs-ks"
    }
  ],
  "corsOptions": {
    "allowedOrigins": [
      "https://myapp.example.com"
    ],
    "maxAgeInSeconds": 300
  }
}

Effettuare query su una base di conoscenza

Dopo aver creato una base di conoscenza, chiamare l'azione retrieve o l'endpoint MCP per interrogarla.

Eliminare una base di conoscenza

Se la Knowledge Base non è più necessaria o è necessario ricompilarla nel servizio di ricerca, eseguire il codice seguente per eliminare l'oggetto.

// Delete a knowledge base
using Azure.Search.Documents.Indexes;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);

await indexClient.DeleteKnowledgeBaseAsync(knowledgeBaseName);
System.Console.WriteLine($"Knowledge base '{knowledgeBaseName}' deleted successfully.");

Reference:SearchIndexClient

# Delete a knowledge base
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient

index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
index_client.delete_knowledge_base("<knowledge-base-name>")
print(f"Knowledge base deleted successfully.")

Reference:SearchIndexClient

# Delete a knowledge base
DELETE {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
Authorization: Bearer {{search-access-token}}

Reference:Basi di conoscenza - Elimina