다음을 통해 공유


웹 지식 원본 리소스 만들기

중요합니다

  • Grounding with Bing Search 및/또는 Grounding with Bing Custom Search를 사용하는 웹 지식 원본은 Bing 사용 약관Microsoft 개인정보처리방침에 따라 관리되는 자사 소비 서비스입니다.

  • Microsoft Data Protection 부록은 웹 지식 원본으로 전송된 데이터에 적용되지 않습니다. 고객이 웹 지식 원본을 사용하는 경우 고객 데이터는 Azure 규정 준수 및 지리적 경계 외부로 흐릅니다. 웹 지식 자원을 사용할 경우, 이는 해당되는 경우 데이터 주권 및 스크린/시민권 기반 지원을 포함하여 모든 향상된 정부 커뮤니티 클라우드의 보안 및 규정 준수 약속을 포기한다는 것을 의미합니다.

  • 웹 지식 원본을 사용하면 비용이 발생합니다. 가격 책정에 대해 자세히 알아봅니다.

  • Azure 관리자가 웹 지식 원본 사용에 대한 액세스를 관리하는 방법에 대해 자세히 알아봅니다.

비고

이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

웹 지식 원본 을 사용하면 에이전트 검색 파이프라인에서 Microsoft Bing에서 실시간 웹 데이터를 검색할 수 있습니다. 지식 원본 은 독립적으로 생성되고, 기술 자료에서 참조되며, 에이전트 또는 챗봇이 쿼리 시 검색 작업을 호출할 때 접지 데이터로 사용됩니다.

Bing Custom Search는 항상 웹 지식 원본의 검색 공급자입니다. 대체 검색 공급자 또는 엔진을 지정할 수는 없지만 , 같은 특정 https://learn.microsoft.com 포함하거나 제외할 수 있습니다. 도메인이 지정되지 않은 경우 웹 지식 원본은 전체 공용 인터넷에 무제한으로 액세스할 수 있습니다.

웹 지식 원본은 다른 지식 원본과 함께 가장 잘 작동합니다. 독점 콘텐츠가 완전한 up-to-date 답변을 제공하지 않거나 상용 검색 엔진의 정보로 결과를 보완하려는 경우 웹 지식 원본을 사용합니다.

웹 지식 원본을 사용하는 경우 다음 사항에 유의하세요.

  • 응답은 항상 웹의 원시 검색 결과 대신 쿼리에 대해 공식화된 단일 답변입니다.

  • 웹 지식 원본은 추출 데이터를 지원하지 않으므로 기술 자료는 응답 합성낮거나 중간 정도의 추론 작업을 사용해야 합니다. 응답 지침도 정의할 수 없습니다.

필수 조건

기존 지식 원본 확인

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

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

// 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은 웹 지식 원본 리소스에 대한 예제 응답입니다.

{
  "WebParameters": {
    "Domains": null
  },
  "Name": "my-web-ks",
  "Description": "A sample Web Knowledge Source.",
  "EncryptionKey": null,
}

지식 원본 만들기

다음 코드를 실행하여 웹 지식 원본 리소스를 만듭니다.

// Create Web Knowledge Source
// Create a Web knowledge source
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure;

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

var knowledgeSource = new WebKnowledgeSource(name: "my-web-ks")
{
    Description = "A sample Web Knowledge Source.",
    WebParameters = new WebKnowledgeSourceParameters
    {
        Domains = new WebKnowledgeSourceDomains
        {
            AllowedDomains = 
            {
                new WebKnowledgeSourceDomain(address: "learn.microsoft.com") { IncludeSubpages = true }
            },
            BlockedDomains = 
            {
                new WebKnowledgeSourceDomain(address: "bing.com") { IncludeSubpages = false }
            }
        }
    }
};

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

원본별 속성

다음 속성을 전달하여 웹 지식 원본 리소스를 만들 수 있습니다.

이름 Description 유형 편집 가능 필수
Name 지식 원본 컬렉션 내에서 고유해야 하며 Azure AI Search의 개체에 대한 명명 지침을 따라야 하는 지식 원본의 이름입니다. String Yes Yes
Description 지식 원본에 대한 설명입니다. 지정되지 않은 경우 Azure AI Search는 기본 설명을 적용합니다. String Yes 아니오
EncryptionKey 기술 소스에서 중요한 정보를 암호화하는 고객 관리형 키 입니다. Object Yes 아니오
WebParameters 웹 지식 원본과 관련된 매개 변수입니다. 현재는 다음과 같습니다 Domains. Object Yes 아니오
Domains 검색 공간에서 허용하거나 차단해야 하는 도메인입니다. 기본적으로 지식 원본은 Bing Search와 함께 Grounding을 사용하여 전체 공용 인터넷을 검색합니다. 도메인을 지정할 때 지식 원본은 Bing Custom Search와 함께 Grounding을 사용하여 결과를 지정된 도메인으로 제한합니다. 두 경우 모두 Bing Custom Search는 검색 공급자입니다. Object Yes 아니오
AllowedDomains 검색 공간에 포함할 도메인입니다. 각 도메인에 대해 addresswebsite.com 형식으로 지정해야 합니다. 도메인의 하위 페이지를 포함할지 여부를 지정하려면 IncludeSubpages을(를) true 또는 false로 설정할 수 있습니다. Array Yes 아니오
BlockedDomains 검색 공간에서 제외할 도메인입니다. 각 도메인에 대해 addresswebsite.com 형식으로 지정해야 합니다. 도메인의 하위 페이지를 포함할지 여부를 지정하려면 IncludeSubpages을(를) true 또는 false로 설정할 수 있습니다. Array Yes 아니오

기술 자료에 할당

기술 자료에 만족하는 경우 기술 자료에서 기술 원본을 지정하는 다음 단계를 계속 진행 합니다.

기술 자료가 구성되면 검색 작업을 사용하여 기술 원본을 쿼리합니다.

지식 원본 삭제

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

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

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

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

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

     Knowledge Bases:
       - earth-knowledge-base
       - hotels-sample-knowledge-base
       - my-demo-knowledge-base
    
  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);
    

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

     {
       "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.");
    
  4. 지식 원본을 삭제합니다.

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

중요합니다

  • Grounding with Bing Search 및/또는 Grounding with Bing Custom Search를 사용하는 웹 지식 원본은 Bing 사용 약관Microsoft 개인정보처리방침에 따라 관리되는 자사 소비 서비스입니다.

  • Microsoft Data Protection 부록은 웹 지식 원본으로 전송된 데이터에 적용되지 않습니다. 고객이 웹 지식 원본을 사용하는 경우 고객 데이터는 Azure 규정 준수 및 지리적 경계 외부로 흐릅니다. 웹 지식 자원을 사용할 경우, 이는 해당되는 경우 데이터 주권 및 스크린/시민권 기반 지원을 포함하여 모든 향상된 정부 커뮤니티 클라우드의 보안 및 규정 준수 약속을 포기한다는 것을 의미합니다.

  • 웹 지식 원본을 사용하면 비용이 발생합니다. 가격 책정에 대해 자세히 알아봅니다.

  • Azure 관리자가 웹 지식 원본 사용에 대한 액세스를 관리하는 방법에 대해 자세히 알아봅니다.

비고

이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

웹 지식 원본 을 사용하면 에이전트 검색 파이프라인에서 Microsoft Bing에서 실시간 웹 데이터를 검색할 수 있습니다. 지식 원본 은 독립적으로 생성되고, 기술 자료에서 참조되며, 에이전트 또는 챗봇이 쿼리 시 검색 작업을 호출할 때 접지 데이터로 사용됩니다.

Bing Custom Search는 항상 웹 지식 원본의 검색 공급자입니다. 대체 검색 공급자 또는 엔진을 지정할 수는 없지만 , 같은 특정 https://learn.microsoft.com 포함하거나 제외할 수 있습니다. 도메인이 지정되지 않은 경우 웹 지식 원본은 전체 공용 인터넷에 무제한으로 액세스할 수 있습니다.

웹 지식 원본은 다른 지식 원본과 함께 가장 잘 작동합니다. 독점 콘텐츠가 완전한 up-to-date 답변을 제공하지 않거나 상용 검색 엔진의 정보로 결과를 보완하려는 경우 웹 지식 원본을 사용합니다.

웹 지식 원본을 사용하는 경우 다음 사항에 유의하세요.

  • 응답은 항상 웹의 원시 검색 결과 대신 쿼리에 대해 공식화된 단일 답변입니다.

  • 웹 지식 원본은 추출 데이터를 지원하지 않으므로 기술 자료는 응답 합성낮거나 중간 정도의 추론 작업을 사용해야 합니다. 응답 지침도 정의할 수 없습니다.

필수 조건

기존 지식 원본 확인

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

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

# 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은 웹 지식 원본 리소스에 대한 예제 응답입니다.

{
  "name": "my-web-ks",
  "kind": "web",
  "description": "A sample Web Knowledge Source.",
  "encryptionKey": null,
  "webParameters": {
    "domains": null
  }
}

지식 원본 만들기

다음 코드를 실행하여 웹 지식 원본 리소스를 만듭니다.

# Create Web Knowledge Source
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import WebKnowledgeSource, WebKnowledgeSourceParameters, WebKnowledgeSourceDomains

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

knowledge_source = WebKnowledgeSource(
    name = "my-web-ks",
    description = "A sample Web Knowledge Source.",
    encryption_key = None,
    web_parameters = WebKnowledgeSourceParameters(
        domains = WebKnowledgeSourceDomains(
            allowed_domains = [ { "address": "learn.microsoft.com", "include_subpages": True } ],
            blocked_domains = [ { "address": "bing.com", "include_subpages": False } ]
        )
    )
)

index_client.create_or_update_knowledge_source(knowledge_source)
print(f"Knowledge source '{knowledge_source.name}' created or updated successfully.")

원본별 속성

다음 속성을 전달하여 웹 지식 원본 리소스를 만들 수 있습니다.

이름 Description 유형 편집 가능 필수
name 지식 원본 컬렉션 내에서 고유해야 하며 Azure AI Search의 개체에 대한 명명 지침을 따라야 하는 지식 원본의 이름입니다. String Yes Yes
description 지식 원본에 대한 설명입니다. 지정되지 않은 경우 Azure AI Search는 기본 설명을 적용합니다. String Yes 아니오
encryption_key 기술 소스에서 중요한 정보를 암호화하는 고객 관리형 키 입니다. Object Yes 아니오
web_parameters 웹 지식 원본과 관련된 매개 변수입니다. 현재는 다음과 같습니다 domains. Object Yes 아니오
domains 검색 공간에서 허용하거나 차단해야 하는 도메인입니다. 기본적으로 지식 원본은 Bing Search와 함께 Grounding을 사용하여 전체 공용 인터넷을 검색합니다. 도메인을 지정할 때 지식 원본은 Bing Custom Search와 함께 Grounding을 사용하여 결과를 지정된 도메인으로 제한합니다. 두 경우 모두 Bing Custom Search는 검색 공급자입니다. Object Yes 아니오
allowed_domains 검색 공간에 포함할 도메인입니다. 각 도메인에 대해 addresswebsite.com 형식으로 지정해야 합니다. 도메인의 하위 페이지를 포함할지 여부를 지정하려면 include_subpages을(를) true 또는 false로 설정할 수 있습니다. Array Yes 아니오
blocked_domains 검색 공간에서 제외할 도메인입니다. 각 도메인에 대해 addresswebsite.com 형식으로 지정해야 합니다. 도메인의 하위 페이지를 포함할지 여부를 지정하려면 include_subpages을(를) true 또는 false로 설정할 수 있습니다. Array Yes 아니오

기술 자료에 할당

기술 자료에 만족하는 경우 기술 자료에서 기술 원본을 지정하는 다음 단계를 계속 진행 합니다.

기술 자료가 구성되면 검색 작업을 사용하여 기술 원본을 쿼리합니다.

지식 원본 삭제

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

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

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

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

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

중요합니다

  • Grounding with Bing Search 및/또는 Grounding with Bing Custom Search를 사용하는 웹 지식 원본은 Bing 사용 약관Microsoft 개인정보처리방침에 따라 관리되는 자사 소비 서비스입니다.

  • Microsoft Data Protection 부록은 웹 지식 원본으로 전송된 데이터에 적용되지 않습니다. 고객이 웹 지식 원본을 사용하는 경우 고객 데이터는 Azure 규정 준수 및 지리적 경계 외부로 흐릅니다. 웹 지식 자원을 사용할 경우, 이는 해당되는 경우 데이터 주권 및 스크린/시민권 기반 지원을 포함하여 모든 향상된 정부 커뮤니티 클라우드의 보안 및 규정 준수 약속을 포기한다는 것을 의미합니다.

  • 웹 지식 원본을 사용하면 비용이 발생합니다. 가격 책정에 대해 자세히 알아봅니다.

  • Azure 관리자가 웹 지식 원본 사용에 대한 액세스를 관리하는 방법에 대해 자세히 알아봅니다.

비고

이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

웹 지식 원본 을 사용하면 에이전트 검색 파이프라인에서 Microsoft Bing에서 실시간 웹 데이터를 검색할 수 있습니다. 지식 원본 은 독립적으로 생성되고, 기술 자료에서 참조되며, 에이전트 또는 챗봇이 쿼리 시 검색 작업을 호출할 때 접지 데이터로 사용됩니다.

Bing Custom Search는 항상 웹 지식 원본의 검색 공급자입니다. 대체 검색 공급자 또는 엔진을 지정할 수는 없지만 , 같은 특정 https://learn.microsoft.com 포함하거나 제외할 수 있습니다. 도메인이 지정되지 않은 경우 웹 지식 원본은 전체 공용 인터넷에 무제한으로 액세스할 수 있습니다.

웹 지식 원본은 다른 지식 원본과 함께 가장 잘 작동합니다. 독점 콘텐츠가 완전한 up-to-date 답변을 제공하지 않거나 상용 검색 엔진의 정보로 결과를 보완하려는 경우 웹 지식 원본을 사용합니다.

웹 지식 원본을 사용하는 경우 다음 사항에 유의하세요.

  • 응답은 항상 웹의 원시 검색 결과 대신 쿼리에 대해 공식화된 단일 답변입니다.

  • 웹 지식 원본은 추출 데이터를 지원하지 않으므로 기술 자료는 응답 합성낮거나 중간 정도의 추론 작업을 사용해야 합니다. 응답 지침도 정의할 수 없습니다.

필수 조건

기존 지식 원본 확인

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

기술 자료 사용 - 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은 웹 지식 원본 리소스에 대한 예제 응답입니다.

{
  "name": "my-web-ks",
  "kind": "web",
  "description": "A sample Web Knowledge Source.",
  "encryptionKey": null,
  "webParameters": {
    "domains": null
  }
}

지식 원본 만들기

기술 자료 사용 - REST API(만들기 또는 업데이트)를 사용하여 웹 지식 원본 리소스를 만듭니다.

PUT {{search-url}}/knowledgesources/my-web-ks?api-version=2025-11-01-preview
Content-Type: application/json
api-key: {{api-key}}

{
  "name": "my-web-ks",
  "kind": "web",
  "description": "This knowledge source pulls content from the web.",
  "encryptionKey": null,
  "webParameters": {
    "domains": {
      "allowedDomains": [ { "address": "learn.microsoft.com", "includeSubpages": true } ],
      "blockedDomains": [ { "address": "bing.com", "includeSubpages": false } ]
    }
  }
}

원본별 속성

다음 속성을 전달하여 웹 지식 원본 리소스를 만들 수 있습니다.

이름 Description 유형 편집 가능 필수
name 지식 원본 컬렉션 내에서 고유해야 하며 Azure AI Search의 개체에 대한 명명 지침을 따라야 하는 지식 원본의 이름입니다. String Yes Yes
kind 이 경우 지식 원본의 종류입니다 web . String 아니오 Yes
description 지식 원본에 대한 설명입니다. 지정되지 않은 경우 Azure AI Search는 기본 설명을 적용합니다. String Yes 아니오
encryptionKey 기술 소스에서 중요한 정보를 암호화하는 고객 관리형 키 입니다. Object Yes 아니오
webParameters 웹 지식 원본과 관련된 매개 변수입니다. 현재는 다음과 같습니다 domains. Object Yes 아니오
domains 검색 공간에서 허용하거나 차단해야 하는 도메인입니다. 기본적으로 지식 원본은 Bing Search와 함께 Grounding을 사용하여 전체 공용 인터넷을 검색합니다. 도메인을 지정할 때 지식 원본은 Bing Custom Search와 함께 Grounding을 사용하여 결과를 지정된 도메인으로 제한합니다. 두 경우 모두 Bing Custom Search는 검색 공급자입니다. Object Yes 아니오
allowedDomains 검색 공간에 포함할 도메인입니다. 각 도메인에 대해 addresswebsite.com 형식으로 지정해야 합니다. 도메인의 하위 페이지를 포함할지 여부를 지정하려면 includeSubpages을(를) true 또는 false로 설정할 수 있습니다. Array Yes 아니오
blockedDomains 검색 공간에서 제외할 도메인입니다. 각 도메인에 대해 addresswebsite.com 형식으로 지정해야 합니다. 도메인의 하위 페이지를 포함할지 여부를 지정하려면 includeSubpages을(를) true 또는 false로 설정할 수 있습니다. Array Yes 아니오

기술 자료에 할당

기술 자료에 만족하는 경우 기술 자료에서 기술 원본을 지정하는 다음 단계를 계속 진행 합니다.

기술 자료가 구성되면 검색 작업을 사용하여 기술 원본을 쿼리합니다.

지식 원본 삭제

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

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

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

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

    ### 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"
         }
         ]
     }
    
  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"
       }
     }
    
  3. 여러 원본이 있는 경우 기술 자료를 삭제하거나 기술 자료를 제거 하여 기술 자료를 업데이트합니다. 이 예제에서는 삭제를 보여줍니다.

    ### Delete a knowledge base
    DELETE {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview
    api-key: {{api-key}}
    
  4. 지식 원본을 삭제합니다.

    ### Delete a knowledge source
    DELETE {{search-endpoint}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview
    api-key: {{api-key}}