VertexAIによる外部サイト検索(制限付き)の構築

昔取った杵柄

さて、先に書いた以下の記事の通り、フルWeb検索ダメじゃん・・って落ち込んだ私ですが、Gemini仕様が教えてくれました!いくつか制限はあるけど、Web検索できるようにするものが可能だ!ということを。

なので、今回はそれに倣って検索エンジンを引き続き作ってみようと思います!(`・ω・´)キリッ

Enterprise機能はON/Advanced機能はOFF

なんのことか?というと、VertexAIのフィーチャー選択です。Enterprise機能はこれ。検索エンジン地震に対するエディションの指定です。こちらはONにする必要があります。そうしないと「ウェブサイト検索」ができないためです。

アプリケーションの基本設定におけるEnterprise機能の利用有無

これに対して、Advancedというのはこれです。以下の画面の一番上の項目にある「ウェブサイトの高度なインデックス登録」の機能を指します。これはデータストアに対してかかるものです。

データストアの設定画面

なぜこのAdvancedフィーチャーを外すのか?というと、この機能は根掘り葉掘りそのサイトをほじくり返す(!?)ため、サイトあるいはドメインに対する所有権をきちんと確認しなければならないからです。
そのため、Advancedフィーチャーを組み込む際は必ずGoogle Search Consoleを使用してその証明操作をする必要があります。

これに対して、Advancedフィーチャーを外した場合、単純に「追加するサイト」の設定は単純に「検索サイトの検索範囲」としての指定になります。制限の許す限り、サイトを追加しても所有権の証明をする必要がありません。これを用いて私は以下の通り検索範囲を設定しました。

もちろん後から増やすことも可能なので、徐々にサイト検索範囲は広げていってます。エージェントに何をこたえさせたいのかによってその範囲を設定するのもありですよね。また、余計なサイトを検索せずに済むという意味ではよいのかもしれません。

動作確認

あとは検索をテストします。以下のようになんとかプレビュー機能から検索することができました。

続いて、Difyアプリで作ったエージェント検索で対応できるかどうか試してみます。

大丈夫そうですね。検索順序もあまり大きく変わってないので、きちんと出力できてるようです。
これで一定の制限はあるものの、なんとかなるかな?という感じです。言葉の最新定義などはWikipediaで掬えるんじゃないかな?

MCPのログはこんな感じでした。

vais-mcp-1  | INFO:     172.20.0.1:55052 - "POST /messages/?session_id=832440eca8084cd6b55784972099cd51 HTTP/1.1" 202 Accepted
vais-mcp-1  | INFO:     172.20.0.1:55066 - "POST /messages/?session_id=832440eca8084cd6b55784972099cd51 HTTP/1.1" 202 Accepted
vais-mcp-1  | INFO:     172.20.0.1:55082 - "POST /messages/?session_id=832440eca8084cd6b55784972099cd51 HTTP/1.1" 202 Accepted
vais-mcp-1  | 2026-04-01 01:49:34.086 | INFO     | vais_mcp.server:search_vais:27 - Received search request with query: 'Qwen3.5-2B'
vais-mcp-1  | 2026-04-01 01:49:34.086 | INFO     | vais_mcp.vais:call_vais:59 - Calling VAIS with query: Qwen3.5-2B, project: 645810112089, engine: for-ext-dify-search_1775000907364
vais-mcp-1  | 2026-04-01 01:49:34.086 | INFO     | vais_mcp.google_cloud:get_credentials:49 - No impersonation. Using direct credentials.
vais-mcp-1  | 2026-04-01 01:49:34.086 | INFO     | vais_mcp.google_cloud:get_credentials:52 - Using service account key from: /app/secrets/sa-key.json (mounted in container)
vais-mcp-1  | 2026-04-01 01:49:35.420 | INFO     | vais_mcp.vais:call_vais:109 - Successfully retrieved 10 results from VAIS.
vais-mcp-1  | 2026-04-01 01:49:35.421 | INFO     | vais_mcp.server:search_vais:45 - Search request successful, returning 10 items.

コメント

タイトルとURLをコピーしました