Buat sumber pengetahuan berkas (pratinjau)

Important

Fitur dan fungsionalitas ini adalah bagian dari REST API pratinjau 2026-05-01. Pratinjau 2026-05-01 dilisensikan kepada Anda sebagai bagian dari langganan Azure Anda dan tunduk pada persyaratan yang berlaku untuk "Pratinjau" dalam Ketentuan Produk Microsoft, Adendum Perlindungan Data Produk dan Layanan Microsoft ("DPA"), dan Ketentuan Penggunaan Supplemental untuk Pratinjau Microsoft Azure.

Versi pratinjau 2026-05-01 mendukung koneksi ke layanan Microsoft dan layanan pihak ketiga. Penggunaan layanan ini tunduk pada persyaratan masing-masing dan dapat mengakibatkan pemrosesan data atau penyimpanan di luar batas kepatuhan Azure, serta data yang mengalir ke batas kepatuhan Azure.

Anda bertanggung jawab untuk mengelola apakah data Anda akan mengalir di luar batas kepatuhan dan geografis organisasi Anda dan implikasi terkait, dan bahwa izin, batas, dan persetujuan yang sesuai disediakan.

Anda bertanggung jawab untuk meninjau dan menguji aplikasi yang Anda buat dengan cermat dalam konteks kasus penggunaan spesifik Anda dan membuat semua keputusan dan penyesuaian yang sesuai. Ini termasuk menerapkan mitigasi AI Anda sendiri yang bertanggung jawab, seperti metaprompts, filter konten, atau sistem keamanan lainnya, dan memastikan aplikasi Anda memenuhi standar kualitas, keandalan, keamanan, dan kepercayaan yang sesuai. Untuk informasi selengkapnya, lihat Catatan Transparansi Pencarian Azure AI.

sumber pengetahuan file (pratinjau) mengunggah kumpulan file berukuran kecil dan menengah langsung ke Pencarian Azure AI untuk pengambilan oleh agen. Sumber pengetahuan dibuat secara independen, direferensikan dalam pangkalan pengetahuan, dan digunakan sebagai data dasar ketika pangkalan pengetahuan dikueri saat runtime.

Sumber pengetahuan file berguna ketika Anda menginginkan pengalaman pengunggahan terkelola alih-alih menyediakan Azure Storage, mengonfigurasi akses, dan membuat alur pengindeks melalui kontainer eksternal. Pencarian Azure AI memproses file yang diunggah sehingga konten yang diekstrak dapat diambil dari pangkalan pengetahuan.

Jika konten Anda sudah berada di Azure Blob Storage atau ADLS Gen2, atau jika Anda memerlukan kemampuan penyerapan skala besar atau akun penyimpanan, gunakan sumber pengetahuan blob sebagai gantinya.

Dukungan penggunaan

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

Prerequisites

  • Layanan Pencarian Azure AI khusus dalam region apa pun yang menyediakan pengambilan agenik. Sumber pengetahuan file tidak didukung pada layanan pencarian tanpa server. Untuk informasi selengkapnya tentang tingkat khusus, lihat Memilih tingkat layanan. Jika Anda memerlukan penggunaan berbayar di luar jatah gratis bulanan, atur knowledgeRetrieval properti layanan ke standard dengan menggunakan REST API Manajemen Pencarian.

  • File dalam format yang didukung.

  • Izin untuk membuat sumber pengetahuan. Konfigurasikan autentikasi tanpa kunci dengan peran Kontributor Layanan Pencarian yang ditetapkan ke akun pengguna Anda (disarankan) atau gunakan kunci API.

  • Jika sumber pengetahuan menentukan model Azure OpenAI untuk embedding, layanan pencarian harus memiliki managed identity dengan izin Cognitive Services User pada sumber daya Microsoft Foundry.

Format dan batasan yang didukung

Jenis file berikut didukung.

