WASA Chat
部内Wikiと公開資料を横断して質問できる、出典付きのRAGチャットボット。Cloudflare PagesとCloud Runで運用しています。
概要
私が所属していた人力飛行機製作サークル・WASAの引き継ぎ用RAGチャットボットを制作しました。
WASAでは、長年の製作・設計技術の引き継ぎをWikiで管理しているのですが、「代ごとに引き継ぎ資料が積み重なって読みにくくなっていく」という現状がありました。
WASA Chatを制作したのは引退後です。きっかけは、執行代になったときに引き継ぎ資料が膨大で分かりにくかった経験でした。部員が知りたい情報に素早くアクセスできる方法はないかと考え、AIエンジニアとしての経験を生かして、部員が自然言語で質問できるチャットボットを開発しました。
現在は引き継ぎWiki、公式サイト、フライトシミュレータガイド(FEE)の内容を情報源として使用しています。

主な機能
- 出典付きのチャット回答と、画像添付による質問
- 共有アシスタントと、最大30件の会話履歴
- 管理画面からの利用状況・APIの推定残量・資料更新・監査ログの確認
- 共有アカウントを使わず、個人のWikiアカウントへ管理者ロールを付与する権限設計
システム構成
画面はCloudflare Pages、認証・検索・回答生成・管理APIはCloud Runが担当します。Wiki本文を含む索引は非公開のCloud Storageに置き、履歴や利用状況はFirestoreへ保存します。
質問のたびにWikiへ取りに行くのではなく、事前に構築した索引を検索する設計にしました。応答が速くなるだけでなく、外部サービスへの負荷と費用を抑えられます。資料の変更確認は管理画面から行えますが、索引の再構築と本番反映は、人が内容を確認したうえで実行します。
現在の状況
本番運用と精度改善のフェーズに入っています。引き継ぎを前提としたプロジェクトなので、設計判断の理由や運用手順をリポジトリのドキュメントとして残しています。
なお、コードはMIT Licenseで公開していますが、Wikiの内容と取得データはWASA鳥人間プロジェクトに帰属します。
使用技術
Go · Python · TypeScript · RAG · LLM · Google Cloud Run · Firestore · Cloudflare Pages · Docker