Membuat sumber pengetahuan SharePoint jarak jauh (pratinjau)

Catatan

Pencarian Azure AI tersedia melalui portal Azure, REST API, dan Azure SDK. Ini juga mendukung Foundry IQ, lapisan pengetahuan terkelola yang mengubah konten perusahaan menjadi pangkalan pengetahuan yang dapat digunakan kembali dan sadar izin untuk agen di portal Microsoft Foundry.

Important

Fitur, kemampuan, atau properti yang ditandai (pratinjau) tidak tercakup dalam perjanjian tingkat layanan, tidak disarankan untuk beban kerja produksi, dan mungkin berubah atau dibatasi sebelum tersedia secara umum. Ketentuan pratinjau Pencarian Azure AI berlaku untuk semua fungsionalitas pratinjau, baik itu mandiri atau bagian dari fitur yang tersedia secara umum.

Sumber pengetahuan SharePoint jarak jauh (pratinjau) menggunakan API Pengambilan Data Copilot (pratinjau) untuk membuat kueri terhadap konten tekstual secara langsung dari SharePoint di Microsoft 365. Sumber pengetahuan dibuat secara independen, direferensikan dalam pangkalan pengetahuan, dan digunakan sebagai data dasar ketika pangkalan pengetahuan dikueri saat runtime.

Untuk membatasi situs atau membatasi pencarian, atur ekspresi filter ke cakupan menurut URL, rentang tanggal, jenis file, dan metadata lainnya. Identitas pemanggil harus dikenali oleh penyewa Azure dan penyewa Microsoft 365 karena mesin pencari melakukan kueri terhadap SharePoint atas nama pengguna.

Tidak seperti sumber pengetahuan terindeks, sumber pengetahuan SharePoint jarak jauh mengkueri data langsung pada waktu pengambilan. Anda tidak memerlukan indeks pencarian atau string koneksi.

Dukungan penggunaan

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

Prasyarat

  • Layanan Pencarian Azure AI dalam wilayah mana pun yang menyediakan agentic retrieval.

  • SharePoint di penyewa Microsoft 365 yang memiliki Microsoft Entra ID penyewa yang sama dengan Azure.

  • Untuk setiap pengguna yang mengkueri konten SharePoint, pengguna tersebut harus memiliki lisensi add-on Microsoft 365 Copilot yang mencakup penggunaan API Pengambilan atau konsumsi bayar sesuai penggunaan API Pengambilan (pratinjau) harus diaktifkan untuk pengguna tersebut.

    Untuk mengaktifkan prabayar sesuai pemakaian, Anda memerlukan akses admin Microsoft 365 dan akses Owner atau Contributor pada langganan Azure dengan status yang baik. Anda juga memerlukan grup sumber daya Azure. Penyewa Anda harus memiliki setidaknya satu lisensi Microsoft 365 Copilot sebelum pengaktifan dan sepanjang penggunaan bayar sesuai pemakaian.

    Untuk pengguna tanpa lisensi add-on Copilot, aktifkan bayar sesuai pemakaian dan konfigurasikan penagihan di pusat admin Microsoft 365 menggunakan langganan Azure tersebut. Kedua opsi pembayaran menggunakan konfigurasi sumber pengetahuan SharePoint jarak jauh yang sama.

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

  • Paket pratinjau terbaru Azure.Search.Documents: dotnet add package Azure.Search.Documents --prerelease

  • Untuk autentikasi tanpa kunci, Azure.Identity paket: dotnet add package Azure.Identity

Batasan dan pertimbangan

Sumber pengetahuan SharePoint eksternal tunduk pada batasan yang ditetapkan oleh Copilot Retrieval API dan Pencarian Azure AI.

API Pengambilan Copilot

