파일 지식 원본 만들기(미리 보기)

메모

Azure AI 검색 Azure 포털, REST API 및 Azure SDK 통해 사용할 수 있습니다. 또한 엔터프라이즈 콘텐츠를 Microsoft Foundry 포털의 에이전트에 대해 재사용 가능한 사용 권한 인식 기술 자료로 변환하는 관리되는 기술 계층인 Foundry IQ를 뒷받침합니다.

Important

이러한 기능과 기능은 2026-05-01-preview REST API의 일부입니다. 2026-05-01-preview는 Azure 구독의 일부로 사용자에게 라이선스가 부여되며, Microsoft Product Terms의 "미리 보기"에 적용되는 약관, Microsoft 제품 및 서비스 데이터 보호 부록("DPA") 및 Microsoft Azure 미리 보기용 추가 사용 약관의 적용을 받습니다.

2026-05-01-preview는 다른 Microsoft 서비스 및 타사 서비스에 대한 연결을 지원합니다. 이러한 서비스의 사용은 해당 약관의 적용을 받으며 Azure 규정 준수 경계 외부의 데이터 처리 또는 스토리지뿐만 아니라 Azure 규정 준수 경계로 데이터가 유입될 수 있습니다.

데이터가 조직의 규정 준수 및 지리적 경계와 관련된 의미를 벗어나는지 여부와 적절한 권한, 경계 및 승인이 프로비전되는지를 관리하는 것은 사용자의 책임입니다.

특정 사용 사례의 컨텍스트에서 빌드한 애플리케이션을 신중하게 검토하고 테스트하고 모든 적절한 결정 및 사용자 지정을 수행할 책임이 있습니다. 여기에는 메타프롬프트, 콘텐츠 필터 또는 기타 안전 시스템과 같은 책임 있는 AI 완화를 구현하고 애플리케이션이 적절한 품질, 안정성, 보안 및 신뢰성 표준을 충족하도록 보장하는 것이 포함됩니다. 자세한 내용은 Azure AI 검색 투명성 정보를 참고하세요.

파일 지식 원본(미리 보기)은 에이전트 검색을 위해 Azure AI 검색 위해 중소형 파일 집합을 직접 업로드합니다. 기술 원본은 독립적으로 생성되고, 기술 자료에서 참조되며, 런타임에 기술 자료를 쿼리할 때 접지 데이터로 사용됩니다.

파일 지식 원본은 Azure Storage 프로비전하고, 액세스를 구성하고, 외부 컨테이너를 통해 인덱서 파이프라인을 만드는 대신 관리되는 업로드 환경을 원하는 경우에 유용합니다. Azure AI 검색 기술 자료에서 추출된 콘텐츠를 검색할 수 있도록 업로드된 파일을 처리합니다.

파일 지식 원본은 최대 100개의 파일을 지원합니다. 파일이 이미 Azure Blob Storage 또는 Azure Data Lake Storage Gen2 있는 경우, 파일 집합이 100개 파일을 초과하거나 초과할 가능성이 있는 경우 또는 예약된 수집이 필요한 경우 Blob 지식 원본을 대신 사용합니다. 또한 Azure Blob Storage 수명 주기 관리 정책을 사용하여 원본 Blob을 관리하거나 Azure Storage 사용 권한에 따라 문서 수준 권한(미리 보기)이 필요한 경우 Blob 기술 자료를 사용합니다.

사용량 지원

Azure Portal Microsoft Foundry 포털 .NET SDK Python SDK Java SDK JavaScript SDK REST API
✔️ ✔️ ✔️ ✔️ ✔️ ✔️

사전 요구 사항

  • 에이전트형 검색을 제공하는 모든 지역의 전용 Azure AI 검색 서비스입니다. 파일 지식 원본은 서버리스 검색 서비스에서 지원되지 않습니다. 전용 계층에 대한 자세한 내용은 서비스 계층 선택을 참조하세요. 월별 무료 허용량을 초과하는 유료 사용량이 필요한 경우 knowledgeRetrievalstandard 사용하여 서비스 속성을 설정합니다.

  • 지원되는 형식의 파일입니다.

  • 지식 소스를 생성할 수 있는 권한 사용자 계정에 할당된 Search Service 기여자 역할을 사용하여 키 없는 인증을 구성하거나 API 키를 사용합니다.

  • 지식 원본이 임베딩용 Azure OpenAI 모델을 지정하는 경우, 검색 서비스에는 Microsoft Foundry 리소스에 대한 관리 IDCognitive Services User 권한이 있어야 합니다.

    • Foundry 리소스에 공용 네트워크 액세스가 사용하지 않도록 설정된 경우 검색 서비스에서 Foundry 리소스로openai_account 만들고 신뢰할 수 있는 서비스 목록 설정에서 리소스의 Azure 서비스 허용을 사용하도록 설정합니다.
  • 최신 Azure.Search.Documents 미리 보기 패키지: dotnet add package Azure.Search.Documents --prerelease

지원되는 형식 및 제한

지원되는 파일 형식은 다음과 같습니다.

카테고리 Extensions
텍스트 .txt, .md, .html, .json.csv
코드 .c, .cs, .cpp, .java, .py, .js, .ts.php, .rb.sh
문서 .pdf, .docx, , .pptx, .doc

다음 제한은 파일 기술 자료 원본에 적용됩니다.

Limit 가치
업로드당 최대 파일 크기 50MB
파일 정보 원본당 최대 파일 수 100

업로드된 콘텐츠를 청크 또는 벡터화하도록 파일 기술 자료를 구성하는 경우 모델 및 다운스트림 처리 제한도 적용됩니다.

메모

  • 동일한 파일 이름을 업로드해도 기존 파일이 대체되지는 않습니다. 자세한 내용은 파일 업로드를 참조하세요.
  • 생성된 검색 인덱스가 업로드된 콘텐츠를 저장합니다. 가격 책정 계층별 총 스토리지 제한은 서비스 제한을 참조하세요.

기존 지식 원본 확인

기술 자료는 재사용 가능한 최상위 개체입니다. 기존 지식 원본에 대해 아는 것은 새 개체를 다시 사용하거나 이름을 지정하는 데 유용합니다.

다음 코드를 실행하여 이름 및 형식별로 기술 자료를 나열합니다.

// 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}");
}

참조: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})")

참조:SearchIndexClient

### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
api-key: {{api-key}}

참조:기술 자료 - 목록

이름으로 단일 기술 원본을 반환하여 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));

참조: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))

참조:SearchIndexClient

### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
api-key: {{api-key}}

참조:기술 자료 - 가져오기

다음 JSON은 파일 지식 원본에 대한 예제 응답입니다.

{
  "name": "my-file-ks",
  "kind": "file",
  "description": "A sample file knowledge source.",
  "encryptionKey": null,
  "fileParameters": {
    "ingestionParameters": {
      "contentExtractionMode": "minimal",
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<REDACTED>",
          "deploymentId": "text-embedding-3-large",
          "modelName": "text-embedding-3-large"
        }
      }
    }
  }
}

기술 자료 만들기

업로드된 콘텐츠를 벡터화하는 데 사용되는 포함 모델을 지정하는 파일 지식 원본을 만듭니다.

using Azure;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));

var embeddingParams = new AzureOpenAIVectorizerParameters
{
    ResourceUri = new Uri(aoaiEndpoint),
    DeploymentName = aoaiEmbeddingDeployment,
    ModelName = aoaiEmbeddingModel
};

var ingestionParams = new KnowledgeSourceIngestionParameters
{
    ContentExtractionMode = "minimal",
    EmbeddingModel = new KnowledgeSourceAzureOpenAIVectorizer
    {
        AzureOpenAIParameters = embeddingParams
    }
};

var fileParams = new FileKnowledgeSourceParameters
{
    IngestionParameters = ingestionParams
};

var knowledgeSource = new FileKnowledgeSource(
    name: "my-file-ks",
    fileParameters: fileParams
)
{
    Description = "This knowledge source uses directly uploaded product manuals."
};

await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Knowledge source '{knowledgeSource.Name}' created or updated successfully.");

참조:SearchIndexClient

from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
    AzureOpenAIVectorizerParameters,
    FileKnowledgeSource,
    FileKnowledgeSourceParameters,
)
from azure.search.documents.knowledgebases.models import (
    KnowledgeSourceAzureOpenAIVectorizer,
    KnowledgeSourceIngestionParameters,
)

index_client = SearchIndexClient(endpoint="search_url", credential=AzureKeyCredential("api_key"))

embedding_params = AzureOpenAIVectorizerParameters(
    resource_url="aoai_endpoint",
    deployment_name="aoai_embedding_deployment",
    model_name="aoai_embedding_model",
)

ingestion_params = KnowledgeSourceIngestionParameters(
    content_extraction_mode="minimal",
    embedding_model=KnowledgeSourceAzureOpenAIVectorizer(
        azure_open_ai_parameters=embedding_params
    ),
)

knowledge_source = FileKnowledgeSource(
    name="my-file-ks",
    description="This knowledge source uses directly uploaded product manuals.",
    file_parameters=FileKnowledgeSourceParameters(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.")

참조:SearchIndexClient

PUT {{search-url}}/knowledgesources/my-file-ks?api-version=2026-05-01-preview
api-key: {{api-key}}
Content-Type: application/json
Prefer: return=representation

{
  "name": "my-file-ks",
  "kind": "file",
  "description": "This knowledge source uses directly uploaded product manuals.",
  "encryptionKey": null,
  "fileParameters": {
    "ingestionParameters": {
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "{{aoai-endpoint}}",
          "deploymentId": "{{aoai-embedding-deployment}}",
          "modelName": "{{aoai-embedding-model}}"
        }
      },
      "contentExtractionMode": "minimal"
    }
  }
}

참조:기술 자료 - 만들기 또는 업데이트

파일 업로드

지식 원본이 있으면 파일을 직접 업로드합니다. 각 업로드는 동기 호출입니다. Azure AI 검색 업로드된 파일에서 콘텐츠를 추출하고, 콘텐츠를 청크하고, 필요할 때 포함을 만들고, 호출이 반환되기 전에 추출된 콘텐츠를 검색하도록 준비합니다. 별도의 수집 파이프라인을 구성하거나 실행할 필요가 없습니다.

나열된 fileName 항목은 업로드 요청의 Content-Disposition: attachment; filename="..." 헤더에서 가져옵니다. REST 호출 및 .NET SDK는 이 헤더를 직접 설정하지만 Python SDK는 filename 매개 변수를 수락하고 헤더를 자동으로 빌드합니다. 헤더가 설정되지 않은 경우 서비스는 자동 생성된 fileName를 할당합니다.

using Azure;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));

string fileName = "installation-guide.pdf";
byte[] fileBytes = await File.ReadAllBytesAsync(fileName);
string contentDisposition = $"attachment; filename=\"{fileName}\"";

KnowledgeSourceFile uploadedFile = (await indexClient.UploadKnowledgeSourceFileAsync(
    "my-file-ks",
    contentDisposition,
    BinaryData.FromBytes(fileBytes))).Value;

Console.WriteLine($"Uploaded file ID: {uploadedFile.FileId}");

참조:SearchIndexClient.UploadKnowledgeSourceFileAsync

from pathlib import Path

from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient

index_client = SearchIndexClient(endpoint="search_url", credential=AzureKeyCredential("api_key"))

file_path = Path("installation-guide.pdf")
uploaded_file = index_client.upload_knowledge_source_file(
    "my-file-ks",
    file_path.read_bytes(),
    filename=file_path.name,
)
print(f"Uploaded file ID: {uploaded_file.file_id}")

참조:SearchIndexClient.upload_knowledge_source_file

POST {{search-url}}/knowledgesources/my-file-ks/files?api-version=2026-05-01-preview
api-key: {{api-key}}
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="installation-guide.pdf"

<binary file content>

참조:기술 자료 - 파일 업로드

메모

파일을 업로드해도 동일한 fileName파일을 다시 사용하는 경우에도 기존 파일이 대체되지 않습니다. 업로드에 성공한 각 파일은 자체 fileId적으로 새 파일을 만들므로 업로드된 파일 목록에는 공유 fileName되는 여러 항목이 포함될 수 있습니다.

콘텐츠를 바꾸려면 대체 파일을 업로드하기 전에 이전 파일을 fileId 삭제합니다.

업로드된 파일 나열

지식 소스의 파일을 나열해 업로드된 파일 세트를 확인합니다.

using Azure;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));

await foreach (KnowledgeSourceFile file in indexClient.GetKnowledgeSourceFilesAsync("my-file-ks"))
{
    Console.WriteLine($"{file.FileName} ({file.FileSizeBytes} bytes) error={file.ErrorMessage}");
}

참조:SearchIndexClient.GetKnowledgeSourceFilesAsync

from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient

index_client = SearchIndexClient(endpoint="search_url", credential=AzureKeyCredential("api_key"))

for file in index_client.list_knowledge_source_files("my-file-ks"):
    print(f"{file.file_name} ({file.file_size_bytes} bytes) error={file.error_message}")

참조:SearchIndexClient.list_knowledge_source_files

GET {{search-url}}/knowledgesources/my-file-ks/files?api-version=2026-05-01-preview
api-key: {{api-key}}

참조:기술 자료 - 파일 나열

응답에는 업로드된 각 파일에 대한 메타데이터가 포함됩니다. 값은 errorMessagenull 업로드가 오류 없이 처리되는 경우입니다.

{
  "value": [
    {
      "fileId": "file-abc123",
      "fileName": "installation-guide.txt",
      "fileSizeBytes": 89,
      "createdAt": "2026-05-07T18:10:00Z",
      "lastUpdatedAt": "2026-05-07T18:14:00.803Z",
      "errorMessage": null
    }
  ]
}

업로드는 동기적이므로 업로드 호출이 성공하는 즉시 파일을 검색할 준비가 됩니다. 처리에 실패하면 업로드 응답 및 후속 목록 항목에는 비nullerrorMessage 항목이 포함됩니다. 일반적인 원인으로는 지원되지 않는 파일 형식, 추출 실패, 모델 액세스 문제 및 할당량 제한이 있습니다.

모델 액세스 실패가 발생하고 포함 모델을 호스트하는 Foundry 리소스가 프라이빗 네트워킹을 사용하는 경우 공유 프라이빗 링크가 승인되고 신뢰할 수 있는 서비스 바이패스가 사용하도록 설정되어 있는지 openai_account 확인합니다. 비활성화된 바이패스는 403 Public access is disabled를 반환합니다. 설치 세부 정보는 필수 구성 요소를 참조하세요.

업로드된 파일 삭제

더 이상 검색에 사용할 수 없도록 하려면 기술 원본에서 파일을 삭제합니다.

using Azure;
using Azure.Search.Documents.Indexes;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));

await indexClient.DeleteKnowledgeSourceFileAsync("my-file-ks", "file-abc123");

참조:SearchIndexClient.DeleteKnowledgeSourceFileAsync

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_file("my-file-ks", "file-abc123")

참조:SearchIndexClient.delete_knowledge_source_file

DELETE {{search-url}}/knowledgesources/my-file-ks/files/file-abc123?api-version=2026-05-01-preview
api-key: {{api-key}}

참조:기술 자료 - 파일 삭제

기술 자료에 할당

기술 자료에 만족하는 경우 기술 자료에 추가합니다.

지식 베이스 질의

기술 자료가 구성되면 검색 작업 또는 MCP 엔드포인트를 호출 하여 기술 자료를 쿼리합니다.

지식 원본 삭제

기술 자료를 삭제하려면 먼저 이를 참조하는 기술 자료를 삭제하거나 기술 자료 정의를 업데이트하여 참조를 제거해야 합니다. 인덱스 및 인덱서 파이프라인을 생성하는 기술 원본의 경우 생성된 모든 개체 도 삭제됩니다. 그러나 기존 인덱스로 기술 원본을 만든 경우 인덱스가 삭제되지 않습니다.

사용 중인 기술 원본을 삭제하려고 하면 작업이 실패하고 영향을 받는 기술 자료 목록이 반환됩니다.

기술 자료를 삭제하려면 다음을 수행합니다.

  1. 검색 서비스의 모든 기술 자료 목록을 가져옵니다.

    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}");
    }
    

    참조:SearchIndexClient

    예제 응답은 다음과 같을 수 있습니다.

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. 개별 기술 자료 정의를 가져와서 기술 자료 참조를 확인합니다.

    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);
    

    참조:SearchIndexClient

    예제 응답은 다음과 같을 수 있습니다.

     {
       "Name": "earth-knowledge-base",
       "KnowledgeSources": [
         {
           "Name": "earth-knowledge-source"
         }
       ],
       "Models": [
         {}
       ],
       "RetrievalReasoningEffort": {},
       "OutputMode": {},
       "ETag": "\u00220x8DE278629D782B3\u0022",
       "EncryptionKey": null,
       "Description": null,
       "RetrievalInstructions": null,
       "AnswerInstructions": null
     }
    
  3. 기술 자료를 삭제하거나 여러 기술 자료가 있는 경우 기술 자료를 업데이트하여 원본을 제거합니다. 이 예제에서는 삭제를 보여줍니다.

    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.");
    

    참조:SearchIndexClient

  4. 기술 자료를 삭제합니다.

    await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName);
    System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");
    

    참조:SearchIndexClient

  1. 검색 서비스의 모든 기술 자료 목록을 가져옵니다.

    # 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}")
    

    참조:SearchIndexClient

    예제 응답은 다음과 같을 수 있습니다.

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. 개별 기술 자료 정의를 가져와서 기술 자료 참조를 확인합니다.

    # 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)
    

    참조:SearchIndexClient

    예제 응답은 다음과 같을 수 있습니다.

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks",
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. 기술 자료를 삭제하거나 여러 기술 자료가 있는 경우 기술 자료를 업데이트하여 원본을 제거합니다. 이 예제에서는 삭제를 보여줍니다.

    # 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.")
    

    참조:SearchIndexClient

  4. 기술 자료를 삭제합니다.

    # 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.")
    

    참조:SearchIndexClient

  1. 검색 서비스의 모든 기술 자료 목록을 가져옵니다.

    ### Get knowledge bases
    GET {{search-url}}/knowledgebases?api-version={{api-version}}&$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"
         }
         ]
     }
    
  2. 개별 기술 자료 정의를 가져와서 기술 자료 참조를 확인합니다.

    ### Get a knowledge base definition
    GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
    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"
       }
     }
    
  3. 기술 자료를 삭제하거나 여러 기술 자료가 있는 경우 기술 자료를 업데이트하여 원본을 제거합니다. 이 예제에서는 삭제를 보여줍니다.

    ### Delete a knowledge base
    DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
    api-key: {{api-key}}
    

    참조:기술 자료 - 삭제

  4. 기술 자료를 삭제합니다.

    ### Delete a knowledge source
    DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
    api-key: {{api-key}}
    

    참조:기술 자료 - 삭제