1. 總覽
專利研究是龐大而複雜的。要逐一篩選無數技術抽象化,以找出相關創新,是一項艱鉅的任務。傳統的關鍵字搜尋通常不準確且耗時。抽象化架構繁瑣,且需要專業技術,因此難以迅速掌握核心概念。這可能會導致研究人員錯失重要專利,或是耗費時間研究不相關的結果。
這次革命背後的祕密來自於 Vector Search。向量搜尋不依賴簡單的關鍵字比對,而是將文字轉換為數值表示法 (嵌入)。這讓我們可以根據查詢的意義進行搜尋,而不是只根據使用的特定字詞進行搜尋。以文學搜尋的領域來說,這是扭轉局勢的關鍵。想像使用「穿戴式心率監測器」的專利即使文件中沒有使用完全相符的詞組也一樣。
挑戰:現代文獻搜尋應能根據個人偏好的立即獲得答案和智慧推薦。傳統的搜尋方法通常無法提供這樣的個人化功能。
解決方案:我們知識導向的即時通訊應用程式可協助您克服這項挑戰。這項功能會運用擷取自專利資料集的豐富知識庫來解讀客戶意圖、以智慧方式回應,並提供高度相關的結果。
建構項目
在這個研究室 (第 2 單元) 中,您將完成以下工作:
- 建構 Vertex AI Agent Builder 虛擬服務專員
- 將 AlloyDB 工具與代理程式整合
需求條件
2. 建築
資料流:讓我們進一步瞭解資料如何在我們的系統中移動:
內容擷取:
專利資料會載入 AlloyDB。
數據分析引擎:
我們會使用 AlloyDB 做為數據分析引擎執行下列作業:
- 情境擷取:引擎會分析 AlloyDB 中儲存的資料,藉此瞭解專利資料集。
- 建立嵌入項目:針對使用者查詢和儲存在 AlloyDB 中的資訊,產生嵌入 (文字的數學表示法)。
- Vector Search:引擎會進行相似度搜尋,將嵌入查詢與專利抽象層的嵌入進行比較。這會找出最相關的「最鄰近項目」與搜尋內容相比
產生回應:
通過驗證的回應會結構化成 JSON 陣列,且整個引擎會封裝至透過 Agent Builder 叫用的無伺服器 Cloud Run 函式。
上述步驟已在本研究室的第 1 部分 中介紹。
我們討論瞭如何建立知識導向分析引擎的技術細節,做為智慧專利搜尋助理的技術基礎。現在,讓我們一起看看我們如何運用 Agent Builder 的神奇功能,透過對話式介面生動呈現這個引擎。開始進行第 2 部分前,請確認您已備妥端點網址。本研究室將說明以下後續步驟:
對話互動:
Agent Builder 會以自然語言格式向使用者顯示回應,讓使用者能夠輕鬆往返對話。
3. 事前準備
建立專案
- 在 Google Cloud 控制台的專案選取器頁面中,選取或建立 Google Cloud 專案。
- 確認 Cloud 專案已啟用計費功能。瞭解如何檢查專案是否已啟用帳單功能。
- 您將使用 Cloud Shell,這是在 Google Cloud 中執行的指令列環境,已預先載入 bq。按一下 Google Cloud 控制台頂端的「啟用 Cloud Shell」。
- 連線至 Cloud Shell 後,請使用下列指令來檢查是否已通過驗證,以及專案是否已設為專案 ID:
gcloud auth list
- 在 Cloud Shell 中執行下列指令,確認 gcloud 指令知道您的專案。
gcloud config list project
- 如果尚未設定專案,請使用下列指令進行設定:
gcloud config set project <YOUR_PROJECT_ID>
- 啟用必要的 API。gcloud 指令的替代方案,則是透過搜尋每項產品或使用這個連結,透過控制台執行。
如果在導入過程中找不到任何 API,隨時可以啟用。
如要查看 gcloud 指令和使用方式,請參閱說明文件。
重要注意事項:此外,請務必完成研究室的第 1 部分,完成這項操作。
4. 建立虛擬服務專員
隆重推出 Agent Builder
Agent Builder 是功能強大、只需編寫少量程式碼的工具,可幫助我們快速有效率地建立對話虛擬服務專員。這可以簡化設計對話流程、整合知識庫及連線至外部 API 的程序。在本範例中,我們將使用 Agent Builder,與我們在第 1 部分建立的 Cloud Function 端點流暢連結,讓專利搜尋助理存取專利知識庫,並以智慧方式回應使用者查詢。
確認您已在第 1 部分中建立的 Java Cloud Run 函式 傳回 JSON ARRAY,而非純文字。
建構代理程式
讓我們開始建立這個新代理程式,回答有關服飾產品的使用者問題。
- 首先,請登入Agent Builder 平台。如果系統提示您啟用 API,請按一下「繼續」並啟用 API。
- 按一下 [建立應用程式]並為代理程式取個清楚易懂的名稱 (例如「專利搜尋助理」)。
- 按一下應用程式類型「Agent」。
- ,直接在 Google Cloud 控制台實際操作。為服務專員輸入描述性名稱,例如「專利搜尋助理」並將區域設為 us-central1
- 輸入代理程式的詳細資料:
- 將代理人名稱變更為「專利搜尋代理程式」。
- 新增下方的「目標」:
You are a professional intelligent patent search agent! Your job is to help the customer find patents matching the context of their search text.
- 請儲存現在的代碼,暫時將說明留白。
- 接著按一下導覽選單中的「工具」,然後點選「建立」
輸入工具名稱:專利搜尋工具
類型:OpenAPI
輸入工具說明:
This tool refers to the dataset in the backend as the context information for product inventory. It takes as input the user's search text summarized by the agent and matches with the most appropriate list of items and returns as an array of items.
輸入結構定義,並以 YAML 格式開啟 OpenAPI:
這就是我們使用後端端點為代理程式供電的部分。複製下列 OpenAPI 規格,然後將網址預留位置 (夾在角括號中) 替換為您的 Cloud 函式端點:
openapi: 3.0.0
info:
title: Patent Search API
version: v1
servers:
- url: YOUR_CLOUDFUNCTION_ENDPOINT_URL
paths:
/patent-search:
post:
summary: Search for patents using a text query.
requestBody:
content:
application/json:
schema:
type: object
properties:
search:
type: string
description: The text query to search for patents.
example: A new Natural Language Processing related Machine Learning Model
responses:
'200':
description: Successful search response with a JSON array of matching patents.
content:
application/json:
schema:
type: array
items:
type: object
properties:
result:
type: string
description: Patent title.
'400':
description: Invalid request body.
'500':
description: Internal server error.
其餘設定則保留預設值,然後點選「儲存」。
- 我們想要新增「工具」,因此請返回代理程式。設為代理程式的「操作說明」在操作說明預留位置中加入下方文字 (請注意,縮排對於定義流程很重要):
- Greet the users, then ask how you can help them today.
- Summarize the user's request and ask them to confirm that you understood correctly.
- If necessary, seek clarifying details.
- Use ${TOOL:Patent Search Tool} to help the user with their task.
- Return the response from the ${TOOL:Patent Search Tool} to the user in a well formed string.
- Thank the user for their business and say goodbye.
接著確認使用「專利搜尋工具」在「可用工具」中選取專區,然後再次儲存代理程式
5. 測試代理程式
右側窗格中應會顯示「Preview Agent」部分,讓您測試代理程式。
如下方的螢幕截圖所示,我已向使用者打電話問候,並在即時通訊中提出「Matching patent for any fitness tracker ideas」(比對任何健身智慧手環靈感的專利) 要求:
以下是 JSON 回應:
這是來自 Cloud 函式的原始 JSON 結果,該函式會處理 AlloyDB 相似度搜尋。大功告成!服務專員現在已完成所有設定。
6. 部署和整合
如果您對代理程式感到滿意,就可以使用 Agent Builder 的整合功能,輕鬆將其部署至各種管道。您可以將徽章嵌入自家網站、與熱門訊息平台整合,甚至建構專屬的行動應用程式。也可以直接在我們的網路用戶端應用程式中使用 Agent Builder API,詳情請參閱這個網誌。
7. 清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本文中所用資源的費用,請按照下列步驟操作:
- 前往 Google Cloud 控制台中的「管理」
- 資源頁面。
- 在專案清單中選取要刪除的專案,然後點按「刪除」。
- 在對話方塊中輸入專案 ID,然後按一下「Shut down」(關閉) 即可刪除專案。
8. 恭喜
恭喜!將強大的分析引擎功能與 Agent Builder 直覺化介面相互整合,我們打造出智慧型文獻搜尋助理,讓使用者能輕鬆存取文獻、以有效率的方式搜尋文獻,並且真正以意義為依據。我們結合 AlloyDB、Vertex AI 和 Vector Search 的功能,大幅提高語境和向量搜尋的效率、效率、意義明確,以及建立人性化的搜尋體驗。