共用方式為


建立遠端 SharePoint 知識來源

備註

這項功能目前處於公開預覽狀態。 此預覽版在沒有服務等級協議的情況下提供,不建議用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 欲了解更多資訊,請參閱Microsoft Azure預覽補充使用條款

一個遠端 SharePoint 知識來源使用 Copilot Retrieval API 來直接從 Microsoft 365 的 SharePoint 查詢文字內容。 不需要搜尋索引或連接字串。 僅查詢文字內容,使用費用透過 Microsoft 365 及 Copilot 授權計費。

為了限制網站或限制搜尋,請設定 篩選表達 式以 URL、日期範圍、檔案類型及其他元資料為範圍。 來電者的身份必須同時被 Azure 租戶與 Microsoft 365 租戶識別,因為檢索引擎會代表使用者查詢 SharePoint。

像其他知識來源一樣,你在 knowledge base 指定遠端SharePoint知識來源,並在查詢時當代理或聊天機器人呼叫 retrieve action 時,將結果作為基礎資料。

使用支援

Azure portal Microsoft Foundry 入口 .NET SDK Python SDK Java SDK JavaScript SDK REST API
✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

先決條件

  • Azure AI 搜尋服務在任何提供自主檢索的區域。 你必須 啟用語意排序器

  • SharePoint 位於 Microsoft 365 租戶中,與 Azure 共享相同的 Microsoft Entra ID 租戶。

  • 使用 Microsoft 365 Copilot 授權,用於查詢時存取 SharePoint 內容。

  • 在 Azure AI 搜尋服務 上建立及使用物件的權限。 我們建議使用 基於角色的存取,但如果角色指派不可行,也可以使用 API 金鑰 。 欲了解更多資訊,請參閱 「連接搜尋服務」。

局限性

以下 Copilot檢索 API 的限制適用於遠端SharePoint知識來源。

  • 沒有支援 Copilot 連接器或 OneDrive 內容。 內容僅從 SharePoint 網站擷取。

  • 每位用戶每小時最多 200 個請求。

  • 查詢字元限制為 1,500 個字元。

  • 混合查詢僅支援以下檔案副檔名:.doc、.docx、.pptx、.pdf、.aspx 和 .one。

  • 不支援多模態檢索(非文字內容,包括表格、圖片和圖表)。

  • 查詢最多可獲得25個結果。

  • Copilot Retrieval API 會以未排序的狀態回傳結果。

  • 無效關鍵字查詢語言(KQL)過濾器表達式會被忽略,查詢繼續執行而無需該過濾器。

檢查現有的知識來源

知識來源是一個頂層、可重複使用的物件。 瞭解現有的知識來源有助於重複使用或命名新物件。

執行以下程式碼,依名稱和類型列出知識來源。

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

知識來源是一個頂層、可重複使用的物件。 瞭解現有的知識來源有助於重複使用或命名新物件。

執行以下程式碼,依名稱和類型列出知識來源。

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

知識來源是一個頂層、可重複使用的物件。 瞭解現有的知識來源有助於重複使用或命名新物件。

使用 知識來源 - 取得 (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 是一個遠端 SharePoint 知識來源的範例回應。

{
  "name": "my-sharepoint-ks",
  "kind": "remoteSharePoint",
  "description": "A sample remote SharePoint knowledge source",
  "encryptionKey": null,
  "remoteSharePointParameters": {
    "filterExpression": "filetype:docx",
    "containerTypeId": null,
    "resourceMetadata": [
      "Author",
      "Title"
    ]
  }
}

建立知識來源

執行以下程式碼建立遠端 SharePoint 知識來源。

// Create a remote SharePoint 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), credential);

var knowledgeSource = new RemoteSharePointKnowledgeSource(name: "my-remote-sharepoint-ks")
{
    Description = "This knowledge source queries .docx files in a trusted Microsoft 365 tenant.",
    RemoteSharePointParameters = new RemoteSharePointKnowledgeSourceParameters()
    {
        FilterExpression = "filetype:docx",
        ResourceMetadata = { "Author", "Title" }
    }
};

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

執行以下程式碼建立遠端 SharePoint 知識來源。

# Create a remote SharePoint knowledge source
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import RemoteSharePointKnowledgeSource, RemoteSharePointKnowledgeSourceParameters

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

knowledge_source = RemoteSharePointKnowledgeSource(
    name = "my-remote-sharepoint-ks",
    description= "This knowledge source queries .docx files in a trusted Microsoft 365 tenant.",
    encryption_key = None,
    remote_share_point_parameters = RemoteSharePointKnowledgeSourceParameters(
        filter_expression = "filetype:docx",
        resource_metadata = ["Author", "Title"],
        container_type_id = None
    )
)

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

使用 Knowledge Sources - 建立或更新(REST API)來建立遠端SharePoint知識來源。

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

{
    "name": "my-remote-sharepoint-ks",
    "kind": "remoteSharePoint",
    "description": "This knowledge source queries .docx files in a trusted Microsoft 365 tenant.",
    "encryptionKey": null,
    "remoteSharePointParameters": {
        "filterExpression": "filetype:docx",
        "resourceMetadata": [ "Author", "Title" ],
        "containerTypeId": null
    }
}

來源特異性特性

你可以傳遞以下屬性來建立遠端的 SharePoint 知識來源。

名稱 Description 類型 可編輯 為必填項目
Name 知識來源的名稱必須在知識來源集合中唯一,並遵循Azure AI 搜尋服務中物件的命名指引 繩子 Yes
Description 這是知識來源的描述。 繩子 Yes
EncryptionKey 使用由客戶管理的金鑰來加密知識源中的敏感資訊。 物體 Yes
RemoteSharePointParameters 遠端SharePoint知識來源專用參數:FilterExpressionResourceMetadata 以及 ContainerTypeId 物體
FilterExpression 一個以 SharePoint KQL 撰寫的表達式,用於指定網站及內容路徑。 繩子 Yes
ResourceMetadata 一組標準的元資料欄位陣列:作者、檔案名稱、建立日期、內容類型和檔案類型。 Array Yes
ContainerTypeId SharePoint 嵌入式連線的容器 ID。 若未指定,則使用 SharePoint Online。 繩子 Yes
名稱 Description 類型 可編輯 為必填項目
name 知識來源的名稱必須在知識來源集合中唯一,並遵循Azure AI 搜尋服務中物件的命名指引 繩子 Yes
description 這是知識來源的描述。 繩子 Yes
encryption_key 使用由客戶管理的金鑰來加密知識源中的敏感資訊。 物體 Yes
remote_share_point_parameters 遠端SharePoint知識來源專用參數:filter_expressionresource_metadata 以及 container_type_id 物體
filter_expression 一個以 SharePoint KQL 撰寫的表達式,用於指定網站及內容路徑。 繩子 Yes
resource_metadata 一組標準的元資料欄位陣列:作者、檔案名稱、建立日期、內容類型和檔案類型。 Array Yes
container_type_id SharePoint 嵌入式連線的容器 ID。 若未指定,則使用 SharePoint Online。 繩子 Yes
名稱 Description 類型 可編輯 為必填項目
name 知識來源的名稱必須在知識來源集合中唯一,並遵循Azure AI 搜尋服務中物件的命名指引 繩子 Yes
kind 這種知識來源,在這個情況下是 remoteSharePoint 繩子 Yes
description 這是知識來源的描述。 繩子 Yes
encryptionKey 使用由客戶管理的金鑰來加密知識源中的敏感資訊。 物體 Yes
remoteSharePointParameters 遠端SharePoint知識來源專用參數:filterExpressionresourceMetadata 以及 containerTypeId 物體
filterExpression 一個以 SharePoint KQL 撰寫的表達式,用於指定網站及內容路徑。 繩子 Yes
resourceMetadata 一組標準的元資料欄位陣列:作者、檔案名稱、建立日期、內容類型和檔案類型。 Array Yes
containerTypeId SharePoint 嵌入式連線的容器 ID。 若未指定,則使用 SharePoint Online。 繩子 Yes

濾波器表達式範例

並非所有 SharePoint 屬性都被 filterExpression 支援。 有關支援屬性的清單,請參閱 API 參考文獻。 關於可查詢的屬性,請參閱可查詢項目

想了解更多關於 KQL 濾波器的 資訊,請參考語法參考。

Example 濾波器表達式
依識別碼篩選為單一網站 "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\""
依識別碼篩選為多個網站 "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\" OR SiteID:\"11bb11bb-cc22-dd33-ee44-55ff55ff55ff\""
篩選特定路徑下的檔案 "filterExpression": "Path:\"https://my-demo.sharepoint.com/sites/mysite/Shared Documents/en/mydocs\""
篩選到特定日期範圍 "filterExpression": "LastModifiedTime >= 2024-07-22 AND LastModifiedTime <= 2025-01-08"
篩選特定類型的檔案 "filterExpression": "FileExtension:\"docx\" OR FileExtension:\"pdf\" OR FileExtension:\"pptx\""
篩選具有特定資訊保護標籤的檔案 "filterExpression": "InformationProtectionLabelId:\"f0ddcc93-d3c0-4993-b5cc-76b0a283e252\""

指派到知識庫

如果你對知識來源感到滿意,就繼續下一步:在 知識庫中指定知識來源。

查詢知識庫

知識庫設定完成後,使用 retrieve action 查詢SharePoint內容。 遠端 SharePoint 具備針對原始碼的行為,包括查詢時篩選、查詢表述、回應欄位及權限強制執行。

在查詢時套用 KQL 濾波器

您可以在擷取要求的 FilterExpressionAddOn 中傳遞 KnowledgeSourceParams,以便在查詢時套用 KQL 篩選器。 如果您在擷取要求中指定 FilterExpressionAddOn,並在知識來源定義中指定 FilterExpression,這些篩選器將以「AND」邏輯合併。

var retrievalRequest = new KnowledgeBaseRetrievalRequest();
retrievalRequest.Messages.Add(
    new KnowledgeBaseMessage(
        content: new[] {
            new KnowledgeBaseMessageTextContent("contoso product planning")
        }
    ) { Role = "user" }
);
retrievalRequest.KnowledgeSourceParams.Add(
    new RemoteSharePointKnowledgeSourceParams("my-remote-sharepoint-ks")
    {
        FilterExpressionAddOn = "filetype:docx"
    }
);

var result = await kbClient.RetrieveAsync(
    retrievalRequest, xMsQuerySourceAuthorization: token
);

您可以在擷取要求的 filter_expression_add_on 中傳遞 knowledge_source_params,以便在查詢時套用 KQL 篩選器。 如果您在擷取要求中指定 filter_expression_add_on,並在知識來源定義中指定 filter_expression,這些篩選器將以「AND」邏輯合併。

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

request = KnowledgeBaseRetrievalRequest(
    messages=[
        KnowledgeBaseMessage(
            role="user",
            content=[
                KnowledgeBaseMessageTextContent(
                    text="contoso product planning"
                )
            ],
        )
    ],
    knowledge_source_params=[
        RemoteSharePointKnowledgeSourceParams(
            knowledge_source_name="my-remote-sharepoint-ks",
            filter_expression_add_on="filetype:docx",
        )
    ],
)

result = kb_client.retrieve(
    retrieval_request=request,
    x_ms_query_source_authorization=token,
)

您可以在擷取要求的 filterExpressionAddOn 中傳遞 knowledgeSourceParams,以便在查詢時套用 KQL 篩選器。 如果您在擷取要求中指定 filterExpressionAddOn,並在知識來源定義中指定 filterExpression,這些篩選器將以「AND」邏輯合併。

POST {{search-url}}/knowledgebases/{{knowledge-base-name}}/retrieve?api-version=2025-11-01-preview
Authorization: Bearer {{accessToken}}
Content-Type: application/json
x-ms-query-source-authorization: {{user-access-token}}

{
    "messages": [
        {
            "role": "user",
            "content": [
                { "type": "text", "text": "contoso product planning" }
            ]
        }
    ],
    "knowledgeSourceParams": [
        {
            "knowledgeSourceName": "my-remote-sharepoint-ks",
            "kind": "remoteSharePoint",
            "filterExpressionAddOn": "filetype:docx"
        }
    ]
}

撰寫有效的查詢

詢問內容本身的查詢比詢問檔案位置或最後更新時間更有效。 例如,「Ignite 2024 的專題演講文件在哪裡」可能不會傳回任何結果,因為內容本身並未揭露其位置。 FilterExpression on metadata 是處理檔案位置或特定日期查詢的更好方法。

詢問內容本身的查詢比詢問檔案位置或最後更新時間更有效。 例如,「Ignite 2024 的專題演講文件在哪裡」可能不會傳回任何結果,因為內容本身並未揭露其位置。 filter_expression on metadata 是處理檔案位置或特定日期查詢的更好方法。

詢問內容本身的查詢比詢問檔案位置或最後更新時間更有效。 例如,「Ignite 2024 的專題演講文件在哪裡」可能不會傳回任何結果,因為內容本身並未揭露其位置。 filterExpression on metadata 是處理檔案位置或特定日期查詢的更好方法。

「Ignite 2024 的專題演講文件為何」是更有效的提問。 回應包含綜合答案、查詢活動與標記數,以及網址和其他元資料。

SharePoint 專屬回應欄位

遠端SharePoint結果包含其他知識來源類型不會出現的欄位,如 resourceMetadatawebUrl 以及 searchSensitivityLabelInfo

{
    "resourceMetadata": {
        "Author": "Nuwan Amarathunga;Nurul Izzati",
        "Title": "Ignite 2024 Keynote Address"
    },
    "rerankerScore": 2.489522,
    "webUrl": "https://contoso-my.sharepoint.com/keynotes/Documents/Keynote-Ignite-2024.docx",
    "searchSensitivityLabelInfo": {
        "displayName": "Confidential\\Contoso Extended",
        "sensitivityLabelId": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333",
        "tooltip": "Data is classified and protected.",
        "priority": 5,
        "color": "#FF8C00",
        "isEncrypted": true
    }
}

在查詢過程中強制執行權限

遠端 SharePoint 知識來源可在查詢時強制執行 SharePoint 權限。 要啟用此篩選功能,請在擷取請求中包含終端使用者的存取權杖。 檢索引擎會將憑證傳給 Copilot Retrieval API,該 API 會查詢 SharePoint,並只回傳使用者有權限的內容。 SharePoint 權限與 Microsoft Purview 敏感度標籤皆被尊重。

由於遠端 SharePoint 不使用搜尋索引,因此不需要設定資料擷取時間的權限。 唯一的要求是存取令牌。

關於傳遞權杖的說明,請參閱在查詢時強制執行權限

刪除知識來源

在刪除知識來源之前,必須刪除所有引用該來源的知識庫,或更新知識庫定義以移除該參考。 對於產生索引與索引管線的知識來源,所有 產生的物件 也會被刪除。 不過,如果你用現有的索引建立知識來源,你的索引不會被刪除。

如果你嘗試刪除正在使用的知識來源,該動作會失敗,並回傳一份受影響的知識庫清單。

刪除知識來源:

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

在刪除知識來源之前,必須刪除所有引用該來源的知識庫,或更新知識庫定義以移除該參考。 對於產生索引與索引管線的知識來源,所有 產生的物件 也會被刪除。 不過,如果你用現有的索引建立知識來源,你的索引不會被刪除。

如果你嘗試刪除正在使用的知識來源,該動作會失敗,並回傳一份受影響的知識庫清單。

刪除知識來源:

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

在刪除知識來源之前,必須刪除所有引用該來源的知識庫,或更新知識庫定義以移除該參考。 對於產生索引與索引管線的知識來源,所有 產生的物件 也會被刪除。 不過,如果你用現有的索引建立知識來源,你的索引不會被刪除。

如果你嘗試刪除正在使用的知識來源,該動作會失敗,並回傳一份受影響的知識庫清單。

刪除知識來源:

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