Kategori Extensions
Text .txt, .md, .html, .json, .csv
Kode .c, .cs, .cpp, .java, .py, .js, .ts, .php, .rb, .sh
Dokumen .pdf,.docx,.pptx,.doc

Batas berikut berlaku untuk sumber pengetahuan file.

Limit Nilai
Ukuran file maksimum per unggahan 50 MB
Jumlah file maksimum per sumber pengetahuan file 100

Note

Konten yang diunggah disimpan dalam indeks pencarian yang dihasilkan. Untuk batas penyimpanan total berdasarkan tingkat harga, lihat Batas layanan.

Periksa sumber pengetahuan yang ada

Sumber pengetahuan adalah objek tingkat atas yang dapat digunakan kembali. Mengetahui tentang sumber pengetahuan yang ada sangat membantu untuk menggunakan kembali atau memberi nama objek baru.

Jalankan kode berikut untuk mencantumkan sumber pengetahuan menurut nama dan jenis.

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

Referensi: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})")

Referensi:SearchIndexClient

### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
api-key: {{api-key}}

Referensi:Sumber Pengetahuan - Daftar

Anda juga dapat mengembalikan satu sumber pengetahuan berdasarkan nama untuk meninjau definisi JSON-nya.

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

Referensi: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))

Referensi:SearchIndexClient

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

Referensi:Sumber Pengetahuan - Dapatkan

JSON berikut adalah contoh respons untuk sumber pengetahuan 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"
        }
      }
    }
  }
}

Membuat sumber pengetahuan

Buat sumber pengetahuan file yang menentukan model penyematan yang digunakan untuk mem-vektorisasi konten yang diunggah.

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

Referensi: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.")

Referensi: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"
    }
  }
}

Referensi:Sumber Pengetahuan - Buat atau Perbarui

Properti khusus sumber

Properti berikut berlaku untuk sumber pengetahuan file.

Name Description Type Dapat Diedit Required
Name Nama sumber pengetahuan, yang harus unik dalam koleksi sumber pengetahuan dan mengikuti panduan penamaan untuk objek di Pencarian Azure AI. String No Yes
Description Deskripsi sumber pengetahuan. String Yes No
EncryptionKey Kunci yang dikelola pelanggan untuk mengenkripsi informasi sensitif di sumber pengetahuan dan objek yang dihasilkan. Objek Yes No
FileParameters Parameter yang khusus untuk sumber pengetahuan file: IngestionParameters. Objek Hanya kredensial model berlapis yang dapat diedit No
Name Description Type Dapat Diedit Required
name Nama sumber pengetahuan, yang harus unik dalam koleksi sumber pengetahuan dan mengikuti panduan penamaan untuk objek di Pencarian Azure AI. String No Yes
description Deskripsi sumber pengetahuan. String Yes No
encryption_key Kunci yang dikelola pelanggan untuk mengenkripsi informasi sensitif di sumber pengetahuan dan objek yang dihasilkan. Objek Yes No
file_parameters Parameter yang khusus untuk sumber pengetahuan file: ingestion_parameters. Objek Hanya kredensial model berlapis yang dapat diedit No
Name Description Type Dapat Diedit Required
name Nama sumber pengetahuan, yang harus unik dalam koleksi sumber pengetahuan dan mengikuti panduan penamaan untuk objek di Pencarian Azure AI. String No Yes
kind Jenis sumber pengetahuan, dalam hal ini adalah file. String No Yes
description Deskripsi sumber pengetahuan. String Yes No
encryptionKey Kunci yang dikelola pelanggan untuk mengenkripsi informasi sensitif di sumber pengetahuan dan objek yang dihasilkan. Objek Yes No
fileParameters Parameter yang khusus untuk sumber pengetahuan file: ingestionParameters. Objek Hanya kredensial model berlapis yang dapat diedit No

Properti parameter penyerapan

Properti parameter penyerapan berikut mengontrol bagaimana file yang diunggah diproses.

