MCP 서버 기술 원본 만들기(미리 보기)

메모

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 규정 준수 경계로 데이터가 유입될 수 있습니다.

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

MCP 구현은 공격, 연속 실패 및 사용자 감독 손실과 같은 위험에 취약합니다. Microsoft 권장 사례사용 모범 사례에 따라 보안 및 안정성에 대한 MCP 서버를 검사하고 승인 메커니즘을 구현하고 연속 동작을 모니터링하여 이러한 위험을 완화할 수 있습니다.

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

MCP 서버 지식 원본(미리 보기)은 MODEL 컨텍스트 프로토콜(MCP)과 호환되는 엔드포인트를 노출하는 모든 시스템을 Azure AI 검색 에이전트 검색 파이프라인에 연결합니다. 기술 원본은 독립적으로 생성되고, 기술 자료에서 참조되며, 런타임에 기술 자료를 쿼리할 때 접지 데이터로 사용됩니다.

MCP 도구는 외부 시스템의 데이터와 기능을 쿼리 시 에이전트가 호출하는 호출 가능한 함수로 표시합니다. 따라서 필요한 정보가 내부 도구, 타사 API 또는 Azure AI 검색 기본적으로 지원하지 않는 사용자 지정 백 엔드에 있는 경우 MCP Server 기술 자료가 유용합니다.

인덱싱된 지식 원본과 달리 MCP 서버 기술 원본은 검색 시 라이브 데이터를 직접 쿼리합니다. 수집 파이프라인이 필요하지 않습니다. MCP 서버 URL을 제공하고 쿼리 시 호출할 수 Azure AI 검색 도구를 지정합니다.

사용량 지원

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

사전 요구 사항

  • Azure AI 검색 서비스는 모든 지역에서 에이전트 검색 기능을 제공합니다.

  • 하나 이상의 도구가 있는 MCP 서버입니다. HTTPS를 통해 Azure AI 검색 서버에 연결할 수 있어야 합니다. 테스트를 위해 https://learn.microsoft.com/api/mcp 공용 Microsoft Learn MCP 서버를 사용할 수 있습니다.

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

  • 최신 Azure.Search.Documents 미리 보기 패키지: dotnet add package Azure.Search.Documents --prerelease

제한 사항 및 고려 사항

  • minimal 검색 추론 작업은 지원되지 않습니다. 대신 low 또는 medium를 사용하십시오.

  • alwaysQuerySource 는 MCP 서버 기술 자료를 참조하는 요청 검색에서 지원되지 않습니다.

  • MCP 서버 도구 호출에는 외부 네트워크 요청이 포함되며 일반적인 검색 쿼리보다 오래 걸릴 수 있습니다. 구성된 모든 도구가 응답할 충분한 시간을 갖도록 가져오기 요청에 maxRuntimeInSeconds을(를) 설정합니다.

기존 지식 원본 확인

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

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

// 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은 MCP 서버 지식 원본에 대한 예제 응답입니다.

{
  "name": "my-mcp-server-ks",
  "kind": "mcpServer",
  "description": "An MCP Server knowledge source.",
  "encryptionKey": null,
  "mcpServerParameters": {
    "serverURL": "https://learn.microsoft.com/api/mcp",
    "authentication": null,
    "tools": [
      {
        "name": "microsoft_docs_search",
        "inclusionMode": null,
        "maxOutputTokens": null,
        "outputParsing": {
          "kind": "auto",
          "jsonParameters": null,
          "splitParameters": null
        }
      }
    ]
  }
}

기술 자료 만들기

다음 코드를 실행하여 MCP 서버 기술 원본을 만듭니다.

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

Uri searchEndpoint = new Uri("<search-service-url>");
AzureKeyCredential credential = new AzureKeyCredential("<api-key>");
var indexClient = new SearchIndexClient(searchEndpoint, credential);

var mcpServer = new McpServerKnowledgeSource(
    "<knowledge-source-name>",
    new McpServerKnowledgeSourceParameters(
        "https://learn.microsoft.com/api/mcp",
        new[]
        {
            new McpServerTool
            {
                Name = "microsoft_docs_search",
                OutputParsing = new McpServerAutoOutputParsing(),
                InclusionMode = McpServerToolInclusionMode.Reranked,
                MaxOutputTokens = 1000
            }
        }))
{
    Description = "An MCP Server knowledge source."
};

await indexClient.CreateOrUpdateKnowledgeSourceAsync(mcpServer);

참조:SearchIndexClient

from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
    McpServerKnowledgeSource,
    McpServerParameters,
    McpServerTool,
    McpServerToolOutputParsing,
)

index_client = SearchIndexClient(
    endpoint="<search-service-url>",
    credential=AzureKeyCredential("<api-key>")
)

knowledge_source = McpServerKnowledgeSource(
    name="<knowledge-source-name>",
    description="An MCP Server knowledge source.",
    mcp_server_parameters=McpServerParameters(
        server_url="https://learn.microsoft.com/api/mcp",
        tools=[
            McpServerTool(
                name="microsoft_docs_search",
                output_parsing=McpServerToolOutputParsing(kind="auto"),
                inclusion_mode="reranked",
                max_output_tokens=1000
            )
        ]
    )
)