Batasan API pengambilan Copilot berikut juga berlaku untuk sumber pengetahuan SharePoint jarak jauh:

  • Tidak ada dukungan untuk konektor Copilot atau konten OneDrive. Isi diambil dari situs SharePoint saja.

  • Batas 200 permintaan per pengguna per jam.

  • Batas maksimal 1.500 karakter untuk kueri.

  • Kueri hibrid hanya didukung untuk ekstensi file berikut: .doc, , .docx, .pptx.pdf, .aspx, dan .one.

  • Pengambilan multimodal (konten nontekstual, termasuk tabel, gambar, dan bagan) tidak didukung.

  • Maksimum 25 hasil dari kueri.

  • Hasil dikembalikan oleh Copilot Retrieval API tanpa urutan tertentu.

  • Ekspresi filter Bahasa Kueri Kata Kunci (KQL) tidak valid diabaikan, dan kueri terus dijalankan tanpa filter.

Saat Anda membuat kueri pada basis pengetahuan, Pencarian Azure AI dapat menjalankan sejumlah terbatas kueri SharePoint secara jarak jauh pada satu waktu. Batas tergantung pada model harga:

  • Khusus: Setiap replika layanan menjalankan satu kueri pada satu waktu di semua sumber pengetahuan SharePoint jarak jauh yang dipilih untuk permintaan pengambilan data. Kueri tambahan menunggu hingga replika tersedia, sehingga meningkatkan latensi. Untuk meningkatkan throughput kueri, tambahkan replika.

  • Tanpa server (pratinjau): Pencarian Azure AI menjalankan satu kueri pada satu waktu di semua sumber pengetahuan SharePoint jarak jauh yang dipilih untuk permintaan pengambilan. Kueri tambahan sedang menunggu. Serverless mengelola kapasitas secara otomatis, sehingga Anda tidak dapat meningkatkan throughput kueri.

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

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

Referensi:Sumber Pengetahuan - Dapatkan

JSON berikut adalah contoh respons untuk sumber pengetahuan SharePoint jarak jauh.

{
  "name": "my-sharepoint-ks",
  "kind": "remoteSharePoint",
  "description": "A sample remote SharePoint knowledge source",
  "encryptionKey": null,
  "remoteSharePointParameters": {
    "filterExpression": "filetype:docx",
    "containerTypeId": null,
    "resourceMetadata": [
      "Author",
      "Title"
    ]
  }
}

Membuat sumber pengetahuan

Jalankan kode berikut untuk membuat sumber pengetahuan SharePoint jarak jauh.

// Create a remote SharePoint knowledge source
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 knowledgeSource = new RemoteSharePointKnowledgeSource(name: "my-remote-sharepoint-ks")
{
    Description = "This knowledge source queries .docx files in a trusted Microsoft 365 tenant.",
    RemoteSharePointParameters = new RemoteSharePointKnowledgeSourceParameters()
    {
        FilterExpression = "filetype:docx",
        ResourceMetadata = { "Author", "Title" }
    }
};

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

Referensi:SearchIndexClient, RemoteSharePointKnowledgeSource

# Create a remote SharePoint knowledge source
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import RemoteSharePointKnowledgeSource, RemoteSharePointKnowledgeSourceParameters

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

knowledge_source = RemoteSharePointKnowledgeSource(
    name = "my-remote-sharepoint-ks",
    description= "This knowledge source queries .docx files in a trusted Microsoft 365 tenant.",
    encryption_key = None,
    remote_share_point_parameters = RemoteSharePointKnowledgeSourceParameters(
        filter_expression = "filetype:docx",
        resource_metadata = ["Author", "Title"],
        container_type_id = None
    )
)

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

Referensi:SearchIndexClient

### Create a remote SharePoint knowledge source
PUT {{search-endpoint}}/knowledgesources/my-remote-sharepoint-ks?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
Content-Type: application/json

{
    "name": "my-remote-sharepoint-ks",
    "kind": "remoteSharePoint",
    "description": "This knowledge source queries .docx files in a trusted Microsoft 365 tenant.",
    "encryptionKey": null,
    "remoteSharePointParameters": {
        "filterExpression": "filetype:docx",
        "resourceMetadata": [ "Author", "Title" ],
        "containerTypeId": null
    }
}

Referensi:Sumber Pengetahuan - Buat atau Perbarui

Contoh ekspresi filter

Tidak semua properti SharePoint didukung di filterExpression. Untuk daftar properti yang didukung, lihat referensi API. Untuk properti yang dapat dikueri, lihat Dapat dikueri.

