비고
이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.
Blob 지식 원본을 사용하여 에이전트 검색 파이프라인에서 Azure Blob 콘텐츠를 인덱싱하고 쿼리합니다. 지식 원본 은 독립적으로 생성되고, 기술 자료에서 참조되며, 에이전트 또는 챗봇이 쿼리 시 검색 작업을 호출할 때 접지 데이터로 사용됩니다.
기존 및 정규화된 인덱스를 지정하는 검색 인덱스 지식 원본과 달리 Blob 지식 원본은 외부 데이터 원본, 모델 및 속성을 지정하여 다음 Azure AI Search 개체를 자동으로 생성합니다.
- Blob 컨테이너를 나타내는 데이터 원본입니다.
- 컨테이너에서 다중 모달 콘텐츠를 청크하고 필요에 따라 벡터화하는 기술 세트입니다.
- 보강된 콘텐츠를 저장하고 에이전트 검색 조건을 충족하는 인덱스입니다.
- 이전 개체를 사용하여 인덱싱 및 보강 파이프라인을 구동하는 인덱서입니다.
비고
Azure Storage의 문서(Blob) 수준에서 사용자 액세스가 지정된 경우 지식 원본은 Azure AI Search의 인덱싱된 콘텐츠로 권한 메타데이터를 전달할 수 있습니다. 자세한 내용은 ADLS Gen2 권한 메타데이터 또는 Blob RBAC 범위를 참조하세요.
필수 조건
에이전트 검색을 제공하는 모든 지역의 Azure AI 검색. 의미 체계 순위가 활성화되어 있어야 합니다.
Azure Blob Storage 또는 ADLS(Azure Data Lake Storage) Gen2 계정.
텍스트 콘텐츠에 대해 지원되는 콘텐츠 형식이 있는 Blob 컨테이너입니다. 선택적 이미지 언어화의 경우 지원되는 콘텐츠 유형은 채팅 완성 모델이 이미지 파일을 분석하고 설명할 수 있는지 여부에 따라 달라집니다.
.NET SDK용
Azure.Search.Documents클라이언트 라이브러리 의 최신 미리 보기 버전입니다.Azure AI Search에서 개체를 만들고 사용할 수 있는 권한입니다. 역할 기반 액세스를 권장하지만 역할 할당이 불가능한 경우 API 키를 사용할 수 있습니다. 자세한 내용은 검색 서비스에 연결을 참조하세요.
기존 지식 원본 확인
지식 원본은 재사용 가능한 최상위 개체입니다. 기존 지식 원본에 대해 아는 것은 새 개체를 다시 사용하거나 이름을 지정하는 데 유용합니다.
다음 코드를 실행하여 이름 및 형식별로 기술 자료를 나열합니다.
// 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}");
}
이름으로 단일 지식 원본을 반환하여 JSON 정의를 검토할 수도 있습니다.
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));
다음 JSON은 Blob 지식 원본에 대한 예제 응답입니다.
{
"name": "my-blob-ks",
"kind": "azureBlob",
"description": "A sample blob knowledge source.",
"encryptionKey": null,
"azureBlobParameters": {
"connectionString": "<REDACTED>",
"containerName": "blobcontainer",
"folderPath": null,
"isADLSGen2": false,
"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",
"authIdentity": null
}
},
"chatCompletionModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "<REDACTED>",
"deploymentId": "gpt-5-mini",
"apiKey": "<REDACTED>",
"modelName": "gpt-5-mini",
"authIdentity": null
}
},
"ingestionSchedule": null,
"assetStore": null,
"aiServices": {
"uri": "<REDACTED>",
"apiKey": "<REDACTED>"
}
},
"createdResources": {
"datasource": "my-blob-ks-datasource",
"indexer": "my-blob-ks-indexer",
"skillset": "my-blob-ks-skillset",
"index": "my-blob-ks-index"
}
}
}
비고
중요한 정보가 수정됩니다. 생성된 리소스는 응답의 끝에 표시됩니다.
지식 원본 만들기
다음 코드를 실행하여 Blob 지식 소스를 생성하십시오.
// Create a blob knowledge source
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.KnowledgeBases.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
}
};
var blobParams = new AzureBlobKnowledgeSourceParameters(
connectionString: connectionString,
containerName: containerName
)
{
IsAdlsGen2 = false,
IngestionParameters = ingestionParams
};
var knowledgeSource = new AzureBlobKnowledgeSource(
name: "my-blob-ks",
azureBlobParameters: blobParams
)
{
Description = "This knowledge source pulls from a blob storage container."
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Knowledge source '{knowledgeSource.Name}' created or updated successfully.");
원본별 속성
다음 속성을 전달하여 Blob 지식 원본을 만들 수 있습니다.
| 이름 | Description | 유형 | 편집 가능 | 필수 |
|---|---|---|---|---|
name |
지식 원본 컬렉션 내에서 고유해야 하며 Azure AI Search의 개체에 대한 명명 지침을 따라야 하는 지식 원본의 이름입니다. | String | 아니오 | Yes |
Description |
지식 원본에 대한 설명입니다. | String | Yes | 아니오 |
encryptionKey |
기술 원본과 생성된 개체 모두에서 중요한 정보를 암호화하는 고객 관리형 키 입니다. | Object | Yes | 아니오 |
chatCompletionParams |
검색 추론 작업이 낮거나 중간인 경우 쿼리 계획 및 선택적 응답 합성에 사용되는 채팅 완성 모델과 관련된 매개 변수입니다. | Object | 아니오 | |
embeddingParams |
콘텐츠 청크를 벡터화하려는 경우 사용되는 모델 포함과 관련된 매개 변수입니다. | Object | 아니오 | |
azureBlobParameters |
Blob 지식 원본에 대한 특정 매개 변수: connectionString, containerName, folderPath 및 isAdlsGen2. |
Object | 아니오 | |
connectionString |
키 기반 연결 문자열 또는 관리 ID를 사용하는 경우 리소스 ID입니다. | String | 아니오 | Yes |
containerName |
Blob Storage 컨테이너의 이름입니다. | String | 아니오 | Yes |
folderPath |
컨테이너 내의 폴더입니다. | String | 아니오 | 아니오 |
isAdlsGen2 |
기본값은 False입니다.
True ADLS Gen2 스토리지 계정을 사용하는 경우로 설정합니다. |
불리언 (Boolean) | 아니오 | 아니오 |
ingestionParameters 속성
인덱싱된 기술 자료의 경우에만 다음 ingestionParameters 속성을 전달하여 콘텐츠를 수집하고 처리하는 방법을 제어할 수 있습니다.
| 이름 | Description | 유형 | 편집 가능 | 필수 |
|---|---|---|---|---|
Identity |
생성된 인덱서에서 사용할 관리 ID 입니다. | Object | Yes | 아니오 |
DisableImageVerbalization |
이미지 설명 기능을 활성화하거나 비활성화합니다. 기본값은 False이미지 언어화를 사용하도록 설정하는 것입니다. 이미지 구두화를 True하려면 로 설정합니다. |
불리언 (Boolean) | 아니오 | 아니오 |
ChatCompletionModel |
이미지를 구두로 처리하거나 콘텐츠를 추출하는 채팅 완성 모델입니다. 지원되는 모델은 gpt-4o, gpt-4o-mini,gpt-4.1, gpt-4.1-minigpt-4.1-nano, gpt-5, gpt-5-mini및 gpt-5-nano.
GenAI 프롬프트 기술이 생성된 기술 세트에 포함됩니다. 또한 이 매개 변수를 설정하려면 이 disable_image_verbalization 매개 변수를 .로 설정해야 합니다 False. |
Object |
api_key 및 deployment_name만 편집할 수 있습니다. |
아니오 |
EmbeddingModel |
인덱싱 중 및 쿼리 시간에 텍스트 및 이미지 콘텐츠를 벡터화하는 텍스트 포함 모델입니다. 지원되는 모델은 text-embedding-ada-002, text-embedding-3-small및 text-embedding-3-large.
Azure OpenAI 포함 기술은 생성된 기술 집합에 포함되며, Azure OpenAI 벡터라이저는 생성된 인덱스로 포함됩니다. |
Object |
api_key 및 deployment_name만 편집할 수 있습니다. |
아니오 |
ContentExtractionMode |
파일에서 콘텐츠를 추출하는 방법을 제어합니다. 기본값은 minimal텍스트 및 이미지에 표준 콘텐츠 추출을 사용하는 것입니다. 생성된 기술 세트에 포함될 standard을 사용하여 고급 문서 크래킹 및 청크를 위해 로 설정합니다.
standard에 대해서만 AiServices 및 AssetStore 매개 변수를 지정할 수 있습니다. |
String | 아니오 | 아니오 |
AiServices |
Foundry 도구에서 Azure Content Understanding에 액세스하기 위한 Microsoft Foundry 리소스입니다. 이 매개 변수를 설정하려면 이 ContentExtractionMode 매개 변수를 .로 설정해야 합니다 standard. |
Object |
api_key만 편집 가능 |
Yes |
IngestionSchedule |
생성된 인덱서에 예약 정보를 추가합니다. 나중에 일정을 추가하여 데이터 새로 고침을 자동화할 수도 있습니다. | Object | Yes | 아니오 |
IngestionPermissionOptions |
ADLS Gen2 또는 인덱싱된 SharePoint와 같은 선택한 지식 출처에서 데이터를 수집할 수 있는 문서 수준 권한입니다. 생성된 user_ids 또는 group_idsrbac_scope 지정하는 경우 수집된 권한이 포함됩니다. |
Array | 아니오 | 아니오 |
수집 상태 확인
인덱서 파이프라인을 생성하고 검색 인덱스를 채우는 지식 원본의 인덱서 상태를 포함하여 수집 진행률 및 상태를 모니터링하려면 다음 코드를 실행합니다.
// Get knowledge source ingestion status
using Azure.Search.Documents.Indexes;
using System.Text.Json;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));
// Get the knowledge source 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);
수집 매개 변수를 포함하고 콘텐츠를 적극적으로 수집하는 요청에 대한 응답은 다음 예제와 같습니다.
{
"synchronizationStatus": "active", // creating, active, deleting
"synchronizationInterval" : "1d", // null if no schedule
"currentSynchronizationState" : { // spans multiple indexer "runs"
"startTime": "2025-10-27T19:30:00Z",
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
},
"lastSynchronizationState" : { // null on first sync
"startTime": "2025-10-27T19:30:00Z",
"endTime": "2025-10-27T19:40:01Z", // this value appears on the activity record on each /retrieve
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
},
"statistics": { // null on first sync
"totalSynchronization": 25,
"averageSynchronizationDuration": "00:15:20",
"averageItemsProcessedPerSynchronization" : 500
}
}
만들어진 개체를 검토하십시오
Blob 기술 원본을 만들 때 검색 서비스는 인덱서, 인덱스, 기술 세트 및 데이터 원본도 만듭니다. 오류 또는 비호환성을 도입하면 파이프라인이 중단 될 수 있으므로 이러한 개체를 편집하지 않는 것이 좋습니다.
기술 자료를 만든 후에는 생성된 개체가 응답에 나열됩니다. 이러한 개체는 고정 템플릿에 따라 만들어지고 해당 이름은 기술 자료의 이름을 기반으로 합니다. 개체 이름은 변경할 수 없습니다.
Azure Portal을 사용하여 출력 생성의 유효성을 검사하는 것이 좋습니다. 워크플로는 다음과 같습니다.
- 인덱서에서 성공 또는 실패 메시지를 확인합니다. 연결 또는 할당량 오류가 여기에 표시됩니다.
- 인덱스에서 검색 가능한 콘텐츠를 확인합니다. 검색 탐색기를 사용하여 쿼리를 실행합니다.
- 역량 집합을 확인하여 콘텐츠가 청크로 분할되고 옵션으로 벡터화되는 방법을 알아봅니다.
- 데이터 원본에서 연결 세부 정보를 확인합니다. 이 예제에서는 단순성을 위해 API 키를 사용하지만 인증에 Microsoft Entra ID를 사용하고 권한 부여를 위한 역할 기반 액세스 제어를 사용할 수 있습니다.
기술 자료에 할당
기술 자료에 만족하는 경우 기술 자료에서 기술 원본을 지정하는 다음 단계를 계속 진행 합니다.
기술 자료가 구성되면 검색 작업을 사용하여 기술 원본을 쿼리합니다.
지식 원본 삭제
기술 자료를 삭제하려면 먼저 이를 참조하는 기술 자료를 삭제하거나 기술 자료 정의를 업데이트하여 참조를 제거해야 합니다. 인덱스 및 인덱서 파이프라인을 생성하는 기술 원본의 경우 생성된 모든 개체 도 삭제됩니다. 그러나 기존 인덱스로 기술 원본을 만든 경우 인덱스가 삭제되지 않습니다.
사용 중인 기술 원본을 삭제하려고 하면 작업이 실패하고 영향을 받는 기술 자료 목록이 반환됩니다.
기술 자료를 삭제하려면 다음을 수행합니다.
검색 서비스의 모든 기술 자료 목록을 가져옵니다.
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}"); }예제 응답은 다음과 같을 수 있습니다.
Knowledge Bases: - earth-knowledge-base - hotels-sample-knowledge-base - my-demo-knowledge-base개별 기술 자료 정의를 가져와서 기술 자료 참조를 확인합니다.
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);예제 응답은 다음과 같을 수 있습니다.
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }기술 자료를 삭제하거나 기술 자료를 업데이트 하여 여러 원본이 있는 경우 기술 자료를 제거합니다. 이 예제에서는 삭제를 보여줍니다.
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.");지식 원본을 삭제합니다.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");
비고
이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.
Blob 지식 원본을 사용하여 에이전트 검색 파이프라인에서 Azure Blob 콘텐츠를 인덱싱하고 쿼리합니다. 지식 원본 은 독립적으로 생성되고, 기술 자료에서 참조되며, 에이전트 또는 챗봇이 쿼리 시 검색 작업을 호출할 때 접지 데이터로 사용됩니다.
기존 및 정규화된 인덱스를 지정하는 검색 인덱스 지식 원본과 달리 Blob 지식 원본은 외부 데이터 원본, 모델 및 속성을 지정하여 다음 Azure AI Search 개체를 자동으로 생성합니다.
- Blob 컨테이너를 나타내는 데이터 원본입니다.
- 컨테이너에서 다중 모달 콘텐츠를 청크하고 필요에 따라 벡터화하는 기술 세트입니다.
- 보강된 콘텐츠를 저장하고 에이전트 검색 조건을 충족하는 인덱스입니다.
- 이전 개체를 사용하여 인덱싱 및 보강 파이프라인을 구동하는 인덱서입니다.
비고
Azure Storage의 문서(Blob) 수준에서 사용자 액세스가 지정된 경우 지식 원본은 Azure AI Search의 인덱싱된 콘텐츠로 권한 메타데이터를 전달할 수 있습니다. 자세한 내용은 ADLS Gen2 권한 메타데이터 또는 Blob RBAC 범위를 참조하세요.
필수 조건
에이전트 검색을 제공하는 모든 지역의 Azure AI 검색. 의미 체계 순위가 활성화되어 있어야 합니다.
Azure Blob Storage 또는 ADLS(Azure Data Lake Storage) Gen2 계정.
텍스트 콘텐츠에 대해 지원되는 콘텐츠 형식이 있는 Blob 컨테이너입니다. 선택적 이미지 언어화의 경우 지원되는 콘텐츠 유형은 채팅 완성 모델이 이미지 파일을 분석하고 설명할 수 있는지 여부에 따라 달라집니다.
Python용 클라이언트 라이브러리의
azure-search-documents최신 미리 보기 버전입니다.Azure AI Search에서 개체를 만들고 사용할 수 있는 권한입니다. 역할 기반 액세스를 권장하지만 역할 할당이 불가능한 경우 API 키를 사용할 수 있습니다. 자세한 내용은 검색 서비스에 연결을 참조하세요.
기존 지식 원본 확인
지식 원본은 재사용 가능한 최상위 개체입니다. 기존 지식 원본에 대해 아는 것은 새 개체를 다시 사용하거나 이름을 지정하는 데 유용합니다.
다음 코드를 실행하여 이름 및 형식별로 기술 자료를 나열합니다.
# List knowledge sources by name and type
import requests
import json
endpoint = "{search_url}/knowledgesources"
params = {"api-version": "2025-11-01-preview", "$select": "name, kind"}
headers = {"api-key": "{api_key}"}
response = requests.get(endpoint, params = params, headers = headers)
print(json.dumps(response.json(), indent = 2))
이름으로 단일 지식 원본을 반환하여 JSON 정의를 검토할 수도 있습니다.
# Get a knowledge source definition
import requests
import json
endpoint = "{search_url}/knowledgesources/{knowledge_source_name}"
params = {"api-version": "2025-11-01-preview"}
headers = {"api-key": "{api_key}"}
response = requests.get(endpoint, params = params, headers = headers)
print(json.dumps(response.json(), indent = 2))
다음 JSON은 Blob 지식 원본에 대한 예제 응답입니다.
{
"name": "my-blob-ks",
"kind": "azureBlob",
"description": "A sample blob knowledge source.",
"encryptionKey": null,
"azureBlobParameters": {
"connectionString": "<REDACTED>",
"containerName": "blobcontainer",
"folderPath": null,
"isADLSGen2": false,
"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",
"authIdentity": null
}
},
"chatCompletionModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "<REDACTED>",
"deploymentId": "gpt-5-mini",
"apiKey": "<REDACTED>",
"modelName": "gpt-5-mini",
"authIdentity": null
}
},
"ingestionSchedule": null,
"assetStore": null,
"aiServices": {
"uri": "<REDACTED>",
"apiKey": "<REDACTED>"
}
},
"createdResources": {
"datasource": "my-blob-ks-datasource",
"indexer": "my-blob-ks-indexer",
"skillset": "my-blob-ks-skillset",
"index": "my-blob-ks-index"
}
}
}
비고
중요한 정보가 수정됩니다. 생성된 리소스는 응답의 끝에 표시됩니다.
지식 원본 만들기
다음 코드를 실행하여 Blob 기술 자료를 만듭니다.
# Create a blob knowledge source
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import AzureBlobKnowledgeSource, AzureBlobKnowledgeSourceParameters, KnowledgeBaseAzureOpenAIModel, AzureOpenAIVectorizerParameters, KnowledgeSourceAzureOpenAIVectorizer, KnowledgeSourceContentExtractionMode, KnowledgeSourceIngestionParameters
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
knowledge_source = AzureBlobKnowledgeSource(
name = "my-blob-ks",
description = "This knowledge source pulls from a blob storage container.",
encryption_key = None,
azure_blob_parameters = AzureBlobKnowledgeSourceParameters(
connection_string = "blob_connection_string",
container_name = "blob_container_name",
folder_path = None,
is_adls_gen2 = False,
ingestion_parameters = KnowledgeSourceIngestionParameters(
identity = None,
disable_image_verbalization = False,
chat_completion_model = KnowledgeBaseAzureOpenAIModel(
azure_open_ai_parameters = AzureOpenAIVectorizerParameters(
# TRIMMED FOR BREVITY
)
),
embedding_model = KnowledgeSourceAzureOpenAIVectorizer(
azure_open_ai_parameters=AzureOpenAIVectorizerParameters(
# TRIMMED FOR BREVITY
)
),
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.")
원본별 속성
다음 속성을 전달하여 Blob 지식 원본을 만들 수 있습니다.
| 이름 | Description | 유형 | 편집 가능 | 필수 |
|---|---|---|---|---|
name |
지식 원본 컬렉션 내에서 고유해야 하며 Azure AI Search의 개체에 대한 명명 지침을 따라야 하는 지식 원본의 이름입니다. | String | 아니오 | Yes |
description |
지식 원본에 대한 설명입니다. | String | Yes | 아니오 |
encryption_key |
기술 원본과 생성된 개체 모두에서 중요한 정보를 암호화하는 고객 관리형 키 입니다. | Object | Yes | 아니오 |
azure_blob_parameters |
Blob 지식 원본에 대한 특정 매개 변수: connection_string, container_name, folder_path 및 is_adls_gen2. |
Object | 아니오 | |
connection_string |
키 기반 연결 문자열 또는 관리 ID를 사용하는 경우 리소스 ID입니다. | String | 아니오 | Yes |
container_name |
Blob Storage 컨테이너의 이름입니다. | String | 아니오 | Yes |
folder_path |
컨테이너 내의 폴더입니다. | String | 아니오 | 아니오 |
is_adls_gen2 |
기본값은 False입니다.
True ADLS Gen2 스토리지 계정을 사용하는 경우로 설정합니다. |
불리언 (Boolean) | 아니오 | 아니오 |
ingestionParameters 속성
인덱싱된 기술 자료의 경우에만 다음 ingestionParameters 속성을 전달하여 콘텐츠를 수집하고 처리하는 방법을 제어할 수 있습니다.
| 이름 | Description | 유형 | 편집 가능 | 필수 |
|---|---|---|---|---|
identity |
생성된 인덱서에서 사용할 관리 ID 입니다. | Object | Yes | 아니오 |
disable_image_verbalization |
이미지 설명 기능을 활성화하거나 비활성화합니다. 기본값은 False이미지 언어화를 사용하도록 설정하는 것입니다. 이미지 구두화를 True하려면 로 설정합니다. |
불리언 (Boolean) | 아니오 | 아니오 |
chat_completion_model |
이미지를 구두로 처리하거나 콘텐츠를 추출하는 채팅 완성 모델입니다. 지원되는 모델은 gpt-4o, gpt-4o-mini,gpt-4.1, gpt-4.1-minigpt-4.1-nano, gpt-5, gpt-5-mini및 gpt-5-nano.
GenAI 프롬프트 기술이 생성된 기술 세트에 포함됩니다. 또한 이 매개 변수를 설정하려면 이 disable_image_verbalization 매개 변수를 .로 설정해야 합니다 False. |
Object |
api_key 및 deployment_name만 편집할 수 있습니다. |
아니오 |
embedding_model |
인덱싱 중 및 쿼리 시간에 텍스트 및 이미지 콘텐츠를 벡터화하는 텍스트 포함 모델입니다. 지원되는 모델은 text-embedding-ada-002, text-embedding-3-small및 text-embedding-3-large.
Azure OpenAI 포함 기술은 생성된 기술 집합에 포함되며, Azure OpenAI 벡터라이저는 생성된 인덱스로 포함됩니다. |
Object |
api_key 및 deployment_name만 편집할 수 있습니다. |
아니오 |
content_extraction_mode |
파일에서 콘텐츠를 추출하는 방법을 제어합니다. 기본값은 minimal텍스트 및 이미지에 표준 콘텐츠 추출을 사용하는 것입니다. 생성된 기술 세트에 포함될 standard을 사용하여 고급 문서 크래킹 및 청크를 위해 로 설정합니다.
standard에 대해서만 ai_services 및 asset_store 매개 변수를 지정할 수 있습니다. |
String | 아니오 | 아니오 |
ai_services |
Foundry 도구에서 Azure Content Understanding에 액세스하기 위한 Microsoft Foundry 리소스입니다. 이 매개 변수를 설정하려면 이 content_extraction_mode 매개 변수를 .로 설정해야 합니다 standard. |
Object |
api_key만 편집 가능 |
Yes |
asset_store |
추출된 이미지를 저장할 Blob 컨테이너입니다. 이 매개 변수를 설정하려면 이 content_extraction_mode 매개 변수를 .로 설정해야 합니다 standard. |
Object | 아니오 | 아니오 |
ingestion_schedule |
생성된 인덱서에 예약 정보를 추가합니다. 나중에 일정을 추가하여 데이터 새로 고침을 자동화할 수도 있습니다. | Object | Yes | 아니오 |
ingestion_permission_options |
ADLS Gen2 또는 인덱싱된 SharePoint와 같은 선택한 지식 출처에서 데이터를 수집할 수 있는 문서 수준 권한입니다. 생성된 user_ids 또는 group_idsrbac_scope 지정하는 경우 수집된 권한이 포함됩니다. |
Array | 아니오 | 아니오 |
수집 상태 확인
인덱서 파이프라인을 생성하고 검색 인덱스를 채우는 지식 원본의 인덱서 상태를 포함하여 수집 진행률 및 상태를 모니터링하려면 다음 코드를 실행합니다.
# Check knowledge source ingestion status
import requests
import json
endpoint = "{search_url}/knowledgesources/{knowledge_source_name}/status"
params = {"api-version": "2025-11-01-preview"}
headers = {"api-key": "{api_key}"}
response = requests.get(endpoint, params = params, headers = headers)
print(json.dumps(response.json(), indent = 2))
수집 매개 변수를 포함하고 콘텐츠를 적극적으로 수집하는 요청에 대한 응답은 다음 예제와 같습니다.
{
"synchronizationStatus": "active", // creating, active, deleting
"synchronizationInterval" : "1d", // null if no schedule
"currentSynchronizationState" : { // spans multiple indexer "runs"
"startTime": "2025-10-27T19:30:00Z",
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
},
"lastSynchronizationState" : { // null on first sync
"startTime": "2025-10-27T19:30:00Z",
"endTime": "2025-10-27T19:40:01Z", // this value appears on the activity record on each /retrieve
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
},
"statistics": { // null on first sync
"totalSynchronization": 25,
"averageSynchronizationDuration": "00:15:20",
"averageItemsProcessedPerSynchronization" : 500
}
}
만들어진 개체를 검토하십시오
Blob 기술 원본을 만들 때 검색 서비스는 인덱서, 인덱스, 기술 세트 및 데이터 원본도 만듭니다. 오류 또는 비호환성을 도입하면 파이프라인이 중단 될 수 있으므로 이러한 개체를 편집하지 않는 것이 좋습니다.
기술 자료를 만든 후에는 생성된 개체가 응답에 나열됩니다. 이러한 개체는 고정 템플릿에 따라 만들어지고 해당 이름은 기술 자료의 이름을 기반으로 합니다. 개체 이름은 변경할 수 없습니다.
Azure Portal을 사용하여 출력 생성의 유효성을 검사하는 것이 좋습니다. 워크플로는 다음과 같습니다.
- 인덱서에서 성공 또는 실패 메시지를 확인합니다. 연결 또는 할당량 오류가 여기에 표시됩니다.
- 인덱스에서 검색 가능한 콘텐츠를 확인합니다. 검색 탐색기를 사용하여 쿼리를 실행합니다.
- 역량 집합을 확인하여 콘텐츠가 청크로 분할되고 옵션으로 벡터화되는 방법을 알아봅니다.
- 데이터 원본에서 연결 세부 정보를 확인합니다. 이 예제에서는 단순성을 위해 API 키를 사용하지만 인증에 Microsoft Entra ID를 사용하고 권한 부여를 위한 역할 기반 액세스 제어를 사용할 수 있습니다.
기술 자료에 할당
기술 자료에 만족하는 경우 기술 자료에서 기술 원본을 지정하는 다음 단계를 계속 진행 합니다.
기술 자료가 구성되면 검색 작업을 사용하여 기술 원본을 쿼리합니다.
지식 원본 삭제
기술 자료를 삭제하려면 먼저 이를 참조하는 기술 자료를 삭제하거나 기술 자료 정의를 업데이트하여 참조를 제거해야 합니다. 인덱스 및 인덱서 파이프라인을 생성하는 기술 원본의 경우 생성된 모든 개체 도 삭제됩니다. 그러나 기존 인덱스로 기술 원본을 만든 경우 인덱스가 삭제되지 않습니다.
사용 중인 기술 원본을 삭제하려고 하면 작업이 실패하고 영향을 받는 기술 자료 목록이 반환됩니다.
기술 자료를 삭제하려면 다음을 수행합니다.
검색 서비스의 모든 기술 자료 목록을 가져옵니다.
# Get knowledge bases import requests import json endpoint = "{search_url}/knowledgebases" params = {"api-version": "2025-11-01-preview", "$select": "name"} headers = {"api-key": "{api_key}"} response = requests.get(endpoint, params = params, headers = headers) print(json.dumps(response.json(), indent = 2))예제 응답은 다음과 같을 수 있습니다.
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }개별 기술 자료 정의를 가져와서 기술 자료 참조를 확인합니다.
# Get a knowledge base definition import requests import json endpoint = "{search_url}/knowledgebases/{knowledge_base_name}" params = {"api-version": "2025-11-01-preview"} headers = {"api-key": "{api_key}"} response = requests.get(endpoint, params = params, headers = headers) print(json.dumps(response.json(), indent = 2))예제 응답은 다음과 같을 수 있습니다.
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }기술 자료를 삭제하거나 기술 자료를 업데이트 하여 여러 원본이 있는 경우 기술 자료를 제거합니다. 이 예제에서는 삭제를 보여줍니다.
# 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.")지식 원본을 삭제합니다.
# 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.")
비고
이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.
Blob 지식 원본을 사용하여 에이전트 검색 파이프라인에서 Azure Blob 콘텐츠를 인덱싱하고 쿼리합니다. 지식 원본 은 독립적으로 생성되고, 기술 자료에서 참조되며, 에이전트 또는 챗봇이 쿼리 시 검색 작업을 호출할 때 접지 데이터로 사용됩니다.
기존 및 정규화된 인덱스를 지정하는 검색 인덱스 지식 원본과 달리 Blob 지식 원본은 외부 데이터 원본, 모델 및 속성을 지정하여 다음 Azure AI Search 개체를 자동으로 생성합니다.
- Blob 컨테이너를 나타내는 데이터 원본입니다.
- 컨테이너에서 다중 모달 콘텐츠를 청크하고 필요에 따라 벡터화하는 기술 세트입니다.
- 보강된 콘텐츠를 저장하고 에이전트 검색 조건을 충족하는 인덱스입니다.
- 이전 개체를 사용하여 인덱싱 및 보강 파이프라인을 구동하는 인덱서입니다.
비고
Azure Storage의 문서(Blob) 수준에서 사용자 액세스가 지정된 경우 지식 원본은 Azure AI Search의 인덱싱된 콘텐츠로 권한 메타데이터를 전달할 수 있습니다. 자세한 내용은 ADLS Gen2 권한 메타데이터 또는 Blob RBAC 범위를 참조하세요.
필수 조건
에이전트 검색을 제공하는 모든 지역의 Azure AI 검색. 의미 체계 순위가 활성화되어 있어야 합니다.
Azure Blob Storage 또는 ADLS(Azure Data Lake Storage) Gen2 계정.
텍스트 콘텐츠에 대해 지원되는 콘텐츠 형식이 있는 Blob 컨테이너입니다. 선택적 이미지 언어화의 경우 지원되는 콘텐츠 유형은 채팅 완성 모델이 이미지 파일을 분석하고 설명할 수 있는지 여부에 따라 달라집니다.
Search Service REST API의 2025-11-01-preview 버전입니다.
Azure AI Search에서 개체를 만들고 사용할 수 있는 권한입니다. 역할 기반 액세스를 권장하지만 역할 할당이 불가능한 경우 API 키를 사용할 수 있습니다. 자세한 내용은 검색 서비스에 연결을 참조하세요.
기존 지식 원본 확인
지식 원본은 재사용 가능한 최상위 개체입니다. 기존 지식 원본에 대해 아는 것은 새 개체를 다시 사용하거나 이름을 지정하는 데 유용합니다.
기술 자료 사용 - GET(REST API)을 사용하여 이름 및 형식별로 기술 자료를 나열합니다.
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version=2025-11-01-preview&$select=name,kind
api-key: {{api-key}}
이름으로 단일 지식 원본을 반환하여 JSON 정의를 검토할 수도 있습니다.
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview
api-key: {{api-key}}
다음 JSON은 Blob 지식 원본에 대한 예제 응답입니다.
{
"name": "my-blob-ks",
"kind": "azureBlob",
"description": "A sample blob knowledge source.",
"encryptionKey": null,
"azureBlobParameters": {
"connectionString": "<REDACTED>",
"containerName": "blobcontainer",
"folderPath": null,
"isADLSGen2": false,
"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",
"authIdentity": null
}
},
"chatCompletionModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "<REDACTED>",
"deploymentId": "gpt-5-mini",
"apiKey": "<REDACTED>",
"modelName": "gpt-5-mini",
"authIdentity": null
}
},
"ingestionSchedule": null,
"assetStore": null,
"aiServices": {
"uri": "<REDACTED>",
"apiKey": "<REDACTED>"
}
},
"createdResources": {
"datasource": "my-blob-ks-datasource",
"indexer": "my-blob-ks-indexer",
"skillset": "my-blob-ks-skillset",
"index": "my-blob-ks-index"
}
}
}
비고
중요한 정보가 수정됩니다. 생성된 리소스는 응답의 끝에 표시됩니다.
지식 원본 만들기
기술 자료 사용 - REST API(만들기 또는 업데이트)를 사용하여 Blob 지식 원본을 만듭니다.
PUT {{search-url}}/knowledgesources/my-blob-ks?api-version=2025-11-01-preview
api-key: {{api-key}}
Content-Type: application/json
{
"name": "my-blob-ks",
"kind": "azureBlob",
"description": "This knowledge source pulls from a blob storage container.",
"encryptionKey": null,
"azureBlobParameters": {
"connectionString": "<YOUR AZURE STORAGE CONNECTION STRING>",
"containerName": "<YOUR BLOB CONTAINER NAME>",
"folderPath": null,
"isADLSGen2": false,
"ingestionParameters": {
"identity": null,
"disableImageVerbalization": null,
"chatCompletionModel": { TRIMMED FOR BREVITY },
"embeddingModel": { TRIMMED FOR BREVITY },
"contentExtractionMode": "minimal",
"ingestionSchedule": null,
"ingestionPermissionOptions": []
}
}
}
원본별 속성
다음 속성을 전달하여 Blob 지식 원본을 만들 수 있습니다.
| 이름 | Description | 유형 | 편집 가능 | 필수 |
|---|---|---|---|---|
name |
지식 원본 컬렉션 내에서 고유해야 하며 Azure AI Search의 개체에 대한 명명 지침을 따라야 하는 지식 원본의 이름입니다. | String | 아니오 | Yes |
kind |
이 경우 지식 원본의 종류입니다 azureBlob . |
String | 아니오 | Yes |
description |
지식 원본에 대한 설명입니다. | String | Yes | 아니오 |
encryptionKey |
기술 원본과 생성된 개체 모두에서 중요한 정보를 암호화하는 고객 관리형 키 입니다. | Object | Yes | 아니오 |
azureBlobParameters |
Blob 지식 원본에 대한 특정 매개 변수: connectionString, containerName, folderPath 및 isADLSGen2. |
Object | 아니오 | |
connectionString |
키 기반 연결 문자열 또는 관리 ID를 사용하는 경우 리소스 ID입니다. | String | 아니오 | Yes |
containerName |
Blob Storage 컨테이너의 이름입니다. | String | 아니오 | Yes |
folderPath |
컨테이너 내의 폴더입니다. | String | 아니오 | 아니오 |
isADLSGen2 |
기본값은 false입니다.
true ADLS Gen2 스토리지 계정을 사용하는 경우로 설정합니다. |
불리언 (Boolean) | 아니오 | 아니오 |
ingestionParameters 속성
인덱싱된 기술 자료의 경우에만 다음 ingestionParameters 속성을 전달하여 콘텐츠를 수집하고 처리하는 방법을 제어할 수 있습니다.
| 이름 | Description | 유형 | 편집 가능 | 필수 |
|---|---|---|---|---|
identity |
생성된 인덱서에서 사용할 관리 ID 입니다. | Object | Yes | 아니오 |
disableImageVerbalization |
이미지 설명 기능을 활성화하거나 비활성화합니다. 기본값은 false이미지 언어화를 사용하도록 설정하는 것입니다. 이미지 구두화를 true하려면 로 설정합니다. |
불리언 (Boolean) | 아니오 | 아니오 |
chatCompletionModel |
이미지를 구두로 처리하거나 콘텐츠를 추출하는 채팅 완성 모델입니다. 지원되는 모델은 gpt-4o, gpt-4o-mini,gpt-4.1, gpt-4.1-minigpt-4.1-nano, gpt-5, gpt-5-mini및 gpt-5-nano.
GenAI 프롬프트 기술이 생성된 기술 세트에 포함됩니다. 또한 이 매개 변수를 설정하려면 이 disableImageVerbalization 매개 변수를 .로 설정해야 합니다 false. |
Object |
apiKey 및 deploymentId만 편집할 수 있습니다. |
아니오 |
embeddingModel |
인덱싱 중 및 쿼리 시간에 텍스트 및 이미지 콘텐츠를 벡터화하는 텍스트 포함 모델입니다. 지원되는 모델은 text-embedding-ada-002, text-embedding-3-small및 text-embedding-3-large.
Azure OpenAI 포함 기술은 생성된 기술 집합에 포함되며, Azure OpenAI 벡터라이저는 생성된 인덱스로 포함됩니다. |
Object |
apiKey 및 deploymentId만 편집할 수 있습니다. |
아니오 |
contentExtractionMode |
파일에서 콘텐츠를 추출하는 방법을 제어합니다. 기본값은 minimal텍스트 및 이미지에 표준 콘텐츠 추출을 사용하는 것입니다. 생성된 기술 세트에 포함될 standard을 사용하여 고급 문서 크래킹 및 청크를 위해 로 설정합니다.
standard에 대해서만 aiServices 및 assetStore 매개 변수를 지정할 수 있습니다. |
String | 아니오 | 아니오 |
aiServices |
Foundry 도구에서 Azure Content Understanding에 액세스하기 위한 Microsoft Foundry 리소스입니다. 이 매개 변수를 설정하려면 이 contentExtractionMode 매개 변수를 .로 설정해야 합니다 standard. |
Object |
apiKey만 편집 가능 |
Yes |
assetStore |
추출된 이미지를 저장할 Blob 컨테이너입니다. 이 매개 변수를 설정하려면 이 contentExtractionMode 매개 변수를 .로 설정해야 합니다 standard. |
Object | 아니오 | 아니오 |
ingestionSchedule |
생성된 인덱서에 예약 정보를 추가합니다. 나중에 일정을 추가하여 데이터 새로 고침을 자동화할 수도 있습니다. | Object | Yes | 아니오 |
ingestionPermissionOptions |
ADLS Gen2 또는 인덱싱된 SharePoint와 같은 선택한 지식 출처에서 데이터를 수집할 수 있는 문서 수준 권한입니다. 생성된 userIds 또는 groupIdsrbacScope 지정하는 경우 수집된 권한이 포함됩니다. |
Array | 아니오 | 아니오 |
수집 상태 확인
기술 자료 - 상태(REST API)를 사용하여 인덱서 파이프라인을 생성하고 검색 인덱스를 채우는 지식 원본의 인덱서 상태를 포함하여 수집 진행률 및 상태를 모니터링합니다.
### Check knowledge source ingestion status
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}/status?api-version=2025-11-01-preview
api-key: {{api-key}}
Content-Type: application/json
수집 매개 변수를 포함하고 콘텐츠를 적극적으로 수집하는 요청에 대한 응답은 다음 예제와 같습니다.
{
"synchronizationStatus": "active", // creating, active, deleting
"synchronizationInterval" : "1d", // null if no schedule
"currentSynchronizationState" : { // spans multiple indexer "runs"
"startTime": "2025-10-27T19:30:00Z",
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
},
"lastSynchronizationState" : { // null on first sync
"startTime": "2025-10-27T19:30:00Z",
"endTime": "2025-10-27T19:40:01Z", // this value appears on the activity record on each /retrieve
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
},
"statistics": { // null on first sync
"totalSynchronization": 25,
"averageSynchronizationDuration": "00:15:20",
"averageItemsProcessedPerSynchronization" : 500
}
}
만들어진 개체를 검토하십시오
Blob 기술 원본을 만들 때 검색 서비스는 인덱서, 인덱스, 기술 세트 및 데이터 원본도 만듭니다. 오류 또는 비호환성을 도입하면 파이프라인이 중단 될 수 있으므로 이러한 개체를 편집하지 않는 것이 좋습니다.
기술 자료를 만든 후에는 생성된 개체가 응답에 나열됩니다. 이러한 개체는 고정 템플릿에 따라 만들어지고 해당 이름은 기술 자료의 이름을 기반으로 합니다. 개체 이름은 변경할 수 없습니다.
Azure Portal을 사용하여 출력 생성의 유효성을 검사하는 것이 좋습니다. 워크플로는 다음과 같습니다.
- 인덱서에서 성공 또는 실패 메시지를 확인합니다. 연결 또는 할당량 오류가 여기에 표시됩니다.
- 인덱스에서 검색 가능한 콘텐츠를 확인합니다. 검색 탐색기를 사용하여 쿼리를 실행합니다.
- 역량 집합을 확인하여 콘텐츠가 청크로 분할되고 옵션으로 벡터화되는 방법을 알아봅니다.
- 데이터 원본에서 연결 세부 정보를 확인합니다. 이 예제에서는 단순성을 위해 API 키를 사용하지만 인증에 Microsoft Entra ID를 사용하고 권한 부여를 위한 역할 기반 액세스 제어를 사용할 수 있습니다.
기술 자료에 할당
기술 자료에 만족하는 경우 기술 자료에서 기술 원본을 지정하는 다음 단계를 계속 진행 합니다.
기술 자료가 구성되면 검색 작업을 사용하여 기술 원본을 쿼리합니다.
지식 원본 삭제
기술 자료를 삭제하려면 먼저 이를 참조하는 기술 자료를 삭제하거나 기술 자료 정의를 업데이트하여 참조를 제거해야 합니다. 인덱스 및 인덱서 파이프라인을 생성하는 기술 원본의 경우 생성된 모든 개체 도 삭제됩니다. 그러나 기존 인덱스로 기술 원본을 만든 경우 인덱스가 삭제되지 않습니다.
사용 중인 기술 원본을 삭제하려고 하면 작업이 실패하고 영향을 받는 기술 자료 목록이 반환됩니다.
기술 자료를 삭제하려면 다음을 수행합니다.
검색 서비스의 모든 기술 자료 목록을 가져옵니다.
### Get knowledge bases GET {{search-endpoint}}/knowledgebases?api-version=2025-11-01-preview&$select=name api-key: {{api-key}}예제 응답은 다음과 같을 수 있습니다.
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }개별 기술 자료 정의를 가져와서 기술 자료 참조를 확인합니다.
### Get a knowledge base definition GET {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}예제 응답은 다음과 같을 수 있습니다.
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }여러 원본이 있는 경우 기술 자료를 삭제하거나 기술 자료를 제거 하여 기술 자료를 업데이트합니다. 이 예제에서는 삭제를 보여줍니다.
### Delete a knowledge base DELETE {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}지식 원본을 삭제합니다.
### Delete a knowledge source DELETE {{search-endpoint}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview api-key: {{api-key}}