index_client.create_or_update_knowledge_source(knowledge_source)

참조:SearchIndexClient

### Create an MCP Server knowledge source
PUT {{search-url}}/knowledgesources/my-mcp-server-ks?api-version=2026-05-01-preview
api-key: {{api-key}}
Content-Type: application/json
Prefer: return=representation

{
  "name": "my-mcp-server-ks",
  "kind": "mcpServer",
  "description": "An MCP Server knowledge source.",
  "encryptionKey": null,
  "mcpServerParameters": {
    "serverURL": "https://learn.microsoft.com/api/mcp",
    "tools": [
      {
        "name": "microsoft_docs_search",
        "outputParsing": {
          "kind": "auto"
        },
        "inclusionMode": "reranked",
        "maxOutputTokens": 1000
      }
    ]
  }
}

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

인증 옵션

MCP 서버에 인증이 필요한 경우 다음 옵션 중 하나를 사용합니다.

Foundry Agent Service의 에이전트가 이 MCP Server 지식 소스를 포함하는 지식 베이스를 호출하는 경우에만 foundryConnection 사용하세요. 해당 흐름에서 서비스는 연결을 확인하고 MCP 서버를 호출할 때 필요한 자격 증명을 삽입합니다. 기술 자료를 직접 호출하거나 Foundry 에이전트 서비스 foundryConnection 이외의 클라이언트에서 호출하는 경우 작동하지 않습니다.

"authentication": {
  "kind": "foundryConnection",
  "foundryConnectionParameters": {
    "connectionId": "<your-foundry-connection-id>"
  }
}

쿼리 시간에 헤더 전달

MCP 서버에 요청당 자격 증명이 필요한 경우 쌍을 이루는 컨트롤 헤더를 사용하여 검색 요청에 전달합니다. 이 구문은 Azure AI 검색 인증하는 데 사용되는 Authorization 또는 api-key 헤더와 충돌하지 않고 MCP 서버에 헤더를 전달합니다.

지식 원본 이름을 접두사로 사용합니다.

컨트롤 헤더 Description
<knowledge-source-name>-header-name<N> MCP 서버로 보낼 HTTP 헤더의 이름입니다.
<knowledge-source-name>-header-value<N> MCP 서버로 보낼 HTTP 헤더의 값입니다.

<N> 는 여러 헤더를 페어링하는 선택적 숫자 접미사입니다. 예를 들어, my-mcp-server-ks-header-name1my-mcp-server-ks-header-value1와 쌍을 이룹니다.

검색 요청에 컨트롤 헤더를 추가하는 정책을 사용하여 검색 클라이언트를 만듭니다.

using Azure;
using Azure.Core;
using Azure.Core.Pipeline;
using Azure.Search.Documents;
using Azure.Search.Documents.KnowledgeBases;
using Azure.Search.Documents.KnowledgeBases.Models;

string knowledgeSourceName = "my-mcp-server-ks";

var options = new SearchClientOptions();
options.AddPolicy(new McpPassthroughHeaderPolicy(knowledgeSourceName), HttpPipelinePosition.PerCall);

var retrievalClient = new KnowledgeBaseRetrievalClient(
    endpoint: new Uri(searchEndpoint),
    knowledgeBaseName: knowledgeBaseName,
    credential: credential,
    options: options);

var request = new KnowledgeBaseRetrievalRequest();
request.Messages.Add(
    new KnowledgeBaseMessage(new[] { new KnowledgeBaseMessageTextContent("Find Azure AI Search MCP guidance.") })
    {
        Role = "user"
    });
request.KnowledgeSourceParams.Add(new SearchIndexKnowledgeSourceParams(knowledgeSourceName));

Response<KnowledgeBaseRetrievalResponse> response = await retrievalClient.RetrieveAsync(request);

sealed class McpPassthroughHeaderPolicy(string knowledgeSourceName) : HttpPipelineSynchronousPolicy
{
    public override void OnSendingRequest(HttpMessage message)
    {
        message.Request.Headers.Add($"{knowledgeSourceName}-header-name", "Authorization");
        message.Request.Headers.Add($"{knowledgeSourceName}-header-value", "Bearer <mcp-server-access-token>");
        message.Request.Headers.Add($"{knowledgeSourceName}-header-name1", "x-custom-auth");
        message.Request.Headers.Add($"{knowledgeSourceName}-header-value1", "<mcp-server-header-value>");
    }
}

검색 호출의 키워드 인수에 컨트롤 헤더를 전달합니다 headers .

from azure.search.documents.knowledgebases.models import (
    KnowledgeBaseMessage,
    KnowledgeBaseMessageTextContent,
    KnowledgeBaseRetrievalRequest,
    SearchIndexKnowledgeSourceParams,
)

knowledge_source_name = "my-mcp-server-ks"