Pelajari selengkapnya tentang filter KQL dalam referensi sintaks.

Contoh Ekspresi filter
Filter ke satu situs berdasarkan ID "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\""
Filter ke beberapa situs berdasarkan ID "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\" OR SiteID:\"11bb11bb-cc22-dd33-ee44-55ff55ff55ff\""
Memfilter ke file di bawah jalur tertentu "filterExpression": "Path:\"https://my-demo.sharepoint.com/sites/mysite/Shared Documents/en/mydocs\""
Memfilter ke rentang tanggal tertentu "filterExpression": "LastModifiedTime >= 2024-07-22 AND LastModifiedTime <= 2025-01-08"
Memfilter ke file dari jenis file tertentu "filterExpression": "FileExtension:\"docx\" OR FileExtension:\"pdf\" OR FileExtension:\"pptx\""
Memfilter ke file label perlindungan informasi tertentu "filterExpression": "InformationProtectionLabelId:\"f0ddcc93-d3c0-4993-b5cc-76b0a283e252\""

Tetapkan ke basis pengetahuan

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

Mengkueri pangkalan pengetahuan

Setelah basis pengetahuan dikonfigurasi, panggil tindakan pengambilan atau endpoint MCP untuk membuat kueri terhadap konten SharePoint. SharePoint jarak jauh memiliki perilaku khusus sumber untuk pemfilteran waktu kueri, rumusan kueri, bidang respons, dan penerapan izin.

Menerapkan filter KQL pada saat melakukan kueri

Anda dapat meneruskan FilterExpressionAddOn dalam KnowledgeSourceParams di permintaan pengambilan untuk menerapkan filter KQL pada waktu kueri. Jika Anda menentukan FilterExpressionAddOn pada permintaan pengambilan dan FilterExpression pada definisi sumber pengetahuan, filternya digabungkan dengan operator AND.

var retrievalRequest = new KnowledgeBaseRetrievalRequest();
retrievalRequest.Messages.Add(
    new KnowledgeBaseMessage(
        content: new[] {
            new KnowledgeBaseMessageTextContent("contoso product planning")
        }
    ) { Role = "user" }
);
retrievalRequest.KnowledgeSourceParams.Add(
    new RemoteSharePointKnowledgeSourceParams("my-remote-sharepoint-ks")
    {
        FilterExpressionAddOn = "filetype:docx"
    }
);

var result = await kbClient.RetrieveAsync(
    retrievalRequest, xMsQuerySourceAuthorization: token
);

Referensi:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest

Anda dapat meneruskan filter_expression_add_on dalam knowledge_source_params di permintaan pengambilan untuk menerapkan filter KQL pada waktu kueri. Jika Anda menentukan filter_expression_add_on pada permintaan pengambilan dan filter_expression pada definisi sumber pengetahuan, filternya digabungkan dengan operator AND.

from azure.search.documents.knowledgebases.models import (
    KnowledgeBaseMessage,
    KnowledgeBaseMessageTextContent,
    KnowledgeBaseRetrievalRequest,
    RemoteSharePointKnowledgeSourceParams,
)

request = KnowledgeBaseRetrievalRequest(
    messages=[
        KnowledgeBaseMessage(
            role="user",
            content=[
                KnowledgeBaseMessageTextContent(
                    text="contoso product planning"
                )
            ],
        )
    ],
    knowledge_source_params=[
        RemoteSharePointKnowledgeSourceParams(
            knowledge_source_name="my-remote-sharepoint-ks",
            filter_expression_add_on="filetype:docx",
        )
    ],
)

result = kb_client.retrieve(
    retrieval_request=request,
    x_ms_query_source_authorization=token,
)

Referensi:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest

Anda dapat meneruskan filterExpressionAddOn dalam knowledgeSourceParams di permintaan pengambilan untuk menerapkan filter KQL pada waktu kueri. Jika Anda menentukan filterExpressionAddOn pada permintaan pengambilan dan filterExpression pada definisi sumber pengetahuan, filternya digabungkan dengan operator AND.

