Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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
Layanan Pencarian Azure AI dalam wilayah mana pun yang menyediakan agentic retrieval.
Paket penagihan berbasis penggunaan untuk Work IQ disiapkan di Copilot Studio dengan langganan Azure dan grup sumber daya. Tetapkan setiap pengguna yang meminta Work IQ ke paket penagihan.
Tenant Microsoft Entra Anda diaktifkan untuk Work IQ. Setelah penagihan dikonfigurasi, Administrator Global Microsoft Entra menyelesaikan penyiapan satu kali ini.
Aplikasi klien yang mengautentikasi pengguna dan mengirim permintaan pengambilan data.
Peran Microsoft Entra yang direkomendasikan untuk setiap tindakan penyiapan aplikasi:
Pengembang Aplikasi untuk membuat pendaftaran aplikasi.
Pemilik pendaftaran aplikasi atau peran administrator yang didukung untuk membuat kredensial identitas federasinya.
Administrator Aplikasi Cloud atau Administrator Aplikasi untuk memberikan persetujuan admin seluruh tenant untuk izin yang didelegasikan
WorkIQAgent.Ask.
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 --prereleaseUntuk autentikasi tanpa kunci,
Azure.Identitypaket:dotnet add package Azure.Identity
Paket pratinjau terbaru
azure-search-documents:pip install --pre azure-search-documentsUntuk autentikasi tanpa kunci,
azure-identitypaket:pip install azure-identity
Versi 2026-08-01-preview dari API REST Layanan Pencarian.
Untuk autentikasi tanpa kunci, sertakan token Microsoft Entra ID di
Authorizationheader setiap permintaan HTTP.
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:
- Aplikasi klien memasukkan pengguna dan mengirim asersi pengguna ke Pencarian Azure AI.
- Identitas terkelola layanan pencarian melakukan autentikasi sebagai aplikasi milik pelanggan melalui kredensial federatif.
- 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:
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.
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.
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 adalahapi://<application-client-id>/access_as_user.Pada halaman izin API pendaftaran aplikasi, pilih Tambahkan API izin> yangdigunakan organisasi saya.
Cari Work IQ (ID
fdcc1f02-fc51-4226-8753-f668596af7f7aplikasi ), pilih Izin> yang didelegasikanWorkIQAgent.Ask, lalu pilih Tambahkan izin.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:
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.
Pada halaman Identitas layanan pencarian, salin ID Objek (utama). Kredensial federasi menggunakan nilai ini sebagai
subject.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:
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
subjectharus sama persis dengan ID utama identitas terkelola. Ketidakcocokan muncul saat Anda mengkueri, bukan saat Anda membuat sumber pengetahuan.Masuk ke Azure CLI dengan tenant yang berisi pendaftaran aplikasi.
az login --tenant <app-tenant-id> --allow-no-subscriptionsBuat kredensial terfederasi.
az ad app federated-credential create --id <application-client-id> --parameters credential.json --query id --output tsvSalin output perintah. Gunakan nilai ini untuk
federatedCredentialIdsaat 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:
Pada halaman izin API aplikasi klien, pilih Tambahkan API izin> yangdigunakan organisasi saya.
Tempelkan ID Aplikasi (klien) yang Anda salin sebelumnya ke dalam kotak pencarian, lalu pilih pendaftaran aplikasi Work IQ.
Pilih Izin yang didelegasikan>access_as_user, lalu pilih Tambahkan izin.
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:
-
audmenunjukkan registrasi aplikasi Work IQ Anda. -
scpberisiaccess_as_user. -
oiddantidmengidentifikasi 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 mediaapplication/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:
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" } ] }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 }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
Hapus sumber pengetahuan.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Referensi:SearchIndexClient
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" } ] }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" } }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
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
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" } ] }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" } }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
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