概要
https://qiita.com/sinzy0925/items/01550618a78428c9cc50
詳細内容
## 【コピペでOK】Gemini RAGはこんなに簡単!寝てる間にGitHub Actionsが最新ドキュメントを学習するAIアシスタントを作ろう
https://qiita.com/sinzy0925/items/01550618a78428c9cc50
Gemini File Search ToolとGitHub Actionsを組み合わせることで、最新ドキュメントを自動学習するRAGベースのAIアシスタントを簡単に構築できる手法を紹介します。
**Content Type**: Tutorial & Guide
**Language**: ja
**Scores**: Signal:5/5 | Depth:4/5 | Unique:4/5 | Practical:5/5 | Anti-Hype:4/5
**Main Journal**: 91/100 | **Annex Potential**: 88/100 | **Overall**: 88/100
**Topics**: [[RAG, Gemini API, GitHub Actions, AIアシスタント, ドキュメント自動更新]]
この記事は、開発者が直面する「最新の公式ドキュメントを読み込む大変さ」や「AIに最新仕様を質問したい」というニーズに対し、RAG(Retrieval-Augmented Generation)技術を活用したAIアシスタントを驚くほど簡単に、かつ自動で構築する方法を紹介しています。従来のRAG構築におけるデータ前処理、ベクトルデータベースの管理、手動によるドキュメント更新といった煩雑な作業が不要になる点が、本手法の最大の価値です。
著者が提案するAIアシスタントの核心は二つあります。第一に、GoogleのGemini File Search Toolの圧倒的な手軽さです。これは、まるで「最新鋭の国立図書館に、段ボールに詰めたテキストファイルを持って行くだけ」の感覚でRAGシステムを構築できると説明されています。ユーザーはテキストファイルをAPIにアップロードするだけで、内部でチャンク分割、ベクトル化、インデックス作成といった複雑な処理が全て自動で行われ、すぐに高性能なRAGシステムが利用可能になります。これにより、開発者は煩わしい前処理やベクトルDBの管理から解放されます。
第二に、GitHub Actionsを用いた知識ベースのデータ準備の完全自動化です。RAGシステムの品質は知識源の鮮度が鍵となりますが、公式ドキュメントは頻繁に更新されるため、手動での追従は非現実的です。そこでGitHub Actionsを活用し、時間のかかるWebスクレイピングをGitHubのサーバー上で定期的に実行します。これにより、最新のドキュメントを自動で取得し、差分があればGitリポジトリにコミット&プッシュする仕組みを構築できます。この自動化により、ユーザーは「自分のPCを動かすことなく、寝ている間に知識ベースが常に最新の状態に更新され続ける」という、理想的な開発サイクルを実現できます。
具体的な構築手順としては、まず提供されるコードをクローンし、`requirements.txt`で必要なライブラリをインストール、プロジェクトのルートに`.env`ファイルを作成しGemini APIキーを設定します。次に、プロジェクトをGitHubにプッシュし、GitHub Actionsの「Update Documentation Files」ワークフローを手動または定期実行することで、Google Apps ScriptやGemini APIの公式ドキュメントが自動でスクレイピングされ、RAGに適したテキストファイルとしてリポジトリにプッシュされます。最後に、これらのテキストファイルを`setup_rag_store.py`スクリプトでGemini APIにアップロードし、生成されたストアIDを`query_rag.py`に設定することで、AIアシスタントとの対話が可能になります。記事では、具体的なGASのコード生成例を挙げ、その有効性を示しています。
この手法により、開発者は公式ドキュメントや社内ナレッジなど、あらゆる専門知識を学習させた独自の専門家AIを容易に、かつ持続的に運用できると著者は強調しています。これは、AI開発パートナーを育て、日々の開発ワークフローを革新するための強力な基盤となります。