Buat sumber pengetahuan Work IQ (pratinjau)

Note

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.

Saat terhubung ke Work IQ, Anda mungkin dikenakan biaya, dan data mungkin dikirim di luar batas kepatuhan Azure dan diproses sesuai dengan persyaratan layanan dan kebijakan penanganan data yang berlaku.

Sumber pengetahuan Work IQ (pratinjau) menghubungkan Work IQ ke alur pengambilan agenik di Pencarian Azure AI. Sumber pengetahuan dibuat secara independen, direferensikan dalam pangkalan pengetahuan, dan digunakan sebagai data dasar ketika pangkalan pengetahuan dikueri saat runtime.

Work IQ menampilkan kecerdasan organisasi dari konten Microsoft 365 Anda, termasuk dokumen, email, rapat, dan aktivitas di seluruh aplikasi Microsoft 365.

Tidak seperti sumber pengetahuan terindeks, sumber pengetahuan Work IQ mengkueri data langsung pada waktu pengambilan. Tidak diperlukan alur penyerapan. Kueri memerlukan token akses pengguna yang diterbitkan untuk pendaftaran aplikasi Microsoft Entra Anda. Pencarian Azure AI menukar token tersebut dengan token Work IQ yang didelegasikan dan memanggil Work IQ atas nama pengguna.

Warning

Dalam pratinjau ini, sumber pengetahuan Work IQ mungkin menggunakan kemampuan Work IQ yang melakukan tindakan, bukan hanya mengambil informasi. Gunakan dengan hati-hati, batasi akses ke aplikasi dan pengguna tepercaya, dan tinjau izin skenario dan kontrol tata kelola Anda sebelum mengaktifkannya.

Dukungan penggunaan

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

Prerequisites

  • 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

Tata kelola dan kepatuhan data

Sebelum Anda mengaktifkan fitur pengambilan Work IQ, tinjau Data, Privasi, dan Keamanan untuk Microsoft Copilot.

Penggunaan dan privasi data

Perintah, respons, dan data yang diakses melalui Microsoft Graph tidak digunakan untuk melatih model bahasa fondasi.

Kontrol akses

Work IQ menerapkan izin Microsoft 365 pada setiap permintaan. Proses pengambilan hanya mengembalikan data organisasi yang diizinkan untuk diakses oleh pengguna yang masuk.

Residensi dan kepatuhan data

Tinjau dokumentasi Microsoft 365 untuk komitmen residensi, privasi, keamanan, dan kepatuhan data yang berlaku untuk organisasi dan skenario Anda.

Menyiapkan autentikasi Microsoft Entra

Dimulai dengan 2026-08-01-preview versi API, setiap sumber pengetahuan Work IQ menggunakan pendaftaran aplikasi Microsoft Entra milik pelanggan untuk autentikasi. Pada waktu kueri, autentikasi berfungsi sebagai berikut:

  1. Aplikasi klien memasukkan pengguna dan mengirim asersi pengguna ke Pencarian Azure AI.
  2. Identitas terkelola layanan pencarian melakukan autentikasi sebagai aplikasi milik pelanggan melalui kredensial federatif.
  3. Pencarian Azure AI menukar pernyataan pengguna dengan token Work IQ yang didelegasikan dan memanggil Work IQ atas nama pengguna yang masuk.

Tidak ada rahasia klien yang disimpan di sumber pengetahuan Work IQ. Konfigurasikan aplikasi dan izinnya sekali, lalu buat kredensial federasi untuk setiap identitas layanan pencarian yang menggunakan aplikasi.

Mengonfigurasi pendaftaran aplikasi Work IQ

