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.
Important
Fitur dan fungsionalitas ini adalah bagian dari REST API pratinjau 2026-05-01. Pratinjau 2026-05-01 dilisensikan kepada Anda sebagai bagian dari langganan Azure Anda dan tunduk pada persyaratan yang berlaku untuk "Pratinjau" dalam Ketentuan Produk Microsoft, Adendum Perlindungan Data Produk dan Layanan Microsoft ("DPA"), dan Ketentuan Penggunaan Supplemental untuk Pratinjau Microsoft Azure.
Versi pratinjau 2026-05-01 mendukung koneksi ke layanan Microsoft dan layanan pihak ketiga. Penggunaan layanan ini tunduk pada persyaratan masing-masing dan dapat mengakibatkan pemrosesan data atau penyimpanan di luar batas kepatuhan Azure, serta data yang mengalir ke batas kepatuhan Azure.
Anda bertanggung jawab untuk mengelola apakah data Anda akan mengalir di luar batas kepatuhan dan geografis organisasi Anda dan implikasi terkait, dan bahwa izin, batas, dan persetujuan yang sesuai disediakan.
Anda bertanggung jawab untuk meninjau dan menguji aplikasi yang Anda buat dengan cermat dalam konteks kasus penggunaan spesifik Anda dan membuat semua keputusan dan penyesuaian yang sesuai. Ini termasuk menerapkan mitigasi AI Anda sendiri yang bertanggung jawab, seperti metaprompts, filter konten, atau sistem keamanan lainnya, dan memastikan aplikasi Anda memenuhi standar kualitas, keandalan, keamanan, dan kepercayaan yang sesuai. Untuk informasi selengkapnya, lihat Catatan Transparansi Pencarian Azure AI.
sumber pengetahuan Azure SQL yang diindeks (pratinjau) memasukkan baris dari Azure SQL Database atau Azure SQL Managed Instance ke dalam pipeline 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.
Tidak seperti sumber pengetahuan berbasis file, seperti Azure Blob Storage dan OneLake, setiap baris SQL diperlakukan sebagai satu dokumen logis. Skema indeks ditentukan oleh pelanggan melalui pemetaan kolom yang eksplisit, bukan oleh skema dokumen tetap.
Saat Anda membuat sumber pengetahuan Azure SQL terindeks, Anda menentukan sumber data SQL, pemetaan kolom opsional, dan model opsional untuk menghasilkan objek Pencarian Azure AI berikut secara otomatis:
- Sumber data yang mewakili tabel atau tampilan SQL.
- Indeks yang bidangnya berasal dari pemetaan kolom Anda.
- Kumpulan keterampilan yang menghasilkan embedding. Layanan ini membuat set keterampilan hanya ketika Anda menentukan
embeddingColumns. - Pengindeks yang menggunakan objek sebelumnya untuk mendorong alur penyerapan.
Pengindeks yang dihasilkan sesuai dengan pengindeks Azure SQL, yang prasyaratnya, kebijakan deteksi perubahan, dan batasannya juga berlaku untuk sumber pengetahuan Azure SQL terindeks. Untuk informasi selengkapnya, lihat dokumentasi pengindeks Azure SQL.
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.
Penyelesaian prasyarat pengindeks Azure SQL, termasuk:
Azure SQL Database atau Azure SQL Managed Instance dengan tabel atau tampilan untuk diserap.
Kunci primer bernilai tunggal pada tabel atau tampilan sumber.
Untuk tampilan, kolom yang cocok untuk deteksi perubahan tanda air tinggi. Kami sangat menyarankan kolom
rowversion.
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 Anda menentukan
embeddingColumns, layanan pencarian harus memiliki identitas terkelola dengan izin Pengguna Cognitive Services pada sumber daya Microsoft Foundry yang menghosting model penyematan.
- Paket pratinjau terbaru
Azure.Search.Documents:dotnet add package Azure.Search.Documents --prerelease
- Paket pratinjau terbaru
azure-search-documents:pip install --pre azure-search-documents
- Versi 2026-05-01-preview dari API REST Layanan Pencarian.
Batasan dan pertimbangan
- Sumber pengetahuan dapat menyerap dari tepat satu tabel atau satu tampilan.
- Tabel atau tampilan sumber harus memiliki kunci primer bernilai tunggal. Kunci komposit tidak didukung.
- Kunci primer terdeteksi secara otomatis dan tidak dapat diganti.
-
contentExtractionModehanya mendukung"minimal". - Ekstraksi gambar dan verbalisasi gambar tidak didukung.
- Sinkronisasi real time tidak didukung. Pengindeks yang dihasilkan berbasis jadwal.
- Pengambilan SQL real time tidak didukung. Sumber pengetahuan terindeks, bukan berasal dari sumber jarak jauh.
Menyiapkan pengindeks yang dihasilkan
Sumber pengetahuan Azure SQL terindeks secara otomatis membuat pengindeks untuk mendorong penyerapan. Tinjau detail berikut sebelum Anda membuat sumber pengetahuan.
Deteksi perubahan
Pengindeks yang dihasilkan menggunakan deteksi perubahan pengindeks Azure SQL standar:
Tabel: Layanan ini menerapkan pelacakan perubahan terintegrasi SQL secara otomatis. Aktifkan pelacakan perubahan SQL pada tabel sumber sebelum Anda membuat sumber pengetahuan.
Pemandangan: Layanan ini menerapkan deteksi perubahan tanda air tinggi. Tentukan kolom yang akan digunakan di
highWaterMarkColumn. Kolomrowversionsangat disarankan. Untuk mendeteksi penghapusan dalam tampilan, sertakan kolom penanda soft-delete dalam tampilan, seperti yang dijelaskan dalam Kebijakan deteksi penghapusan untuk kolom soft-delete.
Authentication
Pengindeks yang dihasilkan mendukung dua opsi autentikasi:
SQL authentication: Berikan nama pengguna dan kata sandi di string koneksi.
Autentikasi identitas terkelola: Gunakan identitas terkelola yang ditetapkan sistem atau pengguna yang memiliki Azure RBAC dan peran di tingkat database pada sumber daya SQL.
Untuk format string koneksi, persyaratan peran, dan langkah-langkah penyusunan, lihat prasyarat pengindeks Azure SQL dan Menyambungkan melalui identitas terkelola.
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 Azure SQL terindeks.
{
"name": "indexedsqlks",
"kind": "indexedSql",
"description": "Sample indexed Azure SQL knowledge source.",
"encryptionKey": null,
"indexedSqlParameters": {
"connectionString": "<SQL database connection string>",
"tableOrView": "dbo.tbl_hotels",
"contentColumns": [
{ "name": "hotelName", "sourceField": "HotelName", "searchFieldType": "Edm.String" },
{ "name": "description", "sourceField": "Description", "searchFieldType": "Edm.String" }
],
"embeddingColumns": [
{ "name": "descriptionVector", "sourceField": "Description" }
],
"ingestionParameters": {
"contentExtractionMode": "minimal",
"embeddingModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "<Foundry resource endpoint URI>",
"deploymentId": "text-embedding-3-large",
"modelName": "text-embedding-3-large"
}
},
"createdResources": {
"datasource": "indexedsqlks-datasource",
"indexer": "indexedsqlks-indexer",
"skillset": "indexedsqlks-skillset",
"index": "indexedsqlks-index"
}
}
}
}
Membuat sumber pengetahuan
Jalankan kode berikut untuk membuat sumber pengetahuan Azure SQL terindeks.
using Azure;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.KnowledgeBases.Models;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));
var embeddingParams = new AzureOpenAIVectorizerParameters
{
ResourceUri = new Uri(aoaiEndpoint),
DeploymentName = aoaiEmbeddingDeployment,
ModelName = aoaiEmbeddingModel,
ApiKey = aoaiKey
};
var ingestionParams = new KnowledgeSourceIngestionParameters
{
ContentExtractionMode = "minimal",
EmbeddingModel = new KnowledgeSourceAzureOpenAIVectorizer
{
AzureOpenAIParameters = embeddingParams
}
};
var sqlParams = new IndexedSqlKnowledgeSourceParameters(
connectionString: sqlConnectionString,
tableOrView: "dbo.tbl_hotels")
{
ContentColumns =
{
new ContentColumnMapping("hotelName", "HotelName", "Edm.String"),
new ContentColumnMapping("description", "Description", "Edm.String")
},
EmbeddingColumns =
{
new EmbeddingColumnMapping("descriptionVector", "Description")
},
IngestionParameters = ingestionParams
};
var knowledgeSource = new IndexedSqlKnowledgeSource(
name: "indexedsqlks",
indexedSqlParameters: sqlParams)
{
Description = "Indexed Azure SQL knowledge source."
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Knowledge source '{knowledgeSource.Name}' created or updated successfully.");
Referensi:SearchIndexClient, IndexedSqlKnowledgeSource
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
AzureOpenAIVectorizerParameters,
ContentColumnMapping,
EmbeddingColumnMapping,
IndexedSqlKnowledgeSource,
IndexedSqlKnowledgeSourceParameters,
)
from azure.search.documents.knowledgebases.models import (
KnowledgeSourceAzureOpenAIVectorizer,
KnowledgeSourceIngestionParameters,
)
index_client = SearchIndexClient(endpoint="search_url", credential=AzureKeyCredential("api_key"))
embedding_params = AzureOpenAIVectorizerParameters(
resource_url="aoai_endpoint",
deployment_name="aoai_embedding_deployment",
model_name="aoai_embedding_model",
api_key="aoai_key",
)
ingestion_params = KnowledgeSourceIngestionParameters(
content_extraction_mode="minimal",
embedding_model=KnowledgeSourceAzureOpenAIVectorizer(
azure_open_ai_parameters=embedding_params
),
)
knowledge_source = IndexedSqlKnowledgeSource(
name="indexedsqlks",
description="Indexed Azure SQL knowledge source.",
indexed_sql_parameters=IndexedSqlKnowledgeSourceParameters(
connection_string="Server=tcp:{server}.database.windows.net,1433;Database={db};...;",
table_or_view="dbo.tbl_hotels",
content_columns=[
ContentColumnMapping(
name="hotelName",
source_field="HotelName",
search_field_type="Edm.String",
),
ContentColumnMapping(
name="description",
source_field="Description",
search_field_type="Edm.String",
),
],
embedding_columns=[
EmbeddingColumnMapping(
name="descriptionVector",
source_field="Description",
)
],
ingestion_parameters=ingestion_params,
),
)
index_client.create_or_update_knowledge_source(knowledge_source=knowledge_source)
print(f"Knowledge source '{knowledge_source.name}' created or updated successfully.")
Referensi:SearchIndexClient
### Create an indexed Azure SQL knowledge source
PUT {{search-url}}/knowledgesources/indexedsqlks?api-version=2026-05-01-preview
api-key: {{api-key}}
Content-Type: application/json
{
"name": "indexedsqlks",
"kind": "indexedSql",
"description": "Indexed Azure SQL knowledge source.",
"indexedSqlParameters": {
"connectionString": "Server=tcp:{server}.database.windows.net,1433;Database={db};...;",
"tableOrView": "dbo.tbl_hotels",
"contentColumns": [
{ "name": "hotelName", "sourceField": "HotelName", "searchFieldType": "Edm.String" },
{ "name": "description", "sourceField": "Description", "searchFieldType": "Edm.String" }
],
"embeddingColumns": [
{ "name": "descriptionVector", "sourceField": "Description" }
],
"ingestionParameters": {
"contentExtractionMode": "minimal",
"embeddingModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "{{aoai-endpoint}}",
"deploymentId": "{{aoai-embedding-deployment}}",
"modelName": "{{aoai-embedding-model}}",
"apiKey": "{{aoai-key}}"
}
}
}
}
}
Referensi:Sumber Pengetahuan - Buat atau Perbarui
Properti khusus sumber
Properti berikut berlaku untuk sumber pengetahuan Azure SQL terindeks.
| Property | Description | Type | Dapat Diedit | Required |
|---|---|---|---|---|
name |
Nama sumber pengetahuan. Nama harus unik dalam koleksi sumber pengetahuan dan mengikuti panduan naming untuk objek dalam Pencarian Azure AI. | string | Yes | Yes |
kind |
Jenis sumber pengetahuan, dalam hal ini adalah indexedSql. |
string | No | Yes |
description |
Deskripsi sumber pengetahuan. | string | Yes | No |
encryptionKey |
Kunci yang dikelola pelanggan untuk mengenkripsi informasi sensitif di sumber pengetahuan dan objek yang dihasilkan. | Objek | Yes | No |
indexedSqlParameters |
Parameter khusus untuk sumber pengetahuan Azure SQL terindeks, yang dijelaskan di bagian berikut. | Objek | Yes |
indexedSqlParameters properti
Properti berikut ini khusus untuk objek indexedSqlParameters dari sumber pengetahuan Azure SQL terindeks.
| Property | Description | Type | Dapat Diedit | Required |
|---|---|---|---|---|
connectionString |
String koneksi autentikasi SQL atau identitas terkelola untuk Azure SQL Database atau Azure SQL Managed Instance. Untuk format kredensial yang didukung, lihat prasyarat pengindeks Azure SQL. | string | No | Yes |
tableOrView |
Nama lengkap tabel atau tampilan SQL yang akan diimpor, ditentukan dalam format schema.objectName. Sumber pengetahuan menyerap dari tepat satu tabel atau satu tampilan. |
string | No | Yes |
highWaterMarkColumn |
Diperlukan saat tableOrView merujuk ke tampilan. Nama kolom yang digunakan untuk deteksi perubahan tanda air tinggi. Kami sangat menyarankan kolom rowversion. Untuk informasi selengkapnya, lihat Kebijakan deteksi perubahan tanda air tinggi. |
string | No | Conditional |
contentColumns |
Array pemetaan kolom yang menentukan kolom SQL mana yang diperlakukan sebagai konten teks yang dapat dicari dalam indeks yang dihasilkan. Setiap pemetaan harus digunakan Edm.String sebagai searchFieldType. |
Array | No | No |
embeddingColumns |
Array pemetaan penyematan yang menentukan kolom SQL mana yang digunakan untuk menghasilkan bidang vektor. | Array | No | No |
ingestionParameters |
Subkumpulan dari parameter ingesti sumber pengetahuan standar. | Objek | No |
Pemetaan kolom
contentColumns menggunakan bentuk pemetaan kolom berikut.
| Property | Description | Type | Dapat Diedit | Required |
|---|---|---|---|---|
name |
Nama bidang seperti yang muncul dalam indeks Pencarian Azure AI yang dihasilkan. | string | No | Yes |
sourceField |
Kolom SQL yang nilainya digunakan untuk mengisi bidang target. | string | No | Yes |
searchFieldType |
Tipe bidang Pencarian Azure AI untuk bidang yang dihasilkan. Pada contentColumns, ini harus Edm.String. |
string | No | Yes |
Menyematkan pemetaan
embeddingColumns menggunakan bentuk pemetaan embedding berikut.
| Property | Description | Type | Dapat Diedit | Required |
|---|---|---|---|---|
name |
Nama bidang vektor target yang dibuat layanan dalam indeks yang dihasilkan. Misalnya, bisa jadi descriptionVector. |
string | No | Yes |
sourceField |
Kolom SQL yang konten teksnya dikirim ke model penyematan. | string | No | Yes |
ingestionParameters properti
Untuk sumber pengetahuan Azure SQL terindeks, skema ingestionParameters yang ada tidak berubah, tetapi hanya properti berikut yang berlaku.
| Property | Description | Type | Dapat Diedit | Required |
|---|---|---|---|---|
contentExtractionMode |
Harus berupa "minimal" . Mode lain tidak didukung karena penyerapan Azure SQL berbasis baris dan tidak mengekstrak konten dari dokumen biner. |
string | No | No |
embeddingModel |
Model penyematan OpenAI Azure digunakan untuk mem-vektorisasi kolom yang tercantum di embeddingColumns. Diperlukan hanya ketika embeddingColumns ditentukan. |
Objek | Hanya apiKey dan deploymentId dapat diedit |
Conditional |
identity |
Identitas terkelola opsional yang ditetapkan pengguna yang digunakan untuk mengautentikasi ke Azure SQL dan Azure OpenAI. | Objek | Yes | No |
ingestionSchedule |
Jadwal opsional yang mengontrol seberapa sering pengindeks yang dihasilkan berjalan. | Objek | Yes | No |
Ekstraksi gambar dan verbalisasi gambar tidak didukung untuk sumber pengetahuan Azure SQL terindeks, sehingga chatCompletionModel, assetStore, aiServices, dan pengaturan terkait gambar tidak berpengaruh.
Aturan default dan validasi
Default berikut berlaku saat Anda membuat sumber pengetahuan Azure SQL terindeks.
Jika Anda menghilangkan
contentColumns, layanan secara otomatis memetakan kolom SQL yang dapat direpresentasikan dengan aman sebagai teks keEdm.Stringbidang dalam indeks yang dihasilkan, menggunakan pemetaan 1:1 di mananamesama dengansourceField.Jika Anda menghilangkan
embeddingColumns, layanan tidak membuat bidang vektor dan tidak mengonfigurasi keterampilan penyematan.embeddingColumnsindependen daricontentColumns. Untuk membuat vektor sesuai dengan teks yang dapat diambil, sertakan kolom SQL yang sama di kedua array.Kunci utama tabel atau tampilan sumber ditemukan secara otomatis. Penggantian eksplisit tidak didukung, dan sumber harus memiliki kunci primer dengan satu nilai.
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
}
}
Note
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.
Mengaitkan ke basis pengetahuan
Jika Anda puas dengan sumber pengetahuan, tambahkan ke pangkalan pengetahuan.
Meminta pangkalan pengetahuan
Setelah pangkalan pengetahuan dikonfigurasi, panggil tindakan ambil atau titik akhir MCP untuk mengkueri sumber pengetahuan.
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