Crea una fonte di conoscenza sotto forma di file (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.

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 basata su file (anteprima) carica insiemi di file di piccole e medie dimensioni direttamente su Azure AI Search per il recupero autonomo. 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.

Le origini di conoscenza dei file sono utili quando si desidera un'esperienza di caricamento gestita, anziché dover configurare Archiviazione di Azure, impostare gli accessi e creare una pipeline di indicizzazione su un container esterno. Azure AI Search elabora i file caricati in modo che il contenuto estratto possa essere recuperato da una Knowledge Base.

Se i tuoi contenuti sono già archiviati in Archiviazione BLOB di Azure o ADLS Gen2, oppure se hai bisogno di funzionalità di acquisizione o di account di archiviazione su larga scala, utilizza invece una fonte di conoscenza blob.

Supporto per l'utilizzo

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

Prerequisiti

  • Un servizio Azure AI Search dedicato in qualsiasi area che offre il recupero autonomo. Le fonti di conoscenza dei file non sono supportate nei servizi di ricerca serverless. Per altre informazioni sui livelli dedicati, vedere Scegliere un livello di servizio. Se è necessario un utilizzo a pagamento oltre la quota gratuita mensile, impostare la proprietà del servizio knowledgeRetrieval su standard tramite API REST di gestione della ricerca.

  • File in un formato supportato.

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

  • Se l'origine dati di conoscenza specifica un modello Azure OpenAI per gli embedding, il servizio di ricerca deve avere una managed identity con autorizzazioni Cognitive Services User sulla risorsa Microsoft Foundry.

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

Formati e limiti supportati

Sono supportati i tipi di file seguenti.

Categoria Extensions
Testo .txt, .md, .html, .json.csv
Codice .c, .cs, .cpp, .java, .py, .js, .ts, .php, .rb, .sh
Documenti .pdf, .docx, .pptx.doc

I limiti seguenti si applicano alle origini delle informazioni sui file.

Limit Value
Dimensioni massime dei file per caricamento 50 MB
Numero massimo di file per fonte di conoscenza 100

Annotazioni

Il contenuto caricato viene archiviato nell'indice di ricerca generato. Per i limiti di archiviazione totali in base al piano tariffario, vedere Limiti del servizio.

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 relativa a un file.

{
  "name": "my-file-ks",
  "kind": "file",
  "description": "A sample file knowledge source.",
  "encryptionKey": null,
  "fileParameters": {
    "ingestionParameters": {
      "contentExtractionMode": "minimal",
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<REDACTED>",
          "deploymentId": "text-embedding-3-large",
          "modelName": "text-embedding-3-large"
        }
      }
    }
  }
}

Creare una fonte di conoscenza

Crea un'origine dati di file che specifica il modello di embedding usato per vettorizzare i contenuti caricati.

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

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));

var embeddingParams = new AzureOpenAIVectorizerParameters
{
    ResourceUri = new Uri(aoaiEndpoint),
    DeploymentName = aoaiEmbeddingDeployment,
    ModelName = aoaiEmbeddingModel
};

var ingestionParams = new KnowledgeSourceIngestionParameters
{
    ContentExtractionMode = "minimal",
    EmbeddingModel = new KnowledgeSourceAzureOpenAIVectorizer
    {
        AzureOpenAIParameters = embeddingParams
    }
};

var fileParams = new FileKnowledgeSourceParameters
{
    IngestionParameters = ingestionParams
};

var knowledgeSource = new FileKnowledgeSource(
    name: "my-file-ks",
    fileParameters: fileParams
)
{
    Description = "This knowledge source uses directly uploaded product manuals."
};

await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Knowledge source '{knowledgeSource.Name}' created or updated successfully.");

Reference:SearchIndexClient

from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
    AzureOpenAIVectorizerParameters,
    FileKnowledgeSource,
    FileKnowledgeSourceParameters,
)
from azure.search.documents.knowledgebases.models import (
    KnowledgeSourceAzureOpenAIVectorizer,
    KnowledgeSourceIngestionParameters,
)

index_client = SearchIndexClient(endpoint="search_url", credential=AzureKeyCredential("api_key"))

embedding_params = AzureOpenAIVectorizerParameters(
    resource_url="aoai_endpoint",
    deployment_name="aoai_embedding_deployment",
    model_name="aoai_embedding_model",
)

ingestion_params = KnowledgeSourceIngestionParameters(
    content_extraction_mode="minimal",
    embedding_model=KnowledgeSourceAzureOpenAIVectorizer(
        azure_open_ai_parameters=embedding_params
    ),
)

