Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Note
Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.
Important
Az (előzetes verzióban) megjelölt funkciókra, képességekre vagy tulajdonságokra nem vonatkozik szolgáltatási szintű szerződés, nem ajánlott éles számítási feladatokhoz, és az általános elérhetővé válásuk előtt változhatnak vagy korlátozhatók. Az Azure AI Keresés előzetes verziójú kifejezések az összes előzetes verziós funkcióra vonatkoznak, függetlenül attól, hogy önálló vagy egy általánosan elérhető funkció része.
Egy indexelt Azure SQL-tudásforrás (előzetes verzió) sorokat tölt be az Azure SQL Database-ből vagy az Azure SQL Managed Instance-ből az Azure AI Keresésben működő ügynöki visszakeresési folyamatba. A tudásbázisok egymástól függetlenül jönnek létre, egy tudásbázisban hivatkoznak rá, és földi adatként használják, amikor a tudásbázist futtatókörnyezetben kérdezik le.
A fájlalapú tudásforrásokkal(például Azure Blob Storage és OneLake) ellentétben minden SQL-sor egyetlen logikai dokumentumként lesz kezelve. Az indexsémát nem rögzített dokumentumséma, hanem explicit oszlopleképezések segítségével hajthatja.
Indexelt Azure SQL tudásbázis létrehozásakor meg kell adnia egy SQL-adatforrást, az opcionális oszlopleképezéseket és az opcionális modelleket a következő Azure AI Keresés objektumok automatikus létrehozásához:
- Az SQL-táblát vagy nézetet képviselő adatforrás.
- Olyan index, amelynek mezői az oszlopleképezésekből származnak.
- Beágyazásokat generáló készségkészlet. A szolgáltatás csak akkor hoz létre készségkészletet, ha Ön megadja
embeddingColumns. - Egy indexelő, amely az előző objektumokat használja a betöltési folyamat vezetésére.
A létrehozott indexelő megfelel a Azure SQL indexelőnek, amelynek előfeltételei, változásészlelési szabályzatai és korlátozásai az indexelt Azure SQL tudásbázisokra is vonatkoznak. További információ: Azure SQL indexelő dokumentációja.
Használat támogatása
| Azure Portál | Microsoft Foundry portál | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Prerequisites
Egy Azure AI Keresés szolgáltatás bármely régióban, amely lehetővé teszi az intelligens adatlekérést.
A Azure SQL indexelőfeltételek teljesítése, beleértve a következőket:
Egy Azure SQL Database vagy Azure SQL Managed Instance, amely egy betöltésre szolgáló táblát vagy nézetet tartalmaz.
Egy egyértékű elsődleges kulcs a forrástáblában vagy a nézetben.
Nézetekhez egy, a felsővízjel-alapú változásészlelésre alkalmas oszlop. Erősen ajánljuk egy oszlopot
rowversion.
Engedély tudásbázisok létrehozásához. Konfigurálja a kulcs nélküli hitelesítést a keresési szolgáltatás közreműködője és a keresési index adatszolgáltatói szerepköreivel a felhasználói fiókjához rendelve (ajánlott), vagy használjon rendszergazdai API-kulcsot.
Ha a(z)
embeddingColumnsértéket adja meg, a keresési szolgáltatásnak rendelkeznie kell felügyelt identitással, valamint Cognitive Services User engedélyekkel a beágyazási modellt üzemeltető Microsoft Foundry-erőforráson.Ha a(z)
privatebeállítástnetworkAccessModeértékre állítja, teljesítse a következő követelményeket:Használjon S2, S3, L1 vagy L2 keresési szolgáltatást.
Hozzon létre és hagyjon jóvá egy megosztott privát hivatkozást az SQL Serverhez a
sqlServercsoportazonosítóval. A SQL Managed Instance használja amanagedInstancecsoportazonosítót.SQL-hitelesítést vagy felügyelt identitás-hitelesítést használjon. Felügyelt identitás esetén rendelje hozzá az identitáshoz a szükséges Azure- és adatbázis-szerepköröket, és használjon kapcsolati sztringet a SQL server vagy a
Database=<database-name>erőforrás-azonosítójával. A(z)ingestionParameters.identitybeállítása csak felhasználó által hozzárendelt identitás esetén végezhető el. Ha kihagyja, az indexelő a keresési szolgáltatás rendszer által hozzárendelt identitását használja.Hozzon létre és hagyjon jóvá egy megosztott privát hivatkozást minden védett modellvégponthoz. Használja a csoportazonosítót Azure
openai_accountOpenAI-végpontokhoz ésfoundry_accountaz Foundry-erőforrásvégpontokhoz.
A legújabb
Azure.Search.Documentselőzetes csomag:dotnet add package Azure.Search.Documents --prereleaseKulcs nélküli hitelesítés esetén a
Azure.Identitycsomag:dotnet add package Azure.Identity
A legújabb
azure-search-documentselőzetes csomag:pip install --pre azure-search-documentsKulcs nélküli hitelesítés esetén a
azure-identitycsomag:pip install azure-identity
A Search Service REST API 2026-08-01 előzetes verziója .
Kulcs nélküli hitelesítéshez minden HTTP-kérés fejlécében adjon meg egy
Authorization.
Korlátok és megfontolások
- Egy tudásforrás pontosan egy táblából vagy egy nézetből képes betölteni.
- A forrástáblának vagy nézetnek egyetlen értékű elsődleges kulccsal kell rendelkeznie. Az összetett kulcsok nem támogatottak.
- Az elsődleges kulcs automatikusan felderítve van, és nem bírálható felül.
-
contentExtractionModecsak a(z)"minimal"elemet támogatja. - A kép kinyerése és a képek verbális megjelenítése nem támogatott.
- A valós idejű szinkronizálás nem támogatott. A létrehozott indexelő ütemezésalapú.
- A valós idejű SQL-lekérés nem támogatott. A tudásbázis indexelt, nem távoli.
A létrehozott indexelő előkészítése
Az indexelt Azure SQL tudásforrás automatikusan létrehoz egy indexelőt a betöltési folyamat hajtószereként. A tudásbázis létrehozása előtt tekintse át az alábbi részleteket.
Változásérzékelés
A létrehozott indexelő szabványos Azure SQL indexelőváltozás-észlelést használ:
Táblázatok: A szolgáltatás automatikusan alkalmazza az SQL integrált változáskövetését . A tudásbázis létrehozása előtt engedélyezze az SQL-változáskövetést a forrástáblán.
Nézetek: A szolgáltatás felső küszöbértékes változásészlelést alkalmaz. Adja meg a használni kívánt oszlopot
highWaterMarkColumn. Arowversionoszlop erősen ajánlott. A nézetben történő törlések észleléséhez vegyen fel egy puha törlési jelölő oszlopot a nézetbe az alábbiakban leírtak szerint: A puha törlés oszlopára vonatkozó törlésészlelési szabályzat.
Authentication
A létrehozott indexelő két hitelesítési lehetőséget támogat:
SQL-hitelesítés: Adjon meg egy felhasználónevet és jelszót a kapcsolati karakterláncban.
Felügyelt identitás hitelesítése: Használjon rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitást, amely Azure RBAC- és adatbázisszintű szerepkörökkel rendelkezik az SQL-erőforráshoz.
A kapcsolati sztring formátumairól, a szerepkör-követelményekről és a beállítási lépésekről a Azure SQL-indexelő előfeltételei és a Kapcsolódás felügyelt identitáson keresztül című témakörben talál további információt.
Meglévő tudásbázisok keresése
A tudásbázis egy legfelső szintű, újrafelhasználható objektum. A meglévő tudásbázisok ismerete hasznos lehet az új objektumok újbóli felhasználásához vagy elnevezéséhez.
Futtassa az alábbi kódot a tudásbázisok név és típus szerinti listázásához.
// 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}");
}
Referencia: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})")
Referencia:SearchIndexClient
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
Authorization: Bearer {{token}}
Referencia:Tudásbázisok – Lista
A JSON-definíció áttekintéséhez lekérdezhet egyetlen tudásforrást a név megadásával.
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));
Referencia: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))
Referencia:SearchIndexClient
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
Authorization: Bearer {{token}}
Referencia:Tudásforrások – Get
Az alábbi JSON egy példaválasz egy indexelt Azure SQL tudásbázisra.
{
"name": "indexedsqlks",
"kind": "indexedSql",
"description": "Sample indexed Azure SQL knowledge source.",
"encryptionKey": null,
"indexedSqlParameters": {
"connectionString": "<sql-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": "<aoai-endpoint>",
"deploymentId": "text-embedding-3-large",
"modelName": "text-embedding-3-large"
}
},
"createdResources": {
"datasource": "indexedsqlks-datasource",
"indexer": "indexedsqlks-indexer",
"skillset": "indexedsqlks-skillset",
"index": "indexedsqlks-index"
}
}
}
}
Tudásbázis létrehozása
Futtassa az alábbi kódot egy indexelt Azure SQL tudásbázis létrehozásához.
using Azure.Identity;
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 DefaultAzureCredential());
var embeddingParams = new AzureOpenAIVectorizerParameters
{
ResourceUri = new Uri(aoaiEndpoint),
DeploymentName = aoaiEmbeddingDeployment,
ModelName = aoaiEmbeddingModel
};
var ingestionParams = new KnowledgeSourceIngestionParameters
{
NetworkAccessMode = KnowledgeSourceNetworkAccessMode.Public,
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.");
Referencia:SearchIndexClient, IndexedSqlKnowledgeSource
from azure.identity import DefaultAzureCredential
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,
KnowledgeSourceNetworkAccessMode,
)
index_client = SearchIndexClient(endpoint="<search-endpoint>", credential=DefaultAzureCredential())
embedding_params = AzureOpenAIVectorizerParameters(
resource_url="<aoai-endpoint>",
deployment_name="<aoai-embedding-deployment>",
model_name="<aoai-embedding-model>",
)
ingestion_params = KnowledgeSourceIngestionParameters(
network_access_mode=KnowledgeSourceNetworkAccessMode.PUBLIC,
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.")
Referencia:SearchIndexClient
### Create an indexed Azure SQL knowledge source
PUT {{search-endpoint}}/knowledgesources/indexedsqlks?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
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": {
"networkAccessMode": "public",
"contentExtractionMode": "minimal",
"embeddingModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "{{aoai-endpoint}}",
"deploymentId": "{{aoai-embedding-deployment}}",
"modelName": "{{aoai-embedding-model}}"
}
}
}
}
}
Referencia:Tudásforrások – Létrehozás vagy frissítés
A(z) indexedSqlParameters használatával azonosíthatja a beolvasni kívánt SQL-táblát vagy -nézetet, és meghatározhatja azokat az oszlopleképezéseket, amelyek a létrehozott index mezőivé válnak. Nézetek esetén adja meg a változásészleléshez használt magas vízjelű oszlopot.
Oszlopok leképezése
Az contentColumns használatával képezheti le az SQL szövegoszlopait kereshető mezőkre a létrehozott Azure AI Keresés-indexben. Minden tartalomoszlop-megfeleltetés a célindexmezőt, a forrás SQL-oszlopot és a Azure AI Keresés mezőtípust adja meg. A contentColumns esetében használja a Edm.String.
Beágyazási leképezés
SQL-szövegoszlopok generált vektormezőkké való leképezésére használható embeddingColumns . Adjon meg egy beágyazási modellt a(z) ingestionParameters elemben beágyazási oszlopok használatakor.
Indexelt Azure SQL-tudásforrások esetében a(z) "minimal" értékének contentExtractionMode kell lennie, mert az SQL-beolvasás soralapú, és nem nyer ki tartalmat bináris dokumentumokból. A képkinyerés és a kép verbalizálása nem támogatott, ezért a chatCompletionModel, assetStore, aiServices és a képpel kapcsolatos beállításoknak nincs hatásuk.
Alapértelmezési és érvényesítési szabályok
Indexelt Azure SQL tudásbázis létrehozásakor az alábbi alapértelmezett értékek érvényesek.
Ha kihagyja a(z)
contentColumnselemet, a szolgáltatás automatikusan leképezi a biztonságosan szövegként ábrázolható SQL-oszlopokat a létrehozott indexEdm.Stringmezőire, 1:1 leképezést használva, aholnamemegegyezik ezzel:sourceField.Ha kihagyja
embeddingColumns, a szolgáltatás nem hoz létre vektormezőket, és nem konfigurál beágyazási képességet.embeddingColumnsfüggetlen acontentColumns-től. Ha azt szeretné, hogy a vektorok megfeleljenek a beolvasható szövegnek, mindkét tömbben szerepeltesse ugyanazt az SQL-oszlopot.A forrástábla vagy nézet elsődleges kulcsa automatikusan felderítve lesz. A explicit felülbírálások nem támogatottak, és a forrásnak egyetlen értékű elsődleges kulccsal kell rendelkeznie.
Privát hálózatba való betöltés korlátozása
Az API-verziótól 2026-08-01-preview kezdve szabályozza azt a hálózati környezetet, networkAccessMode amelyben az indexelt Azure SQL tudásbázishoz létrehozott indexelő fut. Ez a beállítás csak az adatbeolvasást érinti, és nem változtatja meg a tudásbázis-lekérdezési kéréseket vagy válaszokat.
networkAccessMode alapértelmezett értéke public, amely megőrzi a meglévő nyilvános hálózati működést. Ha a(z) networkAccessMode értéke private igaz, a létrehozott indexelő a privát végrehajtási környezetben fut. Jóváhagyott megosztott privát hivatkozásokat használ a Azure SQL Database vagy SQL Managed Instance forráskapcsolat eléréséhez, valamint támogatott Azure függőségekhez, például Azure OpenAI-modellekhez és Microsoft Foundry-erőforrásokhoz.
A magánhálózati hozzáférés konfigurálása és ellenőrzése:
A magánhálózat előfeltételeinek teljesítése.
Állítsa a(z)
privateértékétnetworkAccessModeértékre a tudásforrás létrehozási kérésben. Ezt a tulajdonságot csak a létrehozás során állíthatja be. Ha később módosítani szeretné, törölje és hozza létre újra a tudásbázist.A létrehozás meghiúsulhat, ha a szolgáltatási szint vagy a futtatókörnyezet nem támogatja a privát végrehajtást, vagy ha nem létezik egy szükséges megosztott privát kapcsolat.
Győződjön meg arról, hogy a létrehozott indexelő az
executionEnvironmentprivate.Győződjön meg arról, hogy minden szükséges megosztott privát kapcsolat jóvá van hagyva, és a megfelelő függőséget célozza meg. A sikeres létrehozás önmagában nem erősíti meg a hivatkozás jóváhagyását vagy a célzást.
Kérdezze le a tudásforrás állapotát, amíg a(z)
lastSynchronizationState.endTimeértéket nem kap. Győződjön meg róla, majditemsUpdatesFailed0ellenőrizze az összekötő-specifikus forrástartalmat. A szinkronizálás meghiúsul, ha egy függőség nem érhető el.
Adatbetöltési állapot ellenőrzése
Futtassa az alábbi kódot a betöltési folyamat és az állapot figyeléséhez, beleértve a tudásbázistípust és az indexelő folyamatot létrehozó és a keresési indexet feltöltő tudásbázisok részletes indexelési hibáit.
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);
Referencia: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))
Referencia: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
Referencia:Tudásforrások – Állapot lekérése
A betöltési paramétereket tartalmazó és tartalombetöltést aktívan betöltő kérésekre adott válasz az alábbi példához hasonlóan nézhet ki.
{
"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
A kind dokumentumszintű hibaadatokat tartalmazó tulajdonság és currentSynchronizationState.errors[] tömb a 2026-04-01 API-verziótól kezdve érhető el. A korábbi API-verziók esetében ezek a mezők nem jelennek meg. A lastSynchronizationState.status mező 2026-04-01-ben is új.
A létrehozott objektumok áttekintése
A tudásbázis létrehozásakor a Azure AI Keresés automatikusan létrehoz egy adatforrást, képességkészletet, indexelőt és indexet. A létrehozási válasz az egyes objektumokat a createdResources alatt sorolja fel.
Ezek az objektumok rögzített sablon alapján jönnek létre, és a nevük a tudásforrás nevén alapul. Az objektumnevek nem módosíthatók. Kerülje az objektumok közvetlen szerkesztését, mivel a módosítások olyan hibákat vagy inkompatibilitásokat eredményezhetnek, amelyek megszakítják az indexelő folyamatot.
Az objektumlétrehozás ellenőrzéséhez használhatja a Azure portált. A munkafolyamat a következő:
Ellenőrizze az indexelőben a sikeres vagy sikertelen üzeneteket. Itt csatlakozási vagy kvótahibák jelennek meg.
Ellenőrizze az adatforrást az adattárhoz való kapcsolat ellenőrzéséhez. A kapcsolat kapcsolati karakterlánc vagy felügyelt identitást használ a tudásbázis konfigurálásának módjától függően.
Ellenőrizze a képességkészletet, hogy a tartalom hogyan van csoportosítva és igény szerint vektorizálva.
Ellenőrizze az indexben, hogy a tartalom hogyan van indexelve, és hogyan érhető el lekérés céljából, beleértve, hogy mely mezők kereshetők és szűrhetők, és mely mezők tárolják a hasonlóság kereséséhez használt vektorokat. A Search Explorerrel lekérdezéseket futtathat a létrehozott indexen.
Hozzárendelés tudásbázishoz
Ha elégedett a tudásbázissal, adja hozzá egy tudásbázishoz.
Tudásbázis lekérdezése
A tudásbázis konfigurálása után hívja meg a lekérési műveletet vagy az MCP-végpontot a tudásbázis lekérdezéséhez.
Tudásbázis törlése
Mielőtt törölhet egy tudásbázist, törölnie kell minden olyan tudásbázist, amely hivatkozik rá, vagy frissítenie kell a tudásbázis definícióját a hivatkozás eltávolításához. Az index- és indexelőfolyamatot létrehozó tudásbázisok esetében a rendszer az összes létrehozott objektumot is törli. Ha azonban egy meglévő indexet használt egy tudásbázis létrehozásához, az index nem törlődik.
Ha egy használatban lévő tudásbázist próbál törölni, a művelet meghiúsul, és visszaadja az érintett tudásbázisok listáját.
Tudásbázis törlése:
Szerezze be a keresési szolgáltatás összes tudásbázisának listáját.
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}"); }Referencia:SearchIndexClient
Egy példaválasz az alábbihoz hasonlóan nézhet ki:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Szerezze be az egyéni tudásbázisdefiníciót a tudásbázishivatkozások kereséséhez.
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);Referencia:SearchIndexClient
Egy példaválasz az alábbihoz hasonlóan nézhet ki:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Törölje a tudásbázist, vagy ha több tudásbázist használ, frissítse a tudásbázist a forrás eltávolításához. Ez a példa a törlést mutatja be.
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.");Referencia:SearchIndexClient
Törölje a tudásbázist.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Referencia:SearchIndexClient
Szerezze be a keresési szolgáltatás összes tudásbázisának listáját.
# 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}")Referencia:SearchIndexClient
Egy példaválasz az alábbihoz hasonlóan nézhet ki:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Szerezze be az egyéni tudásbázisdefiníciót a tudásbázishivatkozások kereséséhez.
# 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)Referencia:SearchIndexClient
Egy példaválasz az alábbihoz hasonlóan nézhet ki:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Törölje a tudásbázist, vagy ha több tudásbázist használ, frissítse a tudásbázist a forrás eltávolításához. Ez a példa a törlést mutatja be.
# 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.")Referencia:SearchIndexClient
Törölje a tudásbázist.
# 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.")Referencia:SearchIndexClient
Szerezze be a keresési szolgáltatás összes tudásbázisának listáját.
### Get knowledge bases GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name Authorization: Bearer {{token}}Referencia:Tudásbázisok – Lista
Egy példaválasz az alábbihoz hasonlóan nézhet ki:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Szerezze be az egyéni tudásbázisdefiníciót a tudásbázishivatkozások kereséséhez.
### Get a knowledge base definition GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Referencia:Tudásbázisok – Get
Egy példaválasz az alábbihoz hasonlóan nézhet ki:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Törölje a tudásbázist, vagy ha több tudásbázist használ, frissítse a tudásbázist a forrás eltávolításához. Ez a példa a törlést mutatja be.
### Delete a knowledge base DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Referencia:Tudásbázisok – Törlés
Törölje a tudásbázist.
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Referencia:Tudásforrások – Törlés