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.
Catatan
Fitur pengambilan berbasis agen ini tersedia secara umum di REST API 2026-04-01 melalui akses terprogram. Portal Azure dan portal Microsoft Foundry terus menyediakan akses khusus pratinjau ke semua fitur pengambilan agenik. Untuk panduan migrasi, lihat Memigrasikan kode pengambilan agenik ke versi terbaru.
Jika Anda memilih untuk menggunakan PRATINJAU REST API, Anda dapat mengakses kemampuan yang belum tersedia secara umum untuk fitur ini. Fitur pratinjau disediakan tanpa perjanjian tingkat layanan dan tidak disarankan untuk beban kerja produksi. Untuk informasi lebih lanjut, lihat Supplemental Terms of Use for Microsoft Azure Previews.
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.
2026-05-01-preview tidak dapat mengubah izin akses yang ditetapkan di luar 2026-05-01-preview. Jika Anda menggunakan pratinjau 2026-05-01 dengan konten yang dibatasi akses atau izin, jeda waktu akan terjadi sebelum pratinjau 2026-05-01 mengenali perubahan pada pembatasan akses atau izin tersebut.
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 OneLake yang terindeks memasukkan file Microsoft OneLake ke dalam alur pengambilan agentik di Pencarian Azure AI. Sumber pengetahuan dibuat secara independen, direferensikan dalam pangkalan pengetahuan, dan digunakan sebagai data dasar ketika pangkalan pengetahuan dikueri saat runtime.
Saat Membuat sumber pengetahuan OneLake terindeks, Anda menentukan sumber data eksternal, model, dan properti untuk menghasilkan objek Pencarian Azure AI berikut secara otomatis:
- Sumber data yang mewakili lakehouse.
- Kemampuan yang memotong dan secara opsional mem-vektorisasi konten multimodal dari lakehouse.
- Indeks yang menyimpan konten yang diperkaya dan memenuhi kriteria untuk pengambilan agenik.
- Pengindeks yang menggunakan objek sebelumnya untuk mendorong alur pengindeksan dan pengayaan.
Pengindeks yang dihasilkan sesuai dengan pengindeks OneLake, yang prasyaratnya, tugas yang didukung, format dokumen yang didukung, pintasan yang didukung, dan batasan juga berlaku untuk sumber pengetahuan OneLake. Untuk informasi selengkapnya, lihat dokumentasi pengindeks OneLake.
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.
Penyelesaian prasyarat pengindeks OneLake.
Penyelesaian persiapan data untuk pengindeks OneLake.
Izin untuk membuat sumber pengetahuan. Konfigurasikan autentikasi tanpa kunci dengan peran Kontributor Layanan Pencarian dan Kontributor Data Indeks Pencarian yang ditetapkan ke akun pengguna Anda (disarankan) atau gunakan kunci API.
Jika sumber pengetahuan menentukan model Azure OpenAI untuk embedding atau verbalisasi gambar, layanan pencarian harus memiliki identitas terkelola dengan izin Pengguna Cognitive Services atas sumber daya Microsoft Foundry.
Paket
Azure.Search.Documentsyang diperlukan:Untuk fitur pratinjau 2026-05-01, paket pratinjau terbaru:
dotnet add package Azure.Search.Documents --prereleaseUntuk fitur 2026-04-01, paket stabil terbaru:
dotnet add package Azure.Search.Documents
Paket
azure-search-documentsyang diperlukan:Untuk fitur pratinjau 2026-05-01, paket pratinjau terbaru:
pip install --pre azure-search-documentsUntuk fitur 2026-04-01, paket stabil terbaru:
pip install azure-search-documents
Versi REST API yang diperlukan:
Untuk fitur pratinjau: Search Service 2026-05-01-preview
Untuk fitur yang tersedia secara umum: Layanan Pencarian 2026-04-01
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 OneLake yang diindeks.
{
"name": "my-onelake-ks",
"kind": "indexedOneLake",
"description": "A sample indexed OneLake knowledge source.",
"encryptionKey": null,
"indexedOneLakeParameters": {
"fabricWorkspaceId": "<REDACTED>",
"lakehouseId": "<REDACTED>",
"targetPath": null,
"ingestionParameters": {
"disableImageVerbalization": false,
"ingestionPermissionOptions": [],
"contentExtractionMode": "standard",
"identity": null,
"embeddingModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "<REDACTED>",
"deploymentId": "text-embedding-3-large",
"apiKey": "<REDACTED>",
"modelName": "text-embedding-3-large"
}
},
"chatCompletionModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "<your-foundry-resource-endpoint>",
"deploymentId": "gpt-5-mini",
"apiKey": "<REDACTED>",
"modelName": "gpt-5-mini"
}
},
"ingestionSchedule": null,
"aiServices": {
"uri": "<your-foundry-resource-endpoint>",
"apiKey": "<REDACTED>"
}
},
"createdResources": {
"datasource": "my-onelake-ks-datasource",
"indexer": "my-onelake-ks-indexer",
"skillset": "my-onelake-ks-skillset",
"index": "my-onelake-ks-index"
}
}
}
Membuat sumber pengetahuan
Jalankan kode berikut untuk membuat sumber pengetahuan OneLake yang diindeks.
// Create an indexed OneLake knowledge source
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.Models;
using Azure;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));
var chatCompletionParams = new AzureOpenAIVectorizerParameters
{
ResourceUri = new Uri(aoaiEndpoint),
DeploymentName = aoaiGptDeployment,
ModelName = aoaiGptModel
};
var embeddingParams = new AzureOpenAIVectorizerParameters
{
ResourceUri = new Uri(aoaiEndpoint),
DeploymentName = aoaiEmbeddingDeployment,
ModelName = aoaiEmbeddingModel
};
var ingestionParams = new KnowledgeSourceIngestionParameters
{
DisableImageVerbalization = false,
ChatCompletionModel = new KnowledgeBaseAzureOpenAIModel(azureOpenAIParameters: chatCompletionParams),
EmbeddingModel = new KnowledgeSourceAzureOpenAIVectorizer
{
AzureOpenAIParameters = embeddingParams
},
IngestionPermissionOptions = new List<KnowledgeSourceIngestionPermissionOption>
{
KnowledgeSourceIngestionPermissionOption.UserIds,
KnowledgeSourceIngestionPermissionOption.GroupIds
}
};
var oneLakeParams = new IndexedOneLakeKnowledgeSourceParameters(
fabricWorkspaceId: fabricWorkspaceId,
lakehouseId: lakehouseId)
{
IngestionParameters = ingestionParams
};
var knowledgeSource = new IndexedOneLakeKnowledgeSource(
name: "my-onelake-ks",
indexedOneLakeParameters: oneLakeParams)
{
Description = "This knowledge source pulls content from a lakehouse."
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Knowledge source '{knowledgeSource.Name}' created or updated successfully.");
Referensi:SearchIndexClient, IndexedOneLakeKnowledgeSource
# Create an indexed OneLake knowledge source
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import IndexedOneLakeKnowledgeSource, IndexedOneLakeKnowledgeSourceParameters, KnowledgeBaseAzureOpenAIModel, AzureOpenAIVectorizerParameters, KnowledgeSourceAzureOpenAIVectorizer, KnowledgeSourceContentExtractionMode, KnowledgeSourceIngestionParameters
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
knowledge_source = IndexedOneLakeKnowledgeSource(
name = "my-onelake-ks",
description= "This knowledge source pulls content from a lakehouse.",
encryption_key = None,
indexed_one_lake_parameters = IndexedOneLakeKnowledgeSourceParameters(
fabric_workspace_id = "fabric_workspace_id",
lakehouse_id = "lakehouse_id",
target_path = None,
ingestion_parameters = KnowledgeSourceIngestionParameters(
identity = None,
disable_image_verbalization = False,
chat_completion_model = KnowledgeBaseAzureOpenAIModel(
azure_open_ai_parameters = AzureOpenAIVectorizerParameters(
resource_url = "aoai_endpoint",
deployment_name = "aoai_gpt_deployment",
model_name = "aoai_gpt_model",
api_key = "aoai_api_key"
)
),
embedding_model = KnowledgeSourceAzureOpenAIVectorizer(
azure_open_ai_parameters=AzureOpenAIVectorizerParameters(
resource_url = "aoai_endpoint",
deployment_name = "aoai_embedding_deployment",
model_name = "aoai_embedding_model",
api_key = "aoai_api_key"
)
),
content_extraction_mode = KnowledgeSourceContentExtractionMode.MINIMAL,
ingestion_schedule = None,
ingestion_permission_options = ["user_ids", "group_ids"]
)
)
)
index_client.create_or_update_knowledge_source(knowledge_source)
print(f"Knowledge source '{knowledge_source.name}' created or updated successfully.")
Referensi:SearchIndexClient
### Create an indexed OneLake knowledge source
PUT {{search-url}}/knowledgesources/my-onelake-ks?api-version=2026-05-01-preview
api-key: {{api-key}}
Content-Type: application/json
{
"name": "my-onelake-ks",
"kind": "indexedOneLake",
"description": "This knowledge source pulls content from a lakehouse.",
"indexedOneLakeParameters": {
"fabricWorkspaceId": "<YOUR FABRIC WORKSPACE GUID>",
"lakehouseId": "<YOUR LAKEHOUSE GUID>",
"targetPath": null,
"ingestionParameters": {
"identity": null,
"disableImageVerbalization": null,
"chatCompletionModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "{{aoai-endpoint}}",
"deploymentId": "{{aoai-gpt-deployment}}",
"modelName": "{{aoai-gpt-model}}",
"apiKey": "{{aoai-key}}"
}
},
"embeddingModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "{{aoai-endpoint}}",
"deploymentId": "{{aoai-embedding-deployment}}",
"modelName": "{{aoai-embedding-model}}",
"apiKey": "{{aoai-key}}"
}
},
"contentExtractionMode": "minimal",
"ingestionSchedule": null,
"ingestionPermissionOptions": ["userIds", "groupIds"]
}
}
}
Referensi:Sumber Pengetahuan - Buat atau Perbarui
Catatan
Penegakan izin di tingkat dokumen menggunakan ingestionPermissionOptions memerlukan versi API 2026-05-01-preview. 2026-04-01 tidak mendukung fitur ini.
Properti khusus sumber
Properti berikut berlaku untuk sumber pengetahuan OneLake yang diindeks.
| 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 dan objek yang dihasilkan. | Objek | Ya | Tidak |
IndexedOneLakeKnowledgeSourceParameters |
Parameter khusus untuk sumber pengetahuan OneLake: FabricWorkspaceId, , LakehouseIddan TargetPath. |
Objek | Ya | |
FabricWorkspaceId |
GUID ruang kerja yang berisi lakehouse. | String | Tidak | Ya |
LakehouseId |
GUID dari lakehouse. | String | Tidak | Ya |
TargetPath |
Folder atau pintasan di dalam lakehouse tersebut. Ketika tidak ditentukan, seluruh lakehouse diindeks. | String | Tidak | 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 dan objek yang dihasilkan. | Objek | Ya | Tidak |
indexed_one_lake_parameters |
Parameter khusus untuk sumber pengetahuan OneLake: fabric_workspace_id, , lakehouse_iddan target_path. |
Objek | Ya | |
fabric_workspace_id |
GUID ruang kerja yang berisi lakehouse. | String | Tidak | Ya |
lakehouse_id |
GUID dari lakehouse. | String | Tidak | Ya |
target_path |
Folder atau pintasan di dalam lakehouse tersebut. Ketika tidak ditentukan, seluruh lakehouse diindeks. | String | Tidak | 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 indexedOneLake kasus ini. |
String | Tidak | Ya |
description |
Deskripsi sumber pengetahuan. | String | Ya | Tidak |
encryptionKey |
Kunci yang dikelola pelanggan untuk mengenkripsi informasi sensitif di sumber pengetahuan dan objek yang dihasilkan. | Objek | Ya | Tidak |
indexedOneLakeParameters |
Parameter khusus untuk sumber pengetahuan OneLake: fabricWorkspaceId, , lakehouseIddan targetPath. |
Objek | Ya | |
fabricWorkspaceId |
GUID ruang kerja yang berisi lakehouse. | String | Tidak | Ya |
lakehouseId |
GUID dari lakehouse. | String | Tidak | Ya |
targetPath |
Folder atau pintasan di dalam lakehouse tersebut. Ketika tidak ditentukan, seluruh lakehouse diindeks. | String | Tidak | Tidak |
Properti parameter penyerapan
Hanya untuk sumber pengetahuan terindeks, Anda dapat meneruskan properti berikut ingestionParameters untuk mengontrol bagaimana konten diserap dan diproses.
| Nama | Deskripsi | Jenis | Dapat Diedit | Diperlukan |
|---|---|---|---|---|
Identity |
Identitas terkelola untuk digunakan dalam pengindeks yang dihasilkan. | Objek | Ya | Tidak |
DisableImageVerbalization |
Mengaktifkan atau menonaktifkan penggunaan verbalisasi gambar. Defaultnya adalah False, yang memungkinkan verbalisasi gambar. Atur ke True untuk menonaktifkan verbalisasi gambar. |
Boolean | Tidak | Tidak |
ChatCompletionModel |
Model penyelesaian percakapan yang mengubah gambar menjadi kata-kata atau mengekstrak konten. Model yang didukung adalah gpt-4o, , gpt-4o-minigpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-5, gpt-5-mini, dan gpt-5-nano.
Keterampilan GenAI Prompt disertakan dalam set keterampilan yang dihasilkan. Mengatur parameter ini juga mengharuskan yang DisableImageVerbalization diatur ke False. Ketika ContentExtractionMode diatur ke standard, ChatCompletionModel.AzureOpenAIParameters.ResourceUri harus sama dengan AiServices.Uri, dan kedua parameter harus menunjuk ke sumber daya Microsoft Foundry yang sama pada services.ai.azure.com. |
Objek | Hanya ApiKey dan DeploymentName dapat diedit |
Tidak |
EmbeddingModel |
Model penyematan teks yang mem-vektorisasi konten teks dan gambar selama pengindeksan dan pada waktu kueri. Model yang didukung adalah text-embedding-ada-002, text-embedding-3-small, dan text-embedding-3-large. Keterampilan Embedding Azure OpenAI disertakan dalam skillset yang dihasilkan, dan vektoriser Azure OpenAI disertakan dalam indeks yang dihasilkan. |
Objek | Hanya ApiKey dan DeploymentName dapat diedit |
Tidak |
ContentExtractionMode |
Mengontrol bagaimana konten diekstrak dari file. Defaultnya adalah minimal, yang menggunakan metode ekstraksi konten dasar untuk teks dan gambar. Atur ke standard untuk pemrosesan dan pembagian dokumen tingkat lanjut menggunakan kemampuan Pemahaman Konten Azure, yang disertakan dalam rangkaian kemampuan yang dihasilkan. Hanya untuk standard, parameter AiServices dapat ditentukan, dan ChatCompletionModel.AzureOpenAIParameters.ResourceUri harus sama dengan AiServices.Uri. Untuk informasi selengkapnya, lihat baris ChatCompletionModel. |
String | Tidak | Tidak |
AiServices |
Sumber daya Foundry untuk mengakses pemahaman konten Azure di Foundry Tools. Mengatur parameter ini mengharuskan yang ContentExtractionMode diatur ke standard. Untuk informasi selengkapnya, lihat baris ChatCompletionModel. |
Objek | Hanya ApiKey dapat diedit |
Tidak |
IngestionSchedule |
Menambahkan informasi penjadwalan ke pengindeks yang dihasilkan. Anda juga dapat menambahkan jadwal nanti untuk mengotomatiskan refresh data. | Objek | Ya | Tidak |
IngestionPermissionOptions |
Izin tingkat dokumen untuk diserap bersama konten. Tentukan UserIds, GroupIds, atau RbacScope untuk menyimpan metadata izin dalam indeks. Anda juga dapat menentukan SensitivityLabel untuk menyertakan metadata label sensitivitas Microsoft Purview untuk sumber pengetahuan blob, OneLake yang diindeks, dan SharePoint yang diindeks. Untuk panduan RBAC khusus untuk sumber data, lihat Mengimpor izin RBAC dari Blob Storage dan Mengimpor ACL dari ADLS Gen2. Untuk menerapkan izin ini pada waktu kueri, lihat Menerapkan izin pada waktu kueri (pratinjau). |
Array | Tidak | Tidak |
AssetStore |
(hanya pratinjau 2026-05-01) Wadah blob yang digunakan untuk menyimpan secara persisten gambar yang diekstrak dari dokumen sumber. Diperlukan untuk mengaktifkan penyajian gambar (pratinjau) untuk pangkalan pengetahuan. Mengatur parameter ini menyediakan penyimpanan pengetahuan bersama sumber pengetahuan untuk menyimpan artefak gambar. Anda dapat memeriksa dan mengelola penyimpanan pengetahuan ini seperti yang lain. Akun penyimpanan harus tetap dapat diakses oleh layanan pencarian selama masa pakai pangkalan pengetahuan. | Objek | Tidak | Tidak |
| Nama | Deskripsi | Jenis | Dapat Diedit | Diperlukan |
|---|---|---|---|---|
identity |
Identitas terkelola untuk digunakan dalam pengindeks yang dihasilkan. | Objek | Ya | Tidak |
disable_image_verbalization |
Mengaktifkan atau menonaktifkan penggunaan verbalisasi gambar. Defaultnya adalah False, yang memungkinkan verbalisasi gambar. Atur ke True untuk menonaktifkan verbalisasi gambar. |
Boolean | Tidak | Tidak |
chat_completion_model |
Model penyelesaian percakapan yang mengubah gambar menjadi kata-kata atau mengekstrak konten. Model yang didukung adalah gpt-4o, , gpt-4o-minigpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-5, gpt-5-mini, dan gpt-5-nano.
Keterampilan GenAI Prompt disertakan dalam set keterampilan yang dihasilkan. Mengatur parameter ini juga mengharuskan yang disable_image_verbalization diatur ke False. Ketika content_extraction_mode diatur ke standard, chat_completion_model.azure_open_ai_parameters.resource_url harus sama dengan ai_services.uri, dan kedua parameter harus menunjuk ke sumber daya Microsoft Foundry yang sama pada services.ai.azure.com. |
Objek | Hanya api_key dan deployment_name dapat diedit |
Tidak |
embedding_model |
Model penyematan teks yang mem-vektorisasi konten teks dan gambar selama pengindeksan dan pada waktu kueri. Model yang didukung adalah text-embedding-ada-002, text-embedding-3-small, dan text-embedding-3-large. Keterampilan Embedding Azure OpenAI disertakan dalam skillset yang dihasilkan, dan vektoriser Azure OpenAI disertakan dalam indeks yang dihasilkan. |
Objek | Hanya api_key dan deployment_name dapat diedit |
Tidak |
content_extraction_mode |
Mengontrol bagaimana konten diekstrak dari file. Defaultnya adalah minimal, yang menggunakan metode ekstraksi konten dasar untuk teks dan gambar. Atur ke standard untuk pemrosesan dan pembagian dokumen tingkat lanjut menggunakan kemampuan Pemahaman Konten Azure, yang disertakan dalam rangkaian kemampuan yang dihasilkan. Hanya untuk standard, parameter ai_services dapat ditentukan, dan chat_completion_model.azure_open_ai_parameters.resource_url harus sama dengan ai_services.uri. Untuk informasi selengkapnya, lihat baris chat_completion_model. |
String | Tidak | Tidak |
ai_services |
Sumber daya Foundry untuk mengakses Azure Content Understanding di alat Foundry. Mengatur parameter ini mengharuskan yang content_extraction_mode diatur ke standard. Untuk informasi selengkapnya, lihat baris chat_completion_model. |
Objek | Hanya api_key dapat diedit |
Tidak |
ingestion_schedule |
Menambahkan informasi penjadwalan ke pengindeks yang dihasilkan. Anda juga dapat menambahkan jadwal nanti untuk mengotomatiskan refresh data. | Objek | Ya | Tidak |
ingestion_permission_options |
Izin tingkat dokumen untuk diserap bersama konten. Tentukan user_ids, group_ids, atau rbac_scope untuk menyimpan metadata izin dalam indeks. Anda juga dapat menentukan sensitivity_label untuk menyertakan metadata label sensitivitas Microsoft Purview untuk sumber pengetahuan blob, OneLake yang diindeks, dan SharePoint yang diindeks. Untuk panduan RBAC khusus untuk sumber data, lihat Mengimpor izin RBAC dari Blob Storage dan Mengimpor ACL dari ADLS Gen2. Untuk menerapkan izin ini pada waktu kueri, lihat Menerapkan izin pada waktu kueri (pratinjau). |
Array | Tidak | Tidak |
asset_store |
(hanya pratinjau 2026-05-01) Wadah blob yang digunakan untuk menyimpan secara persisten gambar yang diekstrak dari dokumen sumber. Diperlukan untuk mengaktifkan penyajian gambar (pratinjau) untuk pangkalan pengetahuan. Mengatur parameter ini menyediakan penyimpanan pengetahuan bersama sumber pengetahuan untuk menyimpan artefak gambar. Anda dapat memeriksa dan mengelola penyimpanan pengetahuan ini seperti yang lain. Akun penyimpanan harus tetap dapat diakses oleh layanan pencarian selama masa pakai pangkalan pengetahuan. | Objek | Tidak | Tidak |
| Nama | Deskripsi | Jenis | Dapat Diedit | Diperlukan |
|---|---|---|---|---|
identity |
Identitas terkelola untuk digunakan dalam pengindeks yang dihasilkan. | Objek | Ya | Tidak |
disableImageVerbalization |
Mengaktifkan atau menonaktifkan penggunaan verbalisasi gambar. Defaultnya adalah false, yang memungkinkan verbalisasi gambar. Atur ke true untuk menonaktifkan verbalisasi gambar. |
Boolean | Tidak | Tidak |
chatCompletionModel |
Model penyelesaian percakapan yang mengubah gambar menjadi kata-kata atau mengekstrak konten. Model yang didukung adalah gpt-4o, , gpt-4o-minigpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-5, gpt-5-mini, dan gpt-5-nano.
Keterampilan GenAI Prompt disertakan dalam set keterampilan yang dihasilkan. Mengatur parameter ini juga mengharuskan yang disableImageVerbalization diatur ke false. Ketika contentExtractionMode diatur ke standard, chatCompletionModel.azureOpenAIParameters.resourceUri harus sama dengan aiServices.uri, dan kedua parameter harus menunjuk ke sumber daya Microsoft Foundry yang sama pada services.ai.azure.com. |
Objek | Hanya apiKey dan deploymentId dapat diedit |
Tidak |
embeddingModel |
Model penyematan teks yang mem-vektorisasi konten teks dan gambar selama pengindeksan dan pada waktu kueri. Model yang didukung adalah text-embedding-ada-002, text-embedding-3-small, dan text-embedding-3-large. Keterampilan Embedding Azure OpenAI disertakan dalam skillset yang dihasilkan, dan vektoriser Azure OpenAI disertakan dalam indeks yang dihasilkan. |
Objek | Hanya apiKey dan deploymentId dapat diedit |
Tidak |
contentExtractionMode |
Mengontrol bagaimana konten diekstrak dari file. Defaultnya adalah minimal, yang menggunakan metode ekstraksi konten dasar untuk teks dan gambar. Atur ke standard untuk pemrosesan dan pembagian dokumen tingkat lanjut menggunakan kemampuan Pemahaman Konten Azure, yang disertakan dalam rangkaian kemampuan yang dihasilkan. Hanya untuk standard, parameter ai_services dapat ditentukan, dan chatCompletionModel.azureOpenAIParameters.resourceUri harus sama dengan aiServices.uri. Untuk informasi selengkapnya, lihat baris chatCompletionModel. |
String | Tidak | Tidak |
aiServices |
Sumber daya Foundry untuk mengakses Azure Content Understanding di alat Foundry. Mengatur parameter ini mengharuskan yang contentExtractionMode diatur ke standard. Untuk informasi selengkapnya, lihat baris chatCompletionModel. |
Objek | Hanya apiKey dapat diedit |
Tidak |
ingestionSchedule |
Menambahkan informasi penjadwalan ke pengindeks yang dihasilkan. Anda juga dapat menambahkan jadwal nanti untuk mengotomatiskan refresh data. | Objek | Ya | Tidak |
ingestionPermissionOptions |
Izin tingkat dokumen untuk diserap bersama konten. Tentukan userIds, groupIds, atau rbacScope untuk menyimpan metadata izin dalam indeks. Anda juga dapat menentukan sensitivityLabel untuk menyertakan metadata label sensitivitas Microsoft Purview untuk sumber pengetahuan blob, OneLake yang diindeks, dan SharePoint yang diindeks. Untuk panduan RBAC khusus untuk sumber data, lihat Mengimpor izin RBAC dari Blob Storage dan Mengimpor ACL dari ADLS Gen2. Untuk menerapkan izin ini pada waktu kueri, lihat Menerapkan izin pada waktu kueri (pratinjau). |
Array | Tidak | Tidak |
assetStore |
(hanya pratinjau 2026-05-01) Wadah blob yang digunakan untuk menyimpan secara persisten gambar yang diekstrak dari dokumen sumber. Diperlukan untuk mengaktifkan penyajian gambar (pratinjau) untuk pangkalan pengetahuan. Mengatur parameter ini menyediakan penyimpanan pengetahuan bersama sumber pengetahuan untuk menyimpan artefak gambar. Anda dapat memeriksa dan mengelola penyimpanan pengetahuan ini seperti yang lain. Akun penyimpanan harus tetap dapat diakses oleh layanan pencarian selama masa pakai pangkalan pengetahuan. | Objek | Tidak | Tidak |
Periksa status penyerapan
Jalankan kode berikut untuk memantau kemajuan dan kesehatan penyerapan, termasuk jenis sumber pengetahuan dan kesalahan pengindeksan terperinci untuk sumber pengetahuan yang menghasilkan alur pengindeks dan mengisi indeks pencarian.
using Azure.Search.Documents.Indexes;
using System.Text.Json;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));
// Get knowledge source ingestion status
var statusResponse = await indexClient.GetKnowledgeSourceStatusAsync(knowledgeSourceName);
var status = statusResponse.Value;
// Serialize to JSON for display
var json = JsonSerializer.Serialize(status, new JsonSerializerOptions { WriteIndented = true });
Console.WriteLine(json);
Referensi:SearchIndexClient
# Check knowledge source ingestion status
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"))
status = index_client.get_knowledge_source_status("knowledge_source_name")
print(json.dumps(status.as_dict(), indent=2))
Referensi:SearchIndexClient
### Check knowledge source ingestion status
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}/status?api-version={{api-version}}
api-key: {{api-key}}
Content-Type: application/json
Referensi:Sumber Pengetahuan - Dapatkan Status
Respons untuk permintaan yang menyertakan parameter penyerapan dan secara aktif menyerap konten mungkin terlihat seperti contoh berikut.
{
"kind": "azureBlob",
"synchronizationStatus": "active",
"synchronizationInterval": "1d",
"currentSynchronizationState": {
"startTime": "2026-04-10T19:30:00Z",
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
"errors": [
{
"key": "Item id 1",
"docURL": "https://contoso.blob.core.windows.net/contracts/2024/Q4/doc-00023.csv",
"statusCode": 400,
"componentName": "DocumentExtraction.AzureBlob.MyDataSource",
"errorMessage": "Could not read the value of column 'foo' at index '0'.",
"details": "The file could not be parsed.",
"documentationLink": "https://go.microsoft.com/fwlink/?linkid=2049388"
}
]
},
"lastSynchronizationState": {
"status": "partialSuccess",
"startTime": "2026-04-09T19:30:00Z",
"endTime": "2026-04-09T19:40:01Z",
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
"errors": null
},
"statistics": {
"totalSynchronizations": 25,
"averageSynchronizationDuration": "00:15:20",
"averageItemsProcessedPerSynchronization": 500
}
}
Catatan
Properti kind dan currentSynchronizationState.errors[] array yang berisi detail kesalahan pada tingkat dokumen, tersedia mulai versi API 2026-04-01. Untuk versi API sebelumnya, bidang ini tidak dikembalikan. Bidang lastSynchronizationState.status ini juga baru di 2026-04-01.
Meninjau objek yang dihasilkan
Saat Anda membuat sumber pengetahuan ini, Pencarian Azure AI secara otomatis menghasilkan sumber data, set keterampilan, pengindeks, dan indeks. Respons pembuatan mencantumkan setiap objek di bawah createdResources.
Objek-objek ini dihasilkan sesuai dengan templat tetap, dan namanya didasarkan pada nama sumber pengetahuan. Anda tidak dapat mengubah nama objek. Hindari mengedit objek ini secara langsung, karena perubahan dapat menimbulkan kesalahan atau ketidaksesuaian yang merusak alur pengindeks.
Anda dapat menggunakan portal Azure untuk memvalidasi pembuatan objek. Alur kerjanya adalah:
Periksa pengindeks untuk pesan keberhasilan atau kegagalan. Kesalahan koneksi atau kuota muncul di sini.
Periksa sumber data untuk memverifikasi koneksi ke penyimpanan data Anda. Koneksi menggunakan string koneksi atau identitas terkelola, tergantung pada cara Anda mengonfigurasi sumber pengetahuan.
Periksa kumpulan keterampilan untuk melihat bagaimana konten Anda dibagi menjadi beberapa bagian dan, secara opsional, diubah menjadi vektor.
Periksa indeks untuk melihat bagaimana konten Anda diindeks dan diekspos untuk pengambilan, termasuk bidang mana yang dapat dicari dan dapat difilter dan bidang mana yang menyimpan vektor untuk pencarian kesamaan. Gunakan Search Explorer untuk menjalankan kueri terhadap indeks yang dihasilkan.
Tetapkan ke basis pengetahuan
Jika Anda puas dengan sumber pengetahuan, tambahkan ke pangkalan pengetahuan.
Untuk pangkalan pengetahuan apa pun yang menentukan sumber pengetahuan OneLake terindeks, pastikan untuk mengatur includeReferenceSourceData ke true. Langkah ini diperlukan untuk menarik URL dokumen sumber ke dalam kutipan.
Meminta pangkalan pengetahuan
Setelah pangkalan pengetahuan dikonfigurasi, panggil tindakan ambil atau titik akhir MCP untuk mengkueri sumber pengetahuan. Sumber pengetahuan ini mendukung konfigurasi opsional untuk penerapan izin tingkat dokumen dan penampilan gambar yang disematkan dalam dokumen.
Terapkan izin tingkat dokumen (pratinjau)
Untuk menerapkan izin tingkat dokumen, atur ingestionPermissionOptions saat Anda membuat sumber pengetahuan ini, lalu sertakan token akses pengguna dalam permintaan pengambilan. Untuk informasi selengkapnya, lihat Menerapkan izin pada waktu kueri (pratinjau).
Tampilkan gambar yang disematkan dalam dokumen (pratinjau)
Untuk menampilkan gambar yang disematkan dokumen (seperti diagram atau pemindaian) dalam respons sintesis jawaban, konfigurasikan assetStore pada sumber pengetahuan ini, lalu aktifkan penyajian gambar di pangkalan pengetahuan. Untuk informasi selengkapnya, lihat Menampilkan gambar yang disematkan dalam dokumen dalam pengambilan agentik (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:
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 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" } ] }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" } }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
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
Kesalahan yang diketahui
Saat Anda membuat sumber pengetahuan ini dengan contentExtractionMode disetel ke standard, Anda mungkin mengalami kesalahan berikut.
Failed to create custom analyzer 'azs_tmp': BadRequest - {"error":{"code":"InvalidRequest","message":"Invalid request.","innererror":{"code":"DefaultsNotSet","message":"Defaults have not yet been set. Call 'PATCH /contentunderstanding/defaults' first."}}}
Untuk mengatasi kesalahan, tentukan nilai default seperti yang diinstruksikan dalam prasyarat Pemahaman Konten. Setelah itu, Anda dapat melanjutkan dengan membuat sumber pengetahuan.