Membuat sumber pengetahuan SharePoint jarak jauh (pratinjau)

Catatan

Beberapa fitur pengambilan agenik umumnya tersedia di REST API 2026-04-01. Namun, fitur ini masih dalam pratinjau dan memerlukan REST API pratinjau. Fitur pratinjau disediakan tanpa perjanjian tingkat layanan dan tidak disarankan untuk beban kerja produksi. Untuk informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

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 SharePoint jarak jauh (pratinjau) menggunakan Copilot Retrieval API (pratinjau) untuk membuat kueri pada konten tekstual 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. Tidak diperlukan indeks pencarian atau string koneksi, dan penggunaan ditagih melalui Microsoft 365 dan lisensi Copilot.

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.

  • Lisensi Microsoft 365 Copilot untuk akses pada saat kueri ke konten SharePoint.

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

Batasan dan pertimbangan

Batasan dan pertimbangan berikut dalam API pengambilan Copilot 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.

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

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

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.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import RemoteSharePointKnowledgeSource, RemoteSharePointKnowledgeSourceParameters

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

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-url}}/knowledgesources/my-remote-sharepoint-ks?api-version=2026-05-01-preview
api-key: {{api-key}}
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

Properti khusus sumber

Properti berikut berlaku untuk sumber pengetahuan SharePoint jarak jauh.

Nama Deskripsi Jenis Dapat Diedit Diperlukan
Name Nama sumber pengetahuan, yang harus unik dalam koleksi sumber pengetahuan dan mengikuti panduan naming untuk objek dalam Pencarian Azure AI. String Tidak Ya
Description Deskripsi sumber pengetahuan. String Ya Tidak
EncryptionKey Kunci yang dikelola pelanggan untuk mengenkripsi informasi sensitif di sumber pengetahuan. Objek Ya Tidak
RemoteSharePointParameters Parameter khusus untuk sumber pengetahuan SharePoint jarak jauh: FilterExpression, ResourceMetadata, dan ContainerTypeId. Objek Tidak Tidak
FilterExpression Ekspresi yang ditulis dalam SharePoint KQL, yang digunakan untuk menentukan situs dan jalur ke konten. String Ya Tidak
ResourceMetadata Array bidang metadata standar: penulis, nama file, tanggal pembuatan, jenis konten, dan jenis file. Array Ya Tidak
ContainerTypeId ID Kontainer untuk koneksi SharePoint Embedded. Ketika tidak ditentukan, SharePoint Online digunakan. String Ya Tidak
Nama Deskripsi Jenis Dapat Diedit Diperlukan
name Nama sumber pengetahuan, yang harus unik dalam koleksi sumber pengetahuan dan mengikuti panduan naming untuk objek dalam Pencarian Azure AI. String Tidak Ya
description Deskripsi sumber pengetahuan. String Ya Tidak
encryption_key Kunci yang dikelola pelanggan untuk mengenkripsi informasi sensitif di sumber pengetahuan. Objek Ya Tidak
remote_share_point_parameters Parameter khusus untuk sumber pengetahuan SharePoint jarak jauh: filter_expression, resource_metadata, dan container_type_id. Objek Tidak Tidak
filter_expression Ekspresi yang ditulis dalam SharePoint KQL, yang digunakan untuk menentukan situs dan jalur ke konten. String Ya Tidak
resource_metadata Array bidang metadata standar: penulis, nama file, tanggal pembuatan, jenis konten, dan jenis file. Array Ya Tidak
container_type_id ID Kontainer untuk koneksi SharePoint Embedded. Ketika tidak ditentukan, SharePoint Online digunakan. String Ya Tidak
Nama Deskripsi Jenis Dapat Diedit Diperlukan
name Nama sumber pengetahuan, yang harus unik dalam koleksi sumber pengetahuan dan mengikuti panduan naming untuk objek dalam Pencarian Azure AI. String Tidak Ya
kind Jenis sumber pengetahuan, yang pada remoteSharePoint kasus ini. String Tidak Ya
description Deskripsi sumber pengetahuan. String Ya Tidak
encryptionKey Kunci yang dikelola pelanggan untuk mengenkripsi informasi sensitif di sumber pengetahuan. Objek Ya Tidak
remoteSharePointParameters Parameter khusus untuk sumber pengetahuan SharePoint jarak jauh: filterExpression, resourceMetadata, dan containerTypeId. Objek Tidak Tidak
filterExpression Ekspresi yang ditulis dalam SharePoint KQL, yang digunakan untuk menentukan situs dan jalur ke konten. String Ya Tidak
resourceMetadata Array bidang metadata standar: penulis, nama file, tanggal pembuatan, jenis konten, dan jenis file. Array Ya Tidak
containerTypeId ID Kontainer untuk koneksi SharePoint Embedded. Ketika tidak ditentukan, SharePoint Online digunakan. String Ya Tidak

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-url}}/knowledgebases/{{knowledge-base-name}}/retrieve?api-version=2026-05-01-preview
Authorization: Bearer {{accessToken}}
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
    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