Untuk mengonfigurasi aplikasi milik pelanggan yang Pencarian Azure AI gunakan untuk memanggil Work IQ:

  1. Daftarkan aplikasi di penyewa Microsoft Entra tempat Anda ingin mengelola persetujuan Work IQ. Untuk Jenis akun yang didukung, pilih Akun di direktori organisasi ini saja.

  2. Pada halaman Gambaran Umum pendaftaran aplikasi, salin ID Aplikasi (klien) dan ID Direktori (penyewa). Anda memerlukan ID aplikasi untuk mengonfigurasi autentikasi Work IQ dan ID penyewa untuk masuk ke penyewa yang berisi registrasi aplikasi.

  3. Pada halaman Ekspos API di pendaftaran aplikasi, tambahkan cakupan terdelegasi yang diperlukan dengan nama persis access_as_user. Gunakan nama ini dalam huruf kecil; jangan mengganti nama cakupan lain. Cakupan lengkapnya adalah api://<application-client-id>/access_as_user.

  4. Pada halaman izin API pendaftaran aplikasi, pilih Tambahkan API izin> yangdigunakan organisasi saya.

  5. Cari Work IQ (ID fdcc1f02-fc51-4226-8753-f668596af7f7aplikasi ), pilih Izin> yang didelegasikanWorkIQAgent.Ask, lalu pilih Tambahkan izin.

  6. Minta administrator dengan peran persetujuan yang tercantum dalam prasyarat pilih Berikan persetujuan admin untuk [penyewa Anda] di halaman yang sama. Persetujuan ini memungkinkan aplikasi untuk menukar pernyataan pengguna dengan token Work IQ yang didelegasikan.

Mengonfigurasi identitas layanan pencarian

Untuk mengonfigurasi identitas yang Pencarian Azure AI gunakan untuk mengautentikasi sebagai aplikasi Work IQ Anda:

  1. Aktifkan identitas terkelola yang ditetapkan sistem pada layanan pencarian Anda. Jika Anda tidak dapat menggunakan identitas yang ditetapkan sistem, konfigurasikan persis satu identitas yang ditetapkan pengguna. Layanan pencarian dengan beberapa identitas yang ditetapkan pengguna dan tanpa identitas yang ditetapkan sistem tidak didukung.

  2. Pada halaman Identitas layanan pencarian, salin ID Objek (utama). Kredensial federasi menggunakan nilai ini sebagai subject.

  3. Buka Microsoft Entra ID>Gambaran umum dan salin ID tenant. Kredensial federasi menggunakan nilai ini dalam URL-nya issuer .

Buat kredensial terfederasi

Untuk membuat kredensial federasi untuk identitas layanan pencarian:

  1. Buat file bernama credential.json. Ganti <search-service-name>, <search-service-tenant-id>, dan <search-service-principal-id> dengan nilai untuk layanan pencarian Anda.

    {
      "name": "<search-service-name>-identity",
      "issuer": "https://login.microsoftonline.com/<search-service-tenant-id>/v2.0",
      "subject": "<search-service-principal-id>",
      "audiences": ["api://AzureADTokenExchange"]
    }
    

    Nama kredensial harus unik pada pendaftaran aplikasi. Nilai subject harus sama persis dengan ID utama identitas terkelola. Ketidakcocokan muncul saat Anda mengkueri, bukan saat Anda membuat sumber pengetahuan.

  2. Masuk ke Azure CLI dengan tenant yang berisi pendaftaran aplikasi.

    az login --tenant <app-tenant-id> --allow-no-subscriptions
    
  3. Buat kredensial terfederasi.

    az ad app federated-credential create --id <application-client-id> --parameters credential.json --query id --output tsv
    
  4. Salin output perintah. Gunakan nilai ini untuk federatedCredentialId saat Anda membuat sumber pengetahuan Work IQ.

Setiap kredensial federasi mempercayai satu ID prinsipal identitas terkelola. Jika identitas layanan pencarian lain menggunakan registrasi aplikasi tersebut, ulangi prosedur ini dengan nama kredensial yang unik serta ID tenant dan ID principal milik identitas tersebut. Gunakan ID kredensial yang sesuai pada setiap sumber pengetahuan Work IQ.

Mengonfigurasi aplikasi klien

Untuk mengonfigurasi aplikasi yang mengautentikasi pengguna dan mengirim permintaan pengambilan data:

  1. Pada halaman izin API aplikasi klien, pilih Tambahkan API izin> yangdigunakan organisasi saya.

  2. Tempelkan ID Aplikasi (klien) yang Anda salin sebelumnya ke dalam kotak pencarian, lalu pilih pendaftaran aplikasi Work IQ.

  3. Pilih Izin yang didelegasikan>access_as_user, lalu pilih Tambahkan izin.

  4. Selesaikan persetujuan apa pun yang diperlukan oleh kebijakan persetujuan pengguna penyewa Anda. Jika persetujuan admin diperlukan, minta administrator memilih Berikan persetujuan admin untuk [penyewa Anda].

