1. 概要
特許調査は広範囲にわたる複雑な作業です。関連するイノベーションを見つけるために、無数の技術概要を精査するのは大変な作業です。従来のキーワード ベースの検索は、多くの場合、不正確で時間がかかります。要約が長く、技術的な内容であるため、基本的な概念をすぐに把握するのが難しい。これにより、研究者が重要な特許を見逃したり、無関係な結果に時間を費やしたりする可能性があります。
この革命の裏にある秘訣は、ベクトル検索にあります。ベクトル検索では、単純なキーワード マッチングに依存するのではなく、テキストを数値表現(エンベディング)に変換します。これにより、使用された特定の単語だけでなく、クエリの意味に基づいて検索できます。文献検索の世界では、これは画期的な機能です。たとえば、「ウェアラブル心拍数モニター」という語句が文書に記載されていなくても、その特許を見つけることができます。
課題: 現代の文学検索では、独自の好みに沿った回答とインテリジェントな推奨事項を即座に提供することが求められています。従来の検索方法では、このレベルのパーソナライズを実現できないことがよくあります。
解決策: 知識主導型のチャット アプリケーションは、この課題に正面から取り組んでいます。特許データセットから得られた豊富なナレッジベースを活用して、顧客の意図を理解し、インテリジェントに応答して、関連性の高い結果を提供します。
作成するアプリの概要
このラボ(パート 2)では、次の作業を行います。
- Vertex AI Agent Builder エージェントを構築する
- AlloyDB ツールをエージェントと統合する
要件
2. アーキテクチャ
データフロー: データがシステム内をどのように移動するかを詳しく見てみましょう。
取り込み:
特許データが AlloyDB に読み込まれます。
Analytics Engine:
AlloyDB を分析エンジンとして使用して、次の処理を行います。
- コンテキスト抽出: エンジンは AlloyDB に保存されているデータを分析して、特許データセットを理解します。
- エンベディングの作成: ユーザーのクエリと AlloyDB に保存されている情報の両方に対して、エンベディング(テキストの数学的表現)が生成されます。
- ベクトル検索: エンジンは類似性検索を実行し、クエリ エンベディングと特許要約のエンベディングを比較します。これにより、ユーザーが検索しているコンテキストに最も関連性の高い「最近傍」が特定されます。
回答の生成:
検証済みのレスポンスは JSON 配列に構造化され、エンジン全体が Agent Builder から呼び出されるサーバーレスの Cloud Run 関数にパッケージ化されます。
上記の手順は、ラボのパート 1ですでに説明されています。
スマート特許検索アシスタントを支える知識主導型分析エンジンの作成に関する技術的な詳細について説明しました。次に、エージェント ビルダーの魔法を活用して、このエンジンを会話型インターフェースで実現する方法について説明します。パート 2 を開始する前に、エンドポイント URL を準備しておいてください。次のステップは、このラボで取り上げます。
会話型の操作:
Agent Builder は、自然言語形式でユーザーにレスポンスを表示し、双方向の対話を促進します。
3. 始める前に
プロジェクトを作成する
- Google Cloud コンソールのプロジェクト選択ページで、Google Cloud プロジェクトを選択または作成します。
- Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。
- Cloud Shell(Google Cloud で動作するコマンドライン環境)を使用します。この環境には bq がプリロードされています。Google Cloud コンソールの上部にある [Cloud Shell をアクティブにする] をクリックします。
![[Cloud Shell をアクティブにする] ボタンの画像](https://codelabs.developers.google.com/static/smart-patent-agent-vertexai/img/7875ca05ca6f7cab.png?hl=ja)
- 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 Functions エンドポイントにシームレスに接続します。これにより、特許検索アシスタントが特許ナレッジベースにアクセスし、ユーザーのクエリにインテリジェントに応答できるようになります。
パート 1 で作成した Java Cloud Run 関数が、プレーン テキストではなく JSON 配列を返すようにします。
エージェントの作成
アパレル製品に関するユーザーの質問に回答する新しいエージェントの作成を開始しましょう。
- まず、Agent Builder プラットフォームにログインします。API を有効にするよう求められたら、[続行して API を有効にする] をクリックします。
- [アプリを作成] をクリックし、エージェントにわかりやすい名前(「特許検索アシスタント」など)を付けます。
- [アプリタイプ] の [エージェント] をクリックします。

- 。エージェントに「Patent Search Assistant」などのわかりやすい名前を付け、リージョンを us-central1 に設定します。
- エージェントの詳細を入力します。
- エージェント名を「Patent Search Agent」に変更します。
- 以下の「目標」を追加します。
You are a professional intelligent patent search agent! Your job is to help the customer find patents matching the context of their search text.

- この時点で保存し、手順はしばらく空白のままにします。
- ナビゲーション メニューで [ツール] をクリックし、[作成] をクリックします。

Enter Tool Name: Patent Search Tool
タイプ: OpenAPI
Enter Tool Description:
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.
スキーマを入力 - OpenAPI(YAML 形式):
ここでは、バックエンド エンドポイントを使用してエージェントを強化しています。次の OpenAPI 仕様をコピーし、URL プレースホルダ(山かっこで囲まれた部分)を Cloud Functions のエンドポイントに置き換えます。
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. エージェントをテストする
右側のペインに、エージェントをテストできる [エージェントをプレビュー] セクションが表示されます。
下のスクリーンショットに示すように、ユーザーとして挨拶し、「フィットネス トラッカーのアイデアに一致する特許」をリクエストしてチャットを開始しました。

JSON レスポンスは次のようになります。

これは、AlloyDB 類似性検索を処理する Cloud Functions からの未加工の JSON 結果です。これで、これでエージェントの準備は完了です。
6. 導入と統合
エージェントに問題がなければ、Agent Builder の統合機能を使用して、さまざまなチャネルに簡単にデプロイできます。ウェブサイトに埋め込んだり、一般的なメッセージング プラットフォームと統合したり、専用のモバイルアプリを作成したりできます。また、この ブログで説明したように、ウェブ クライアント アプリケーションで Agent Builder API を直接使用することもできます。
7. クリーンアップ
この投稿で使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。
8. 完了
おめでとうございます!Google は、カスタムビルドの分析エンジンのパワーと Agent Builder の直感的なインターフェースを統合することで、文献検索をアクセスしやすく、効率的で、真に意味のあるものにするインテリジェントな文献検索アシスタントを作成しました。AlloyDB、Vertex AI、ベクトル検索の機能を組み合わせることで、コンテキスト検索とベクトル検索をアクセス可能で効率的かつ真に意味主導型でエージェント型にすることに大きく前進しました。