knowledge_source = FileKnowledgeSource(
    name="my-file-ks",
    description="This knowledge source uses directly uploaded product manuals.",
    file_parameters=FileKnowledgeSourceParameters(ingestion_parameters=ingestion_params),
)

index_client.create_or_update_knowledge_source(knowledge_source=knowledge_source)
print(f"Knowledge source '{knowledge_source.name}' created or updated successfully.")

Reference:SearchIndexClient

PUT {{search-url}}/knowledgesources/my-file-ks?api-version=2026-05-01-preview
api-key: {{api-key}}
Content-Type: application/json
Prefer: return=representation

{
  "name": "my-file-ks",
  "kind": "file",
  "description": "This knowledge source uses directly uploaded product manuals.",
  "encryptionKey": null,
  "fileParameters": {
    "ingestionParameters": {
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "{{aoai-endpoint}}",
          "deploymentId": "{{aoai-embedding-deployment}}",
          "modelName": "{{aoai-embedding-model}}"
        }
      },
      "contentExtractionMode": "minimal"
    }
  }
}

Riferimento:Fonti di conoscenza - Crea o Aggiorna

Proprietà specifiche dell'origine

Le proprietà seguenti si applicano alle origini delle informazioni sui file.

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
Description Descrizione dell'origine delle informazioni. String No
EncryptionKey Chiave gestita dal cliente per crittografare le informazioni riservate sia nell'origine delle informazioni che negli oggetti generati. oggetto No
FileParameters Parametri specifici per le origini delle informazioni sui file: IngestionParameters. oggetto Solo le credenziali del modello annidate sono modificabili No
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
description Descrizione dell'origine delle informazioni. String No
encryption_key Chiave gestita dal cliente per crittografare le informazioni riservate sia nell'origine delle informazioni che negli oggetti generati. oggetto No
file_parameters Parametri specifici per le origini delle informazioni sui file: ingestion_parameters. oggetto Solo le credenziali del modello annidate sono modificabili No
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 è file . String No
description Descrizione dell'origine delle informazioni. String No
encryptionKey Chiave gestita dal cliente per crittografare le informazioni riservate sia nell'origine delle informazioni che negli oggetti generati. oggetto No
fileParameters Parametri specifici per le origini delle informazioni sui file: ingestionParameters. oggetto Solo le credenziali del modello annidate sono modificabili No

Proprietà dei parametri di ingestione

Le proprietà del parametro di inserimento seguenti controllano la modalità di elaborazione dei file caricati.

Name Description Type Modificabile Obbligatorio
ContentExtractionMode Controlla la modalità di estrazione del contenuto dai file. Le fonti di conoscenza dei file supportano solo minimal. String No No
EmbeddingModel Un vettorizzatore che genera embedding per i contenuti durante l'acquisizione e per le query al momento del recupero. I valori supportati Kind sono azureOpenAI, customWebApi, aiServicesVisione aml. oggetto Le credenziali di Vectorizer sono modificabili No
Name Description Type Modificabile Obbligatorio
content_extraction_mode Controlla la modalità di estrazione del contenuto dai file. Le fonti di conoscenza dei file supportano solo minimal. String No No
embedding_model Un vettorizzatore che genera embedding per i contenuti durante l'acquisizione e per le query al momento del recupero. I valori supportati kind sono azureOpenAI, customWebApi, aiServicesVisione aml. oggetto Le credenziali di Vectorizer sono modificabili No
Name Description Type Modificabile Obbligatorio
contentExtractionMode Controlla la modalità di estrazione del contenuto dai file. Le fonti di conoscenza dei file supportano solo minimal. String No No
embeddingModel Un vettorizzatore che genera embedding per i contenuti durante l'acquisizione e per le query al momento del recupero. I valori supportati kind sono azureOpenAI, customWebApi, aiServicesVisione aml. oggetto Le credenziali di Vectorizer sono modificabili No

Caricare file

Dopo l'esistenza dell'origine delle informazioni, caricare i file direttamente in esso. Ogni caricamento è una chiamata sincrona: Azure AI Search estrae il contenuto dal file caricato, suddivide il contenuto, crea incorporamenti quando necessario e prepara il contenuto estratto per il recupero prima che la chiamata restituisca. Non è necessario configurare o eseguire una pipeline di inserimento separata.