Aplikasi klien sekarang dapat meminta pernyataan pengguna untuk pendaftaran aplikasi Work IQ. Izin access_as_user tidak memberikan akses langsung aplikasi klien ke Work IQ.

Nilai autentikasi

Saat Anda membuat sumber pengetahuan Work IQ, gunakan nilai berikut entraAppAuthentication dari penyiapan aplikasi Microsoft Entra Anda. Setiap nilai yang Anda berikan harus berupa GUID.

Property Required Value
applicationId Yes ID aplikasi (klien) pendaftaran aplikasi Work IQ Anda.
federatedCredentialId Yes ID objek dari kredensial federasi yang Anda buat di aplikasi. Ini bukan nama kredensial dan bukan ID perwakilan layanan pencarian.
tenantId No ID direktori (penyewa) pendaftaran aplikasi. Jangan sertakan properti ini saat pendaftaran aplikasi dan layanan pencarian berada di tenant yang sama. Jika mereka berada di tenant yang berbeda, properti ini diperlukan.

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 Work IQ.

{
  "name": "my-workiq-ks",
  "kind": "workIQ",
  "description": "A sample Work IQ knowledge source.",
  "workIQParameters": {
    "entraAppAuthentication": {
      "applicationId": "11111111-1111-1111-1111-111111111111",
      "federatedCredentialId": "22222222-2222-2222-2222-222222222222",
      "tenantId": null
    }
  },
  "encryptionKey": null
}

Membuat sumber pengetahuan

Jalankan kode berikut untuk membuat sumber pengetahuan Work IQ.

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

Uri searchEndpoint =
    new("https://<search-service-name>.search.windows.net");
var credential = new DefaultAzureCredential();
var indexClient = new SearchIndexClient(searchEndpoint, credential);

var entraAuthentication = new EntraAppAuthentication(
    Guid.Parse("<application-client-id>"),
    Guid.Parse("<federated-credential-id>"));
var knowledgeSource = new WorkIQKnowledgeSource(
    "my-workiq-ks",
    new WorkIQKnowledgeSourceParameters(entraAuthentication))
{
    Description = "A sample Work IQ knowledge source."
};

KnowledgeSource createdSource =
    await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Created knowledge source '{createdSource.Name}'.");

Referensi:SearchIndexClient, WorkIQKnowledgeSource

from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
    EntraAppAuthentication,
    WorkIQKnowledgeSource,
    WorkIQKnowledgeSourceParameters,
)

endpoint = "https://<search-service-name>.search.windows.net"
credential = DefaultAzureCredential()

knowledge_source = WorkIQKnowledgeSource(
    name="my-workiq-ks",
    description="A sample Work IQ knowledge source.",
    work_iq_parameters=WorkIQKnowledgeSourceParameters(
        entra_app_authentication=EntraAppAuthentication(
            application_id="<application-client-id>",
            federated_credential_id="<federated-credential-id>",
        )
    ),
)

with SearchIndexClient(endpoint, credential) as index_client:
    created_source = index_client.create_or_update_knowledge_source(
        knowledge_source
    )
print(f"Created knowledge source '{created_source.name}'.")

Referensi:SearchIndexClient, WorkIQKnowledgeSource

@search-endpoint = <search-endpoint> // Example: https://my-service.search.windows.net
@search-access-token = <search-access-token> // Run: az account get-access-token --scope https://search.azure.com/.default --query accessToken -o tsv

### Create a Work IQ knowledge source
PUT {{search-endpoint}}/knowledgesources/my-workiq-ks?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
Content-Type: application/json
Prefer: return=representation

{
  "name": "my-workiq-ks",
  "kind": "workIQ",
  "description": "A sample Work IQ knowledge source.",
  "workIQParameters": {
    "entraAppAuthentication": {
      "applicationId": "<application-client-id>",
      "federatedCredentialId": "<federated-credential-id>"
    }
  }
}

Referensi:Sumber Pengetahuan - Buat atau Perbarui

Mengaitkan ke basis pengetahuan

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

Meminta pangkalan pengetahuan

Setelah basis pengetahuan dikonfigurasi, panggil aksi pengambilan atau titik akhir MCP untuk membuat kueri pada konten Work IQ. Sumber pengetahuan ini memiliki penegakan izin waktu kueri dan karakteristik respons yang unik.

Important

Work IQ dapat memakan waktu 40–60 detik atau lebih untuk merespons. Untuk menghindari kesalahan batas waktu, atur maxRuntimeInSeconds pada permintaan pengambilan menjadi 120 atau lebih tinggi.

Menerapkan izin saat kueri

Mulai dari versi API 2026-08-01-preview, sumber pengetahuan Work IQ menggunakan alur token on-behalf-of (OBO) melalui pendaftaran aplikasi Microsoft Entra milik pelanggan. Selain mengautentikasi permintaan pengambilan ke Pencarian Azure AI, klien Anda harus memberikan pernyataan pengguna audiens aplikasi untuk pengguna yang masuk.

Aplikasi klien Anda harus memasukkan pengguna dan memperoleh asersi pengguna. Cara Anda memperoleh pernyataan tergantung pada platform dan bahasa aplikasi. Gunakan Pustaka Autentikasi Microsoft (MSAL) dan alur kode otorisasi dengan Proof Key for Code Exchange (PKCE) untuk meminta cakupan api://<application-client-id>/access_as_useryang tepat .

Sebelum Anda mengirim pernyataan pengguna, konfirmasikan bahwa:

  • aud menunjukkan registrasi aplikasi Work IQ Anda.
  • scp berisi access_as_user.
  • oid dan tid mengidentifikasi pengguna yang masuk dan tenant aplikasi.

Kirim kedua kredensial dalam permintaan pengambilan yang sama, seperti yang ditunjukkan dalam contoh berikut. Gunakan token Pencarian Azure AI atau kunci API untuk autentikasi layanan. Berikan pernyataan pengguna mentah di x-ms-query-work-iq-source-authorization header, bukan x-ms-query-source-authorization.

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

Uri searchEndpoint =
    new("https://<search-service-name>.search.windows.net");
string userAssertion = "<user-assertion>";
var credential = new DefaultAzureCredential();
var options = new SearchClientOptions();
options.Retry.NetworkTimeout = TimeSpan.FromSeconds(130);
var retrievalClient = new KnowledgeBaseRetrievalClient(
    searchEndpoint,
    "my-kb",
    credential,
    options);

var request = new KnowledgeBaseRetrievalRequest
{
    IncludeActivity = true,
    MaxRuntimeInSeconds = 120
};
request.Intents.Add(
    new KnowledgeRetrievalSemanticIntent("Find my project status."));
request.KnowledgeSourceParams.Add(
    new WorkIQKnowledgeSourceParams("my-workiq-ks")
    {
        IncludeReferences = true,
        IncludeReferenceSourceData = true
    });

var response = await retrievalClient.RetrieveAsync(
    request,
    querySourceAuthorization: null,
    queryWorkIQSourceAuthorization: userAssertion);
Console.WriteLine(response.Value);

Referensi:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest

from azure.identity import DefaultAzureCredential
from azure.search.documents.knowledgebases import (
    KnowledgeBaseRetrievalClient,
)
from azure.search.documents.knowledgebases.models import (
    KnowledgeBaseRetrievalRequest,
    KnowledgeRetrievalSemanticIntent,
    WorkIQKnowledgeSourceParams,
)

endpoint = "https://<search-service-name>.search.windows.net"
user_assertion = "<user-assertion>"
credential = DefaultAzureCredential()

request = KnowledgeBaseRetrievalRequest(
    intents=[
        KnowledgeRetrievalSemanticIntent(
            search="Find my project status."
        )
    ],
    knowledge_source_params=[
        WorkIQKnowledgeSourceParams(
            knowledge_source_name="my-workiq-ks",
            include_references=True,
            include_reference_source_data=True,
        )
    ],
    include_activity=True,
    max_runtime_in_seconds=120,
)

with KnowledgeBaseRetrievalClient(
    endpoint,
    credential,
    knowledge_base_name="my-kb",
) as retrieval_client:
    response = retrieval_client.retrieve(
        request,
        query_work_iq_source_authorization=user_assertion,
        timeout=130,
    )

print(response)

Referensi:KnowledgeBaseRetrievalClient, KnowledgeBaseRetrievalRequest

@search-endpoint = <search-endpoint>
@search-access-token = <search-access-token>
@user-assertion = <user-assertion>

### Query a knowledge base with a Work IQ knowledge source
POST {{search-endpoint}}/knowledgebases/my-kb/retrieve?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
x-ms-query-work-iq-source-authorization: {{user-assertion}}
Content-Type: application/json

{
  "messages": [{
    "role": "user",
    "content": [{
      "type": "text",
      "text": "Find my project status."
    }]
  }],
  "knowledgeSourceParams": [{
    "knowledgeSourceName": "my-workiq-ks",
    "kind": "workIQ",
    "includeReferences": true,
    "includeReferenceSourceData": true
  }],
  "includeActivity": true,
  "maxRuntimeInSeconds": 120
}

Referensi:Pengambilan Pengetahuan - Pencarian

Permintaan yang berhasil mengembalikan 200 OK. Pastikan bahwa activity berisi entri yang type-nya adalah workIQ dan knowledgeSourceName-nya cocok dengan sumber pengetahuan Work IQ Anda. Konfirmasi juga bahwa references berisi workIQ entri.

Tabel berikut ini mencantumkan kegagalan konfigurasi umum.

Status Cause
400 Header otorisasi Work IQ hilang atau salah bentuk, klaim pengguna yang diperlukan tidak ada, atau layanan pencarian tidak memiliki konfigurasi identitas terkelola yang didukung.
206 atau 502 Sumber Work IQ gagal karena pertukaran token, persetujuan, izin yang didelegasikan, kredensial federasi, otorisasi hilir, atau permintaan Work IQ gagal atau kehabisan waktu. Periksa kesalahan aktivitas sumber. 206 Respons berarti sumber lain berhasil. 502 Respons berarti setiap sumber yang dipilih gagal atau sumber yang diperlukan gagal.

Kolom respons khusus Work IQ

Sumber pengetahuan Work IQ mengembalikan hasil dalam larik references dan diagnostik kueri dalam larik activity. Setiap entri referensi berisi:

  • sourceData.parts[].text: Cuplikan teks yang didasarkan pada Work IQ.
  • sourceData.parts[].data: Data kutipan IQ kerja. Bagian kutipan memiliki jenis media application/vnd.ms-workiq-reference.

Contoh berikut menunjukkan respons pengambilan data yang berisi referensi sumber pengetahuan Work IQ dan catatan aktivitas terkait. Untuk panduan yang lebih umum tentang menafsirkan respons pengambilan data, lihat Meninjau respons.

Tip

Untuk menerima referensi sourceData, atur includeReferenceSourceData ke true pada entri sumber pengetahuan di dalam knowledgeSourceParams pada permintaan pengambilan.

{
  "response": [],
  "activity": [
    {
      "type": "workIQ",
      "id": 0,
      "knowledgeSourceName": "my-workiq-ks",
      "queryTime": "2026-08-01T19:25:23.683Z",
      "count": 1,
      "elapsedMs": 1137,
      "workIQArguments": {
        "search": "my query"
      }
    }
  ],
  "references": [
    {
      "type": "workIQ",
      "id": "83dd7d40",
      "activitySource": 0,
      "rerankerScore": 3.5,
      "sourceData": {
        "parts": [
          {
            "text": "Have your VPN username and password ready."
          },
          {
            "data": {
              "1-abc123": {
                "targetLink": "https://contoso.sharepoint.com/doc.docx",
                "isCitedInResponse": true,
                "isSourceFiltered": false
              }
            },
            "mediaType": "application/vnd.ms-workiq-reference"
          }
        ]
      }
    }
  ]
}

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