IBM Cloud Docs
客製化服務整合設定

客製化服務整合設定

企業

自訂服務整合使用您建立的搜尋功能來搜尋資訊。 您可以使用自訂服務與助理的對話式搜尋功能整合來產生 AI 回應。 這種整合支援伺服器端和客戶端的資訊檢索。

每個環境只能有一個搜尋整合。 當您將現有搜尋整合變更為其他整合類型(例如 IBM Watson® Discovery、Elasticsearch 或 Milvus 時,現有搜尋整合的設定將會被覆寫。

選擇客製化服務

若要選擇自訂服務作為搜尋集成,請使用下列流程之一:

  • 從集成頁面選擇自訂服務搜尋集成

    1. 創建後watsonx Assistant實例,轉到>整合
    2. 點選打開在 - 的裡面搜尋平鋪以查看「開啟搜尋」視窗。
    3. 在「開啟搜尋」視窗中,選擇 Draft 如果您想要在助手的草稿環境中設定自訂服務,請在下拉清單中選擇選項。 如果您想在助手的即時環境中設定自訂服務,請選擇 Live 下拉式選單中的選項。
    4. 在接下來的「編輯現有的新搜尋整合」視窗中,選擇客戶服務瓦。
  • 從環境頁面選擇自訂服務搜尋集成

    1. 創建後watsonx Assistant實例,轉到>環境

    2. 選擇 Draft 如果您想在草稿環境中設定自訂服務,請按一下標籤。 如果您想在即時環境中設定自訂服務,請選擇 Live 標籤。

    3. 在裡面解決方法部分,點擊添加在 - 的裡面搜尋平鋪在下面擴充如果您想要新增自訂服務搜尋整合。

      如果您已新增自訂服務搜尋集成,您會看到打開按鈕而不是添加在 - 的裡面搜尋平鋪在下面擴充

    4. Set up a new search extension 視窗中,選擇 「自訂服務」 磁貼以查看 Search integration 對話方塊。

    選擇自訂服務
    選擇自訂服務

您的助手在將搜尋參數直接傳遞到您的自訂服務或直接從中檢索搜尋結果方面存在限制。 您的「自訂服務搜尋整合」必須架設一個可存取的網頁伺服器,以執行助理提供的搜尋 API 介面,或是配置用來呼叫您的助理以提供搜尋結果的用戶端。 有關詳細信息,請參閱 設定自訂服務的檢索系統

使用伺服器憑證設定自訂服務

若要使用伺服器憑證在助理上設定自訂服務,請使用下列程序:

  1. 在裡面連接您的搜尋提供者的部分客戶服務視窗,選擇透過提供憑證。 依預設,會選取這個選項。

  2. 提供以下欄位以使您的助手能夠連接到您的自訂服務實例:

    • URL
    • 選擇驗證類型
      • 如果您選擇 Basic authentication,您必須提供使用者名稱密碼
      • 如果你選擇 API key,您必須提供 API金鑰
      • 如果你選擇 None,您無法提供任何其他身份驗證詳細資訊。
  3. 點選下一個要去對話式搜尋(可選)

  4. 如果您想啟動對話式搜索,請將對話式搜尋開關切換至 on。 有關會話式搜尋的更多信息,請參閱 會話式搜尋

  5. 填充預設過濾器元數據是可選的。 您可以將資訊放入這些欄位中,以便您的伺服器執行搜尋請求。 元資料必須是 JSON 對象,預設過濾器可以是文字字串。 您可以覆寫啟動搜尋的操作步驟或對話節點中的預設篩選器。 您無法透過其他選項覆蓋元數據,並且您提供的元數據適用於此整合的所有用途。 有關更多信息,請參閱 填充伺服器的預設過濾器和元數據

  6. 使用未找到結果連線問題選項卡可根據搜尋的成功情況自訂不同的訊息以與使用者共用。

    客製化服務搜尋結果訊息
    標籤 情境 範例訊息
    找不到任何結果 找不到任何搜尋結果 I searched my knowledge base for information that might address your query, but did not find anything useful to share.
    連線問題 由於某種原因,無法完成搜尋 I might have information that could help address your query, but am unable to search my knowledge base at the moment.
  7. 點選節省進而關閉結束使用伺服器憑證設定的自訂服務。

    選擇自訂服務伺服器
    選擇自訂服務伺服器

透過您的客戶端設定客製化服務

若要透過客戶端在助手上設定自訂服務,請使用下列流程:

  1. 在裡面連接您的搜尋提供者的部分客戶服務視窗中,選擇「透過您的客戶端」。

  2. 點選下一個要去對話式搜尋(可選)

  3. 如果您想啟動對話式搜索,請將對話式搜尋開關切換至 on。 有關會話式搜尋的更多信息,請參閱 會話式搜尋

  4. 填充預設過濾器元數據是可選的。 您可以將資訊放入這些欄位中,以便您的伺服器執行搜尋請求。 元資料必須是 JSON 對象,預設過濾器可以是文字字串。 您可以覆寫啟動搜尋的操作步驟或對話節點中的預設篩選器。 您無法透過其他選項覆蓋元數據,並且您提供的元數據適用於此整合的所有用途。 有關更多信息,請參閱 填寫 client 的預設過濾器和元資料

  5. 使用未找到結果連線問題選項卡可根據搜尋的成功情況自訂不同的訊息以與使用者共用。

    客製化服務搜尋結果訊息
    標籤 情境 範例訊息
    找不到任何結果 找不到任何搜尋結果 I searched my knowledge base for information that might address your query, but did not find anything useful to share.
    連線問題 由於某種原因,無法完成搜尋 I might have information that could help address your query, but am unable to search my knowledge base at the moment.
  6. 按一下 「儲存」, 然後按一下「關閉」 以結束在用戶端設定的自訂服務。

設定 Milvus 進行客製化服務

Milvus 是一個向量資料庫,可用於處理大規模資料集。 對於需要即時搜尋功能和眾多並發使用者的應用程式,您可以使用 Milvus,它擁有分散式架構、高效能和彈性的資料模型。

您可以直接與您的 watsonx.data Milvus 整合進行對話式搜尋,而不需要使用自訂的服務。 有關更多信息,請參閱 Milvus 搜尋整合設定

您需要使用自訂服務搜索,以利用 Milvus 的更高級搜尋功能,例如:

使用伺服器憑證設定 Milvus

  1. 若要設定 watsonx.data Milvus,請參閱 設定與 watsonx.data Milvus搜尋整合指南
  2. 如需使用伺服器憑證在您的助手上進行一般設定,請參閱 使用伺服器憑證設定自訂服務
  3. 有關 Milvus 示例和參考的更多信息,請參閱 Milvus 示例

透過您的客戶端設定 Milvus

按照 透過客戶端設定自訂服務 中的步驟,透過客戶端在助手上設定 Milvus。

為自訂服務設定檢索系統

要將自訂服務與搜尋整合結合使用,您必須透過提供伺服器或讓客戶端呼叫您的助手來提供搜尋結果來整合您的搜尋功能。 如果檢索模式與助理提供的模式匹配,您可以使用自己的檢索。 如果您的檢索模式與助手的模式不匹配,您必須提供一個執行模式對應的包裝器。 您可以將包裝器部署為服務,或者您的聊天用戶端可以啟動它。 當您想要組合不同的來源或呼叫不符合助理搜尋結果架構的程式庫或服務時,建立包裝器非常有用。

設定用於自訂服務檢索的伺服器

用於自訂服務擷取的伺服器必須實作以下 API:

查詢: POST <server_url>

要求

{
    "query": "<QUERY>",
    "filter": "<FILTER>", // optional
    "metadata": {
        // optional, you can fill any information here
    }
}

回應

{

  "search_results": [
    {
      "result_metadata": { // optional
        "score": <SCORE as a number>
      },
      "title": "<TITLE>",
      "body": "<BODY>",
      "url": "<URL>", // optional
      "highlight": { // optional, will be used instead of "body" for Conversational Search if provided
        "body": [
          "<HIGHLIGHT1>",
          "<HIGHLIGHT2>",
           ...
        ]
      }
    }
  ]

}

請求中的元資料和整個回應對像不得超過 100 KB。

設定客戶端以進行自訂服務檢索

您可以從以下 API 中看到以下回應 /訊息API在運行時請求搜尋:

{
    "output": {
        "intents": [ ... ],
        "actions": [
            {
                "type": "search",
                "query": "<QUERY>",
                "filter": "<FILTER>",
                "metadata": { // optional
                    /* you can use any JSON object here */
                }
            }
        ]
    }
}

每當聊天用戶端收到該表單的回應時(它在 output.actions 類型清單 search),它透過下一次呼叫將結果傳回助手 /message API 如下:

{
    "input": {
        "message_type": "search_results",
         "search_results": [
          {
            "result_metadata": { // optional
                "score": <SCORE as a number>
            },
            "title": "<TITLE>",
            "body": "<BODY>",
            "url": "<URL>", // optional
            "highlight": { // optional, will be used instead of "body" for Conversational Search if provided
                "body": [
                "<HIGHLIGHT1>",
                "<HIGHLIGHT2>",
                ...
                ]
            }
         }
     ]
  }
}

您的助手回應限制不能超過 100 KB。 如果您的助理獲得 search_results 如果訊息體超過 100 KB,它會傳回 400 回應。

處理對話式搜尋中的搜尋結果

當您透過提供伺服器憑證或從用戶端傳送結果來設定自訂服務時,如果您啟用自訂服務的對話式搜尋,您會得到以下行為:

  1. 會話式搜尋從頭到尾迭代搜尋結果。
  2. 從每個搜尋結果來看:
    • 如果你沒有 highlight.body 列表,它需要 body 作為文字片段。
    • 如果一個 highlight.body 列表存在,它將該列表中的每個元素作為文字片段。
  3. 丟棄重複的文字片段後,它繼續迭代搜尋結果並 highlight.body 列出直到有 5 個文字片段。
  4. 會話式搜尋應用程式預先產生篩選模型來比較查詢和搜尋結果,以判斷結果與查詢的相關性。 如果預生成濾波器模型產生兩個分數:
    • 低分,對話式搜尋返回我不知道訊號。 欲了解更多信息我不知道信號,參見 對話式搜尋
    • 高分數對話式搜尋會將片段以及對應的標題傳送到生成式 AI 模型以產生答案。
  5. 如果文字太長,生成式 AI 模型無法處理,它會重複丟棄最後一個片段或標題對,直到文字變短。 當它沒有文字時,搜尋失敗。
  6. 對話式搜尋將響應應用於後過濾器模型。 如果後置過濾器模型產生兩個分數:
    • 低分,對話式搜尋返回我不知道訊號。
    • 高分對話式搜尋會傳回產生的回應以及所有 search_results 到調用的應用程式。

您的助手對其他搜尋選項遵循相同的流程,例如Elasticsearch和IBM Watson® Discovery。

新增單獨的字段 bodyhighlight.body

當。highlight.body 存在,它用於產生會話搜尋答案,否則 body 用來。 兩者都作為搜尋結果物件的一部分傳遞給客戶端,並且客戶端提供答案的上下文。 例如,內建網路聊天顯示 body 文字。 如果您點擊某些搜尋結果的引文卡,您將看不到該搜尋結果的 URL。

使用字段的建議:

  • 如果搜尋技術傳回文件的較短部分,請在搜尋中使用文件的這些部分 body 字段並省略 highlight.body。 例如,許多向量資料庫解決方案僅儲存文件的 512 個標記段。
  • 如果搜尋技術同時傳回文件的簡短部分(「段落」或「反白」或「片段」)和文件的全文,請使用文件中的簡短部分 highlight.body 字段並使用全文 body 場地。

新增可選的用戶定義元數據

對於客戶端和伺服器,結果的模式包括 metadata 場和一個 result_metadata 場地。

使用字段的建議:

  • metadata 欄位將設定資訊傳送到搜尋功能。 用於搜尋功能的配置資訊的一些範例包括索引名稱、嵌入模型名稱、請求的段落長度、要增強的欄位等等。 以下原因解釋了為什麼使用 metadata 將設定資訊傳遞給伺服器或客戶端的欄位:
    • 多個助手可以使用相同的伺服器或客戶端程式碼,但具有不同的配置。
    • 即使只有一名助手,也可以透過助手介面輕鬆更新配置。
  • result_metadata 欄位將有關搜尋結果的附加資訊從伺服器或用戶端傳送到助手。 助理將訊息作為工作的一部分傳遞 search_results 最終響應中的物件。 呼叫應用程式使用附加資訊。 例如,當 result_metadata 發送搜尋結果中圖像的 URL,呼叫應用程式將圖像與回應一起呈現。