### Retrieve knowledge base content
POST {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}/retrieve?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
Content-Type: application/json
x-ms-query-source-authorization: {{user-access-token}}

{
    "messages": [
        {
            "role": "user",
            "content": [
                { "type": "text", "text": "contoso product planning" }
            ]
        }
    ],
    "knowledgeSourceParams": [
        {
            "knowledgeSourceName": "my-remote-sharepoint-ks",
            "kind": "remoteSharePoint",
            "filterExpressionAddOn": "filetype:docx"
        }
    ]
}

Referensi:Pengambilan Informasi - Ambil

Menulis kueri yang efektif

Kueri yang menanyakan tentang konten itu sendiri lebih efektif daripada pertanyaan tentang di mana file berada atau kapan terakhir kali diperbarui. Misalnya, "Di mana dokumen utama untuk Ignite 2024" mungkin tidak memberikan hasil apapun karena konten itu sendiri tidak memberitahukan lokasinya. Menggunakan FilterExpression pada metadata adalah pendekatan yang lebih baik untuk lokasi file atau kueri khusus tanggal.

Kueri yang menanyakan tentang konten itu sendiri lebih efektif daripada pertanyaan tentang di mana file berada atau kapan terakhir kali diperbarui. Misalnya, "Di mana dokumen utama untuk Ignite 2024" mungkin tidak memberikan hasil apapun karena konten itu sendiri tidak memberitahukan lokasinya. Menggunakan filter_expression pada metadata adalah pendekatan yang lebih baik untuk lokasi file atau kueri khusus tanggal.

Kueri yang menanyakan tentang konten itu sendiri lebih efektif daripada pertanyaan tentang di mana file berada atau kapan terakhir kali diperbarui. Misalnya, "Di mana dokumen utama untuk Ignite 2024" mungkin tidak memberikan hasil apapun karena konten itu sendiri tidak memberitahukan lokasinya. Menggunakan filterExpression pada metadata adalah pendekatan yang lebih baik untuk lokasi file atau kueri khusus tanggal.

Pertanyaan yang lebih efektif adalah "Apa dokumen utama untuk Ignite 2024". Respons mencakup jawaban yang disintesis, aktivitas kueri, dan jumlah token, ditambah URL dan metadata lainnya.

bidang respons khusus SharePoint

Hasil SharePoint jarak jauh mencakup bidang yang tidak muncul untuk jenis sumber pengetahuan lainnya, seperti resourceMetadata, webUrl, dan searchSensitivityLabelInfo.

{
    "resourceMetadata": {
        "Author": "Nuwan Amarathunga;Nurul Izzati",
        "Title": "Ignite 2024 Keynote Address"
    },
    "rerankerScore": 2.489522,
    "webUrl": "https://contoso-my.sharepoint.com/keynotes/Documents/Keynote-Ignite-2024.docx",
    "searchSensitivityLabelInfo": {
        "displayName": "Confidential\\Contoso Extended",
        "sensitivityLabelId": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333",
        "tooltip": "Data is classified and protected.",
        "priority": 5,
        "color": "#FF8C00",
        "isEncrypted": true
    }
}

Menerapkan izin saat kueri

Sumber pengetahuan SharePoint dari jarak jauh dapat menerapkan izin SharePoint pada saat kueri. Untuk mengaktifkan pemfilteran ini, sertakan token akses pengguna akhir dalam permintaan pengambilan. Mesin pencarian meneruskan token ke API Pengambilan Copilot, yang mengambil data dari SharePoint dan hanya mengembalikan konten yang dapat diakses oleh pengguna. Perizinan SharePoint dan label sensitivitas Microsoft Purview dihormati.

Karena SharePoint yang diakses dari jarak jauh tidak menggunakan indeks pencarian, konfigurasi izin saat pengambilan tidak diperlukan. Token akses adalah satu-satunya persyaratan.

Untuk petunjuk tentang meneruskan token, lihat Terapkan izin saat kueri (pratinjau).

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

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

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

    Referensi:Pangkalan Pengetahuan - Hapus

  4. Hapus sumber pengetahuan.

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

    Referensi:Sumber Pengetahuan - Hapus