Name Description Type Dapat Diedit Required
ContentExtractionMode Mengontrol bagaimana konten diekstrak dari file. Sumber pengetahuan file hanya mendukung minimal. String No No
EmbeddingModel Vektorizer yang menghasilkan penyematan untuk konten selama penyerapan dan untuk kueri pada waktu pengambilan. Nilai yang didukung Kind adalah azureOpenAI, customWebApi, aiServicesVision, dan aml. Objek Kredensial vektorizer dapat diedit No
Name Description Type Dapat Diedit Required
content_extraction_mode Mengontrol bagaimana konten diekstrak dari file. Sumber pengetahuan file hanya mendukung minimal. String No No
embedding_model Vektorizer yang menghasilkan penyematan untuk konten selama penyerapan dan untuk kueri pada waktu pengambilan. Nilai yang didukung kind adalah azureOpenAI, customWebApi, aiServicesVision, dan aml. Objek Kredensial vektorizer dapat diedit No
Name Description Type Dapat Diedit Required
contentExtractionMode Mengontrol bagaimana konten diekstrak dari file. Sumber pengetahuan file hanya mendukung minimal. String No No
embeddingModel Vektorizer yang menghasilkan penyematan untuk konten selama penyerapan dan untuk kueri pada waktu pengambilan. Nilai yang didukung kind adalah azureOpenAI, customWebApi, aiServicesVision, dan aml. Objek Kredensial vektorizer dapat diedit No

Unggah berkas

Setelah sumber pengetahuan ada, unggah file langsung ke dalamnya. Setiap unggahan adalah panggilan sinkron: Pencarian Azure AI mengekstrak konten dari file yang diunggah, memotong konten, membuat penyematan saat diperlukan, dan menyiapkan konten yang diekstrak untuk diambil sebelum panggilan kembali. Anda tidak perlu mengonfigurasi atau menjalankan alur penyerapan terpisah.

fileName yang tercantum diambil dari Content-Disposition: attachment; filename="..." pada header permintaan unggah. Panggilan REST dan SDK .NET mengatur header ini secara langsung, sementara Python SDK menerima parameter filename dan membangun header secara otomatis. Jika header tidak diatur, layanan menetapkan fileName yang dibuat secara otomatis.

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

Referensi: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}")

Referensi: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>

Referensi:Sumber Pengetahuan - Unggah File

Note

Mengunggah file tidak menggantikan file yang ada, bahkan jika Anda menggunakan kembali file yang sama fileName. Setiap unggahan membuat file baru dengan filenya sendiri fileId, sehingga daftar file yang diunggah dapat berisi beberapa entri yang berbagi fileName.

Untuk mengganti konten, hapus file sebelumnya dengan fileId sebelum atau sesudah unggahan baru.

Mencantumkan file yang diunggah

Cantumkan file pada sumber pengetahuan untuk memeriksa kumpulan file yang diunggah.

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

Referensi: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}")

Referensi:SearchIndexClient.list_knowledge_source_files

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

Referensi:Sumber Pengetahuan - Mencantumkan File

Respons menyertakan metadata untuk setiap file yang diunggah. Nilainya errorMessage adalah null ketika unggahan diproses tanpa kesalahan.

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

Karena unggahan sinkron, file siap diambil segera setelah panggilan unggahannya berhasil. Jika pemrosesan gagal, respons unggahan dan setiap entri daftar berikutnya akan menyertakan non-nullerrorMessage. Tinjau nilai untuk jenis file yang tidak didukung, kegagalan ekstraksi, masalah akses model, atau batas kuota.

Menghapus file yang diunggah

Hapus file dari sumber pengetahuan ketika Anda tidak lagi ingin file tersebut tersedia untuk diambil.

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

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

Referensi: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}}

Referensi:Sumber Pengetahuan - Hapus File

Mengaitkan ke basis pengetahuan

Jika Anda puas dengan sumber pengetahuan, tambahkan ke pangkalan pengetahuan.

Meminta pangkalan pengetahuan

Setelah pangkalan pengetahuan dikonfigurasi, panggil tindakan ambil atau titik akhir MCP untuk mengkueri sumber pengetahuan.

Menghapus sumber pengetahuan

Sebelum dapat menghapus sumber pengetahuan, Anda harus menghapus pangkalan pengetahuan apa pun yang mereferensikannya atau memperbarui definisi pangkalan pengetahuan untuk menghapus referensi. Untuk sumber pengetahuan yang menghasilkan indeks dan alur pengindeks, semua objek yang dihasilkan juga dihapus. Namun, jika Anda menggunakan indeks yang ada untuk membuat sumber pengetahuan, indeks Anda tidak dihapus.

Jika Anda mencoba menghapus sumber pengetahuan yang sedang digunakan, tindakan gagal dan mengembalikan daftar pangkalan pengetahuan yang terpengaruh.

Untuk menghapus sumber pengetahuan:

  1. Dapatkan daftar semua pangkalan pengetahuan di layanan pencarian Anda.

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

    Referensi:SearchIndexClient

    Contoh respons mungkin terlihat seperti berikut ini:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Dapatkan definisi pangkalan pengetahuan individual untuk memeriksa referensi sumber pengetahuan.

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

    Referensi:SearchIndexClient

    Contoh respons mungkin terlihat seperti berikut ini:

     {
       "Name": "earth-knowledge-base",
       "KnowledgeSources": [
         {
           "Name": "earth-knowledge-source"
         }
       ],
       "Models": [
         {}
       ],
       "RetrievalReasoningEffort": {},
       "OutputMode": {},
       "ETag": "\u00220x8DE278629D782B3\u0022",
       "EncryptionKey": null,
       "Description": null,
       "RetrievalInstructions": null,
       "AnswerInstructions": null
     }
    
  3. Hapus pangkalan pengetahuan atau, jika Anda memiliki beberapa sumber pengetahuan, perbarui pangkalan pengetahuan untuk menghapus sumbernya. Contoh ini menunjukkan penghapusan.

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

    Referensi:SearchIndexClient

  4. Hapus sumber pengetahuan.

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

    Referensi:SearchIndexClient

  1. Dapatkan daftar semua pangkalan pengetahuan di layanan pencarian Anda.

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

    Referensi:SearchIndexClient

    Contoh respons mungkin terlihat seperti berikut ini:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Dapatkan definisi pangkalan pengetahuan individual untuk memeriksa referensi sumber pengetahuan.

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

    Referensi:SearchIndexClient

    Contoh respons mungkin terlihat seperti berikut ini:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks",
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Hapus pangkalan pengetahuan atau, jika Anda memiliki beberapa sumber pengetahuan, perbarui pangkalan pengetahuan untuk menghapus sumbernya. Contoh ini menunjukkan penghapusan.

    # 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.")
    

    Referensi:SearchIndexClient

  4. Hapus sumber pengetahuan.

    # 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.")
    

    Referensi:SearchIndexClient

  1. Dapatkan daftar semua pangkalan pengetahuan di layanan pencarian Anda.

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

    Referensi:Pangkalan Pengetahuan - Daftar

    Contoh respons mungkin terlihat seperti berikut ini:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Dapatkan definisi pangkalan pengetahuan individual untuk memeriksa referensi sumber pengetahuan.

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

    Referensi:Pangkalan Pengetahuan - Dapatkan

    Contoh respons mungkin terlihat seperti berikut ini:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks",
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Hapus pangkalan pengetahuan atau, jika Anda memiliki beberapa sumber pengetahuan, perbarui pangkalan pengetahuan untuk menghapus sumbernya. Contoh ini menunjukkan penghapusan.

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

    Referensi:Pangkalan Pengetahuan - Hapus

  4. Hapus sumber pengetahuan.

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

    Referensi:Sumber Pengetahuan - Hapus