Il valore indicato fileName viene ricavato dall'intestazione Content-Disposition: attachment; filename="..." nella richiesta di caricamento. Le chiamate REST e l'SDK di .NET impostano direttamente questa intestazione, mentre Python SDK accetta un parametro filename e compila automaticamente l'intestazione. Se l'intestazione non è impostata, il servizio assegna un valore fileName generato automaticamente.

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

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));

string fileName = "installation-guide.pdf";
byte[] fileBytes = await File.ReadAllBytesAsync(fileName);
string contentDisposition = $"attachment; filename=\"{fileName}\"";

KnowledgeSourceFile uploadedFile = (await indexClient.UploadKnowledgeSourceFileAsync(
    "my-file-ks",
    contentDisposition,
    BinaryData.FromBytes(fileBytes))).Value;

Console.WriteLine($"Uploaded file ID: {uploadedFile.FileId}");

Reference:SearchIndexClient.UploadKnowledgeSourceFileAsync

from pathlib import Path

from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient

index_client = SearchIndexClient(endpoint="search_url", credential=AzureKeyCredential("api_key"))

file_path = Path("installation-guide.pdf")
uploaded_file = index_client.upload_knowledge_source_file(
    "my-file-ks",
    file_path.read_bytes(),
    filename=file_path.name,
)
print(f"Uploaded file ID: {uploaded_file.file_id}")

Riferimento:SearchIndexClient.upload_knowledge_source_file

POST {{search-url}}/knowledgesources/my-file-ks/files?api-version=2026-05-01-preview
api-key: {{api-key}}
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="installation-guide.pdf"

<binary file content>

Riferimento:Fonti di conoscenza - Carica file

Annotazioni

Il caricamento di un file non sostituisce un file esistente, anche se si riutilizza lo stesso fileNameoggetto . Ogni caricamento crea un nuovo file con il proprio fileId, in modo che l'elenco dei file caricati possa contenere più voci che condividono un oggetto fileName.

Per sostituire il contenuto, eliminare il file precedente tramite fileId prima o dopo il nuovo caricamento.

Elencare i file caricati

Elenca i file presenti nella fonte di conoscenza per esaminare il set di file caricati.

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

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));

await foreach (KnowledgeSourceFile file in indexClient.GetKnowledgeSourceFilesAsync("my-file-ks"))
{
    Console.WriteLine($"{file.FileName} ({file.FileSizeBytes} bytes) error={file.ErrorMessage}");
}

Reference:SearchIndexClient.GetKnowledgeSourceFilesAsync

from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient

index_client = SearchIndexClient(endpoint="search_url", credential=AzureKeyCredential("api_key"))

for file in index_client.list_knowledge_source_files("my-file-ks"):
    print(f"{file.file_name} ({file.file_size_bytes} bytes) error={file.error_message}")

Riferimento:SearchIndexClient.list_knowledge_source_files

GET {{search-url}}/knowledgesources/my-file-ks/files?api-version=2026-05-01-preview
api-key: {{api-key}}

Reference:Knowledge Sources - List Files

Una risposta include i metadati per ogni file caricato. Il errorMessage valore è null quando il caricamento viene elaborato senza errori.

{
  "value": [
    {
      "fileId": "file-abc123",
      "fileName": "installation-guide.txt",
      "fileSizeBytes": 89,
      "createdAt": "2026-05-07T18:10:00Z",
      "lastUpdatedAt": "2026-05-07T18:14:00.803Z",
      "errorMessage": null
    }
  ]
}

Poiché i caricamenti sono sincroni, un file è pronto per il recupero non appena la chiamata di caricamento ha esito positivo. Se l'elaborazione non va a buon fine, la risposta di caricamento e qualsiasi voce successiva dell'elenco includono un elemento nonnullerrorMessage. Esaminare il valore per tipi di file non supportati, errori di estrazione, problemi di accesso al modello o limiti di quota.

Eliminare i file caricati

Eliminare i file dall'origine delle informazioni quando non si vuole più renderli disponibili per il recupero.

using Azure;
using Azure.Search.Documents.Indexes;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));

await indexClient.DeleteKnowledgeSourceFileAsync("my-file-ks", "file-abc123");

Reference:SearchIndexClient.DeleteKnowledgeSourceFileAsync

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_file("my-file-ks", "file-abc123")

Riferimento:SearchIndexClient.delete_knowledge_source_file

DELETE {{search-url}}/knowledgesources/my-file-ks/files/file-abc123?api-version=2026-05-01-preview
api-key: {{api-key}}

Riferimento:Origini di conoscenza - Elimina file

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 una query sull'origine della knowledge base.

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