TL;DR

Google Cloud Platform の生成 AI プロダクトである Vertex AI Search (自社版 Google 検索を実現する PaaS) と Gemini API を用いて、動画内の特定のシーンを検索するアプリを作ってみます。

デモアプリ

<aside> ✅

こちらでデモを試せます。

</aside>

アプリの簡単な構成図

graph TD;
    A["ユーザー"] --> B["フロントエンド
    (Streamlit)"];
    
    B --> C["バックエンド (シーン検索 API (VAIS + Gemini))"];
    
    C --> D["メタデータ
    (動画情報テキストファイル)"];
    
    D --> C;
    C --> B;
    B --> A;

ポイント

このアプリの肝は、① 事前に Gemini で動画関連情報のメタデータ(構造化データではなく、テキストデータ。タイムスタンプ情報も含む。)を作成しておくことと、② シーン検索の際は、(ユーザーのクエリに関連するファイルを VAIS でフィルタリングした上で)「該当ファイルのメタデータ + ユーザーのクエリ + プロンプト」を Gemini に渡してあげて、ユーザーが欲しいシーンを探させることの二つです。

手順

メタデータ抽出

https://github.com/GoogleCloudPlatform/gcp-getting-started-lab-jp/tree/master/movie_search_metadata

上記の Notebook をベースに、動画から関連情報を抽出する処理を行なっていきます。

アプリの作成とデプロイ

参考資料

https://github.com/GoogleCloudPlatform/gcp-getting-started-lab-jp/tree/master/movie_search

→ アプリの作成のサンプルコード

https://github.com/GoogleCloudPlatform/gcp-getting-started-lab-jp/tree/master/movie_search_metadata

→ メタデータ作成のサンプルコード