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
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.
sumber pengetahuan SharePoint yang diindeks (pratinjau) memasukkan konten SharePoint 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.
Saat Membuat sumber pengetahuan SharePoint terindeks, Anda menentukan SharePoint string koneksi, model, dan properti untuk menghasilkan objek Pencarian Azure AI berikut secara otomatis:
- Sumber data yang mengarah ke situs SharePoint dan menggunakan string koneksi tanpa perubahan. Sumber data yang dihasilkan mengikuti aturan pengindeks SharePoint
TenantId. - Set keterampilan yang memotong dan secara opsional mem-vektorisasi konten multimodal.
- 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 SharePoint di pengindeks Microsoft 365, yang prasyaratnya, format dokumen yang didukung, dan batasan juga berlaku untuk sumber pengetahuan SharePoint terindeks. Untuk informasi selengkapnya, lihat dokumentasi pengindeks SharePoint dan batas pengindeks. Jika kumpulan keterampilan yang dihasilkan memanggil layanan eksternal, batas input dan batas layanan untuk keterampilan tersebut juga berlaku.
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 SharePoint.
Penyelesaian langkah-langkah konfigurasi pengindeks SharePoint berikut:
Step 1: Aktifkan identitas terkelola untuk Pencarian Azure AI (hanya diperlukan untuk autentikasi tanpa rahasia; lewati jika menggunakan rahasia klien)
Step 3: Membuat pendaftaran aplikasi Microsoft Entra (untuk izin aplikasi, Anda juga mengonfigurasi rahasia client atau autentikasi secretless)
Jika
contentExtractionModebernilaistandard, gunakan sumber daya Microsoft Foundry di wilayah yang didukung oleh Content Understanding di Foundry Tools dan endpointhttps://<resource-name>.services.ai.azure.com. Sebarkan model penyematan, dan sebarkan model obrolan multimodal jika Anda mengaktifkan verbalisasi gambar.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 admin.
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.
Jika Anda mengatur
networkAccessModekeprivate, selesaikan persyaratan berikut:Simpan string koneksi SharePoint, aplikasi Microsoft Entra, dan izin SharePoint yang dijelaskan dalam prasyarat sebelumnya. SharePoint Online bukan target tautan privat bersama yang didukung, sehingga mode privat tidak membuat koneksi sumber ini privat.
Untuk setiap titik akhir model yang dilindungi, aktifkan identitas terkelola pada layanan pencarian, berikan peran Pengguna Cognitive Services pada sumber daya, dan buat dan setujui tautan privat bersama. Gunakan ID grup
openai_accountuntuk titik akhir Azure OpenAI danfoundry_accountuntuk titik akhir sumber daya Foundry.
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.
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 SharePoint terindeks.
{
"name": "my-indexed-sharepoint-ks",
"kind": "indexedSharePoint",
"description": "A sample indexed SharePoint knowledge source",
"encryptionKey": null,
"indexedSharePointParameters": {
"connectionString": "<redacted>",
"containerName": "defaultSiteLibrary",
"query": null,
"ingestionParameters": {
"disableImageVerbalization": false,
"ingestionPermissionOptions": [],
"contentExtractionMode": "minimal",
"identity": null,
"embeddingModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "<redacted>",
"deploymentId": "text-embedding-3-large",
"modelName": "text-embedding-3-large",
"authIdentity": null
}
},
"chatCompletionModel": null,
"ingestionSchedule": null,
"assetStore": null,
"aiServices": null
},
"createdResources": {
"datasource": "my-indexed-sharepoint-ks-datasource",
"indexer": "my-indexed-sharepoint-ks-indexer",
"skillset": "my-indexed-sharepoint-ks-skillset",
"index": "my-indexed-sharepoint-ks-index"
}
},
"indexedOneLakeParameters": null
}
Membuat sumber pengetahuan
Jalankan kode berikut untuk membuat sumber pengetahuan SharePoint terindeks.
// Create an IndexedSharePoint knowledge source
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.KnowledgeBases.Models;
using Azure.Identity;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());
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
{
NetworkAccessMode = KnowledgeSourceNetworkAccessMode.Public,
DisableImageVerbalization = false,
ChatCompletionModel = new KnowledgeBaseAzureOpenAIModel(azureOpenAIParameters: chatCompletionParams),
EmbeddingModel = new KnowledgeSourceAzureOpenAIVectorizer
{
AzureOpenAIParameters = embeddingParams
}
};
var sharePointParams = new IndexedSharePointKnowledgeSourceParameters(
connectionString: sharePointConnectionString,
containerName: "defaultSiteLibrary")
{
IngestionParameters = ingestionParams
};
var knowledgeSource = new IndexedSharePointKnowledgeSource(
name: "my-indexed-sharepoint-ks",
indexedSharePointParameters: sharePointParams)
{
Description = "A sample indexed SharePoint knowledge source."
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Knowledge source '{knowledgeSource.Name}' created or updated successfully.");
Referensi:SearchIndexClient, IndexedSharePointKnowledgeSource
# Create an indexed SharePoint knowledge source
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import IndexedSharePointKnowledgeSource, IndexedSharePointKnowledgeSourceParameters, KnowledgeBaseAzureOpenAIModel, AzureOpenAIVectorizerParameters, KnowledgeSourceContentExtractionMode
from azure.search.documents.knowledgebases.models import KnowledgeSourceIngestionParameters, KnowledgeSourceNetworkAccessMode, KnowledgeSourceAzureOpenAIVectorizer
index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
knowledge_source = IndexedSharePointKnowledgeSource(
name = "my-indexed-sharepoint-ks",
description = "A sample indexed SharePoint knowledge source.",
encryption_key = None,
indexed_share_point_parameters = IndexedSharePointKnowledgeSourceParameters(
connection_string = "connection_string",
container_name = "defaultSiteLibrary",
query = None,
ingestion_parameters = KnowledgeSourceIngestionParameters(
network_access_mode = KnowledgeSourceNetworkAccessMode.PUBLIC,
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>",
)
),
embedding_model = KnowledgeSourceAzureOpenAIVectorizer(
azure_open_ai_parameters=AzureOpenAIVectorizerParameters(
resource_url = "<aoai-endpoint>",
deployment_name = "<aoai-embedding-deployment>",
model_name = "<aoai-embedding-model>",
)
),
content_extraction_mode = KnowledgeSourceContentExtractionMode.MINIMAL,
ingestion_schedule = None,
ingestion_permission_options = None
)
)
)
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 SharePoint knowledge source
PUT {{search-endpoint}}/knowledgesources/my-indexed-sharepoint-ks?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
Content-Type: application/json
{
"name": "my-indexed-sharepoint-ks",
"kind": "indexedSharePoint",
"description": "A sample indexed SharePoint knowledge source.",
"encryptionKey": null,
"indexedSharePointParameters": {
"connectionString": "{{sharepoint-federated-connection-string}}",
"containerName": "defaultSiteLibrary",
"query": null,
"ingestionParameters": {
"networkAccessMode": "public",
"identity": null,
"embeddingModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"deploymentId": "text-embedding-3-large",
"modelName": "text-embedding-3-large",
"resourceUri": "{{aoai-endpoint}}"
}
},
"chatCompletionModel": null,
"disableImageVerbalization": false,
"ingestionSchedule": null,
"ingestionPermissionOptions": [],
"contentExtractionMode": "minimal"
}
}
}
Referensi:Sumber Pengetahuan - Buat atau Perbarui
Lindungi dependensi Azure selama proses ingesti
Mulai dari versi API 2026-08-01-preview, networkAccessMode mengatur lingkungan jaringan tempat pengindeks yang dihasilkan untuk sumber pengetahuan SharePoint yang diindeks berjalan. Pengaturan ini hanya memengaruhi proses ingest dan tidak mengubah permintaan atau respons pengambilan data dari basis pengetahuan.
networkAccessMode secara default diatur ke public, yang mempertahankan perilaku jaringan publik yang ada. Ketika networkAccessMode adalah private, pengindeks yang dihasilkan berjalan di lingkungan eksekusi privat. Ini menggunakan tautan privat bersama yang disetujui untuk mengakses dependensi Azure yang didukung, seperti model Azure OpenAI dan sumber daya Microsoft Foundry.
Important
Untuk sumber pengetahuan SharePoint terindeks, mode privat hanya berlaku untuk dependensi Azure yang didukung. SharePoint Online bukan target tautan privat bersama yang didukung, sehingga koneksi sumber SharePoint tetap publik.
Untuk mengonfigurasi dan memverifikasi akses privat ke dependensi Azure yang didukung:
Selesaikan prasyarat jaringan privat.
Atur
networkAccessModekeprivatedalam permintaan pembuatan sumber pengetahuan. Anda hanya dapat mengatur properti ini selama pembuatan. Untuk mengubahnya nanti, hapus dan buat ulang sumber pengetahuan.Pembuatan dapat gagal jika tingkat layanan atau runtime tidak mendukung eksekusi privat atau jika tautan privat bersama yang diperlukan tidak ada.
Konfirmasikan bahwa pengindeks
executionEnvironmentyang dihasilkan adalahprivate.Konfirmasikan bahwa setiap tautan privat bersama yang diperlukan disetujui dan menargetkan dependensi yang benar. Pembuatan yang berhasil saja tidak mengonfirmasi persetujuan tautan atau penargetan.
Periksa status sumber pengetahuan hingga
lastSynchronizationState.endTimebernilai. Konfirmasikan bahwaitemsUpdatesFailedadalah0, lalu verifikasi konten sumber khusus konektor. Sinkronisasi gagal jika dependensi tidak dapat dijangkau.
Menggunakan penganalisis per bahasa otomatis
Mulai dari versi API 2026-08-01-preview, penganalisis otomatis untuk tiap bahasa tersedia untuk blob, OneLake yang diindeks, dan sumber pengetahuan SharePoint yang diindeks. Saat diaktifkan, Pencarian Azure AI mendeteksi bahasa setiap bahasa dokumen sumber dan secara otomatis menerapkan penganalisis bahasa Microsoft yang cocok. Anda tidak menentukan penganalisis dalam definisi sumber pengetahuan atau dalam kueri.
Untuk mengaktifkan penganalisis per bahasa otomatis, atur contentExtractionMode ke minimal dan konfigurasikan ingestionParameters.aiServices dalam definisi sumber pengetahuan.
Untuk autentikasi tanpa kunci, hilangkan aiServices.apiKey dan tetapkan peran Pengguna Cognitive Services pada sumber daya Microsoft Foundry Anda ke identitas terkelola layanan pencarian Anda. Untuk autentikasi berbasis kunci, atur aiServices.apiKey ke kunci yang valid untuk sumber daya Foundry Anda.
Bahasa berikut didukung:
- Bahasa Inggris
- Japanese
- Bahasa Prancis
- Bahasa Spanyol
- German
- Belanda
- Italia
- Portugis Brasil
- Bahasa Portugis Eropa
- Bahasa Tionghoa Sederhana
- Tionghoa Tradisional
- Bahasa Korea
Untuk konten multibahasa, Pencarian Azure AI memilih penganalisis berdasarkan bahasa yang terdeteksi dominan. Ini menggunakan penganalisis standar ketika bahasa tidak didukung atau tidak pasti.
Saat Anda mengaktifkan penganalisis per bahasa otomatis, Pencarian Azure AI menambahkan bidang konten khusus bahasa untuk setiap bahasa yang didukung ke skema indeks yang dihasilkan, baik data Anda berisi dokumen dalam bahasa tersebut atau tidak. Selama proses ingest, dokumen diarahkan ke kolom khusus bahasa yang sesuai berdasarkan bahasa yang terdeteksi.
Bidang bahasa yang tidak digunakan tidak berisi konten terindeks dan memiliki dampak penyimpanan minimal, tetapi bidang tersebut tetap menjadi bagian dari skema indeks dan dihitung terhadap batas bidang indeks. Pertimbangkan bidang tambahan saat Anda merencanakan desain indeks, jumlah bidang, dan persyaratan penyimpanan Anda. Untuk informasi selengkapnya, lihat Batas indeks dan Memperkirakan dan mengelola kapasitas layanan pencarian.
Deteksi bahasa akan dikenakan biaya setelah alokasi gratis untuk pengayaan AI habis. Untuk informasi selengkapnya, lihat Pengayaan gratis.
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}}
Authorization: Bearer {{token}}
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 SharePoint terindeks, pastikan untuk mengatur includeReferenceSourceData ke true. Langkah ini diperlukan untuk menarik URL dokumen sumber ke dalam kutipan.
Meminta pangkalan pengetahuan
Setelah Anda mengonfigurasi pangkalan pengetahuan, panggil tindakan ambil atau titik akhir MCP untuk mengkueri sumber pengetahuan. Pilih konfigurasi yang cocok dengan skenario Anda.
Menerapkan izin tingkat dokumen
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).
Untuk hasil yang hilang, tidak terduga, atau gagal dari kueri izin SharePoint terindeks, lihat Memecahkan masalah pemfilteran izin SharePoint.
Tampilkan gambar yang disematkan dalam dokumen
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. Penyajian gambar tidak didukung saat ingestionPermissionOptions dikonfigurasi. 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 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
Kesalahan yang diketahui
Sumber data dan pengindeks SharePoint yang dihasilkan menggunakan perilaku validasi dan autentikasi penyewa Microsoft Entra yang sama seperti pengindeks SharePoint yang dikonfigurasi secara langsung. Untuk kegagalan terkait tenant, tinjau status indexer yang dihasilkan dan riwayat eksekusinya, lalu ikuti Invalid AAD tenantlangkah remediasi.