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 Anda terhubung ke IQ Fabric, 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 ontologi Fabric (pratinjau) menghubungkan ontologi Microsoft Fabric 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.
Ontologi menangkap bagaimana bisnis Anda mendefinisikan data, entitas, dan hubungannya, memungkinkan agen menjawab dalam istilah bisnis daripada penalaran atas tabel dan kolom mentah.
Tidak seperti sumber pengetahuan yang terindeks, sumber pengetahuan Fabric Ontology membuat kueri ke data secara langsung saat pengambilan. Tidak diperlukan alur penyerapan. Kueri memerlukan token akses pengguna akhir, yang digunakan mesin pengambil data untuk melakukan autentikasi ke Microsoft Fabric atas nama pemanggil.
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.
Ruang kerja Microsoft Fabric dengan pengaturan penyewa yang diperlukan untuk ontologi dan item ontologi.
Layanan pencarian dan ruang kerja Anda harus berada di penyewa Microsoft Entra ID 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 --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
Fabric IQ memproses permintaan dalam batas kepatuhan Microsoft Fabric untuk wilayah ruang kerja Anda. Komitmen berikut berlaku ketika Anda merutekan kueri agen melalui Fabric IQ.
Lokasi penyimpanan data
Fabric IQ mengambil dan memproses data dalam wilayah tempat ruang kerja Microsoft Fabric Anda berada. Data tidak melewati batas regional selama eksekusi kueri. Wilayah yang berlaku dan cakupan kepatuhannya ditentukan oleh lokasi ruang kerja Anda. Untuk daftar wilayah yang didukung dan kerangka kerja kepatuhan yang dipenuhi setiap wilayah, lihat ketersediaan wilayah Microsoft Fabric.
Note
Jika layanan Pencarian Azure AI Anda berada di wilayah Azure yang berbeda dari ruang kerja Fabric Anda, hasil kueri dikembalikan lintas wilayah. Tinjau ketersediaan wilayah Microsoft Fabric dan persyaratan residensi data organisasi Anda sebelum menyambungkan ruang kerja Fabric di wilayah yang berbeda.
Sertifikasi kepatuhan
Fabric IQ mewarisi sertifikasi kepatuhan Microsoft Fabric untuk wilayah ruang kerja. Untuk dokumentasi kepatuhan, laporan audit, dan kerangka kerja yang berlaku untuk setiap wilayah, lihat ketersediaan wilayah Microsoft Fabric.
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 ontologi Fabric.
{
"name": "my-fabric-ontology-ks",
"kind": "fabricOntology",
"description": "A Fabric Ontology knowledge source.",
"encryptionKey": null,
"fabricOntologyParameters": {
"workspaceId": "00000000-0000-0000-0000-000000000000",
"ontologyId": "00000000-0000-0000-0000-000000000001"
}
}
Membuat sumber pengetahuan
Jalankan kode berikut untuk membuat sumber pengetahuan ontologi Fabric.
using Azure.Identity;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
Uri searchEndpoint = new Uri("<search-endpoint>");
DefaultAzureCredential credential = new DefaultAzureCredential();
var indexClient = new SearchIndexClient(searchEndpoint, credential);
var fabricOntology = new FabricOntologyKnowledgeSource(
"<knowledge-source-name>",
new FabricOntologyKnowledgeSourceParameters("<fabric-workspace-id>", "<fabric-ontology-id>"))
{
Description = "A Fabric Ontology knowledge source."
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(fabricOntology);
Referensi:SearchIndexClient
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
FabricOntologyKnowledgeSource,
FabricOntologyKnowledgeSourceParameters,
)
index_client = SearchIndexClient(
endpoint="<search-endpoint>",
credential=DefaultAzureCredential()
)
knowledge_source = FabricOntologyKnowledgeSource(
name="<knowledge-source-name>",
description="A Fabric Ontology knowledge source.",
fabric_ontology_parameters=FabricOntologyKnowledgeSourceParameters(
workspace_id="<fabric-workspace-id>",
ontology_id="<fabric-ontology-id>"
)
)
index_client.create_or_update_knowledge_source(knowledge_source)
Referensi:SearchIndexClient
### Create a Fabric Ontology knowledge source
PUT {{search-endpoint}}/knowledgesources/my-fabric-ontology-ks?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
Content-Type: application/json
{
"name": "my-fabric-ontology-ks",
"kind": "fabricOntology",
"description": "A Fabric Ontology knowledge source.",
"fabricOntologyParameters": {
"workspaceId": "{fabric-workspace-id}",
"ontologyId": "{fabric-ontology-id}"
}
}
Referensi:Sumber Pengetahuan - Buat atau Perbarui
Mengaitkan ke basis pengetahuan
Jika Anda puas dengan sumber pengetahuan, tambahkan ke pangkalan pengetahuan.
Note
Sumber pengetahuan Fabric Ontology tidak mendukung upaya penalaran minimalpengambilan. Gunakan low atau medium sebagai gantinya.
Meminta pangkalan pengetahuan
Setelah pangkalan pengetahuan dikonfigurasi, panggil aksi pengambilan atau endpoint MCP untuk membuat kueri pada konten Ontologi Fabric. Sumber pengetahuan ini memiliki penegakan izin waktu kueri dan karakteristik respons yang unik.
Menerapkan izin saat kueri
Sumber pengetahuan Fabric Ontology menggunakan alur token on-behalf-of (OBO). Anda menyertakan token akses pengguna akhir dalam header x-ms-query-source-authorization pada permintaan pengambilan. Token harus dibatasi untuk audiens Pencarian Azure AI (https://search.azure.com/.default). Mesin retrieval menukarkan token ini dengan token dengan cakupan Microsoft Fabric dan menggunakannya untuk membuat kueri terhadap item ontologi atas nama pengguna akhir.
Autentikasi Pencarian Azure AI standar juga diperlukan pada permintaan pengambilan data. Token x-ms-query-source-authorization diteruskan secara terpisah dan tidak menggantikan autentikasi layanan.
Untuk petunjuk tentang meneruskan token, lihat Terapkan izin saat kueri (pratinjau).
Bidang respons khusus Ontologi Fabric
Sumber pengetahuan Fabric Ontology mengembalikan hasil dalam objek sourceData pada setiap entri references dan diagnostik kueri dalam array activity.
sourceData Berisi:
-
fabricAnswer: Jawaban ontologi dalam bahasa alami. -
fabricRawData: Data terstruktur yang membumikan jawaban, dikembalikan dalam format CSV.
Contoh berikut menunjukkan respons pengambilan data yang berisi referensi sumber pengetahuan Fabric Ontology dan catatan aktivitas yang sesuai. 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": [
// ... Response omitted for brevity
],
"activity": [
{
"type": "fabricOntology",
"id": 1,
"knowledgeSourceName": "my-fabric-ontology-ks",
"queryTime": "2026-05-11T20:29:24Z",
"count": 1,
"fabricOntologyArguments": {
"search": "Which airlines operate domestic routes?"
}
},
{
// ... Additional activity records omitted for brevity
}
],
"references": [
{
"type": "fabricOntology",
"id": "0",
"activitySource": 1,
"sourceData": {
"fabricAnswer": "There are 3 airlines with domestic routes: Delta, United, and American.",
"fabricRawData": "Airline,Routes\nDelta,47\nUnited,38\nAmerican,29"
},
"rerankerScore": 0,
"workspaceId": "00000000-0000-0000-0000-000000000000",
"ontologyId": "00000000-0000-0000-0000-000000000001"
},
{
// ... Additional references omitted for brevity
}
]
}
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