File Search Tool in Gemini API を試す
Gemini APIに直接組み込まれた完全管理型RAGシステム という触れ込みですが、どんなものなのでしょうか。
お手軽ナレッジベース作成といえば、GPTs, Dify, AWS S3 Vector table などがありますが、File Search Tool in Gemini API も候補に入るのでしょうか?
なんせ Google ですから、クライアントの多くがすでにアカウントを持っています。できることなら登場するサービスはむやみに増やさずに、Google を活用していきたいところです。
News
Introducing the File Search Tool in Gemini API
料金体系
File Searchをすべての開発者にとってシンプルで手頃なものにするため:
- ストレージとクエリ時のエンベディング生成は無料
- ファイルを最初にインデックス化する際のエンベディング作成のみ課金(100万トークンあたり$0.15の固定料金)
File Searchの仕組み
主な特徴:
- シンプルで統合された開発体験
- RAGプロセス全体を効率化
- ファイルストレージ、最適なチャンキング戦略、エンベディング、プロンプトへの取得コンテキストの動的注入を自動管理
- 既存の
generateContentAPIで動作し、採用が容易
- 強力なベクトル検索
- 最新のGemini Embeddingモデルを搭載
- ユーザーのクエリの意味とコンテキストを理解
- 正確な単語が使われていなくても、ドキュメントから関連情報を検索可能
- 組み込み引用機能
- モデルの応答には自動的に引用が含まれ、回答生成に使用されたドキュメントの部分を明示
- 検証が簡単に
- 幅広いフォーマットのサポート
- PDF、DOCX、TXT、JSON、および多くのプログラミング言語ファイルタイプに対応
- 包括的なナレッジベースの構築が可能
Gemini API ドキュメント
Gemini API > API リファレンス > ファイル検索
https://ai.google.dev/gemini-api/docs/file-search?hl=ja
レート上限
File Search API には、サービスの安定性を維持するため、次の制限が適用されます。
- 最大ファイルサイズ / ドキュメントあたりの上限: 100 MB
- プロジェクト ファイル検索ストアの合計サイズ(ユーザーの階層に基づく):
- 無料: 1 GB
- Tier 1: 10 GB
- Tier 2: 100 GB
- Tier 3: 1 TB
File Search Stores
メソッド: media.uploadToFileSearchStore
データを FileSearchStore にアップロードし、前処理とチャンク化を行ってから FileSearchStore ドキュメントに保存します。
Gemini API > API リファレンス > Documents
https://ai.google.dev/api/file-search/documents?hl=ja
Demo アプリ
デモアプリが用意されています。
https://aistudio.google.com/apps/bundled/ask_the_manual
API key を設定すれば使えるようです。
デモとして用意されたナレッジベースには以下の2つがありました。
- Hyundai i10 Manual: 562 pages, PDF
- LG Washer Manual: 36 pages, PDF
デモアプリを試す その1
試したのですが、500 internal server error ということで、動きませでした。

デモアプリを試す その2
Internal Server error であれば、Google サイドの不具合でしょうということで、20分ほど待ってから再度実行。
サイズが小さそうな lg-washer-manual.pdf を選びました。


問題なく対話できました。

ファイルをアップロードしてみる
ファイルをアップロードしてナレッジベースを作ることも可能です。
試しに、青空文庫の「羅生門」をPDFにしたものをアップロードしてみます。

質問してみます。
「最初に登場する人物は誰?」

「下人」と、回答がありました!
結論
CLI でのテストは実施していませんが、お手軽ナレッジベース・RAG環境としては、十分使えそうな予感がします!