アプリ「tsuzumi RAG Chat Demo」を作成しました
なぜ作ったのか
業務でRAGの仕組みを使ったチャットアプリをPoCレベルで開発する機会がありました。その中で、NTTが開発した国産LLM「tsuzumi」に興味を持ったことがきっかけです。
回答精度の向上やセキュリティの観点からも国産LLMの存在は重要だと感じ、一度「tsuzumi」を利用したアプリを開発してみたいと思っていました。
ただ業務内では思うように開発を進められなかったため、今回改めて個人で「tsuzumi RAG Chat Demo」アプリを作成いたしました。
実装した機能
- 国産 LLM モデル tsuzumi を活用し、日本語に最適化された応答を生成
- RAG(Retrieval-Augmented Generation) により、アップロードしたデータを検索・参照して文脈に沿った回答を生成
- FAISS を利用したベクトル検索(類似度スコア閾値や検索件数を UI 側から調整可能)
- PDF / テキストデータのアップロード機能 に対応し、任意のドキュメントを検索対象に追加可能
- 会話履歴数の制限機能 により、情報量とトークン使用量のバランスを調整
- Docker による環境構築 と Azure Container Apps へのデプロイ済み
- GitHub Actions による CI/CD パイプライン(push → 自動ビルド & デプロイ)
- API 設定(エンドポイント・APIキー)の手動入力 とし、第三者が勝手にモデルを利用できないように工夫
- Streamlit ベースのシンプルな UI により、ブラウザ上で直感的に利用可能
公開リポジトリ
ソースコードはGitHubで公開しています。
興味のある方はぜひご覧ください。