request = KnowledgeBaseRetrievalRequest(
    messages=[
        KnowledgeBaseMessage(
            role="user",
            content=[
                KnowledgeBaseMessageTextContent(
                    text="Find Azure AI Search MCP guidance."
                )
            ],
        )
    ],
    knowledge_source_params=[
        SearchIndexKnowledgeSourceParams(knowledge_source_name=knowledge_source_name)
    ],
)

result = retrieval_client.retrieve(
    request,
    headers={
        f"{knowledge_source_name}-header-name": "Authorization",
        f"{knowledge_source_name}-header-value": "Bearer <mcp-server-access-token>",
        f"{knowledge_source_name}-header-name1": "x-custom-auth",
        f"{knowledge_source_name}-header-value1": "<mcp-server-header-value>",
    },
)
POST {{search-url}}/knowledgebases/{{knowledge-base-name}}/retrieve?api-version=2026-05-01-preview
Authorization: Bearer {{search-access-token}}
Content-Type: application/json
my-mcp-server-ks-header-name: Authorization
my-mcp-server-ks-header-value: Bearer {{mcp-server-access-token}}
my-mcp-server-ks-header-name1: x-custom-auth
my-mcp-server-ks-header-value1: {{mcp-server-header-value}}

{
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Find Azure AI Search MCP guidance."
        }
      ]
    }
  ],
  "knowledgeSourceParams": [
    {
      "knowledgeSourceName": "my-mcp-server-ks",
      "kind": "mcpServer"
    }
  ]
}

각 헤더 쌍에는 정확히 하나의 이름 컨트롤 헤더와 일치하는 값 컨트롤 헤더 하나가 포함되어야 합니다. 헤더 이름 및 값은 유효한 HTTP 요청 헤더여야 합니다. 쿼리 시간 헤더가 항목과 storedHeaders 동일한 대상 헤더 이름을 사용하는 경우 쿼리 시간 값은 해당 요청에 대해 저장된 값을 재정의합니다.

도구 구성

배열의 각 항목은 tools 허용되는 MCP 도구와 선택적 출력 구문 분석 동작을 지정합니다.

출력 구문 분석 모드

기본적으로 검색 엔진은 자동 추론(auto)을 적용하여 원시 MCP 도구 출력을 순위가 지정된 문서로 변환합니다. outputParsing 속성을 사용하여 도구별로 이 동작을 재정의할 수 있습니다.

모드에는 auto 구성이 필요하지 않습니다. 검색 엔진은 추론을 적용하여 도구 출력을 구문 분석합니다.

기술 자료에 할당

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

지식 베이스 질의

기술 자료가 구성되면 검색 작업 또는 MCP 엔드포인트를 호출 하여 MCP 서버 콘텐츠를 쿼리합니다. MCP 서버 지식 원본에는 원본별 검색 동작 및 응답 필드가 있습니다.

MCP 서버 지식 원본에 대한 검색 작동 방식

쿼리 시 기술 자료에 구성된 LLM(큰 언어 모델)은 구성된 도구를 검토하고, 사용자 쿼리를 기반으로 호출할 도구를 선택하고, 각 호출에 대한 인수를 생성합니다. 그런 다음 Azure AI 검색 MCP 서버에서 선택한 도구를 호출하고 결과를 순위가 지정된 참조로 반환합니다.

MCP 서버별 응답 필드

MCP 서버 지식 소스는 references 배열에 문서별 인용을, activity 배열에 호출별 진단 정보를 반환합니다. 기술 원본에 여러 도구가 나열되고 모델이 둘 이상을 선택하면 각 호출에 대해 별도의 활동 레코드가 나타납니다.

다음 예제에서는 MCP Server 기술 자료 원본 참조 및 해당 활동 레코드를 포함하는 검색 응답을 보여 있습니다. 검색 응답 해석에 대한 광범위한 지침은 응답 검토를 참조하세요.

Tip

참조용 sourceData를 받으려면 검색 요청의 includeReferenceSourceData 내에 있는 지식 소스 항목에서 trueknowledgeSourceParams(으)로 설정하세요.

{
  "response": [
      // ... Response omitted for brevity
  ],
  "activity": [
    {
      "type": "mcpServer",
      "id": 1,
      "knowledgeSourceName": "my-mcp-server-ks",
      "queryTime": "2026-05-11T15:42:33.0888894Z",
      "count": 10,
      "elapsedMs": 768,
      "mcpServerArguments": {
        "toolName": "microsoft_docs_search",
        "toolArguments": {
          "query": "Azure AI Search features"
        }
      }
    },
    {
      // ... Additional activity records omitted for brevity
    }
  ],
  "references": [
    {
      "type": "mcpServer",
      "id": "0",
      "activitySource": 1,
      "sourceData": {
        "title": "What is a knowledge source?",
        "content": "..."
      },
      "rerankerScore": 2.96,
      "toolName": "microsoft_docs_search",
      "title": "my-mcp-server-ks microsoft_docs_search 1"
    },
    {
      // ... Additional references omitted for brevity
    }
  ]
}

지식 원본 삭제

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

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

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

  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}}
    

    참조:기술 자료 - 삭제