0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

知識データ管理Slackボットの構築プロセス

Last updated at Posted at 2025-02-23

1. はじめに

業務の効率化を目的としたSlackボットを開発し、Cloud Run(GCP)を活用した環境で運用しています。本記事では、その構築プロセスを体系的にまとめます。

Slackボットの画面イメージ
image.png

また、既存の類似サービスもありますが、技術力向上とカスタマイズ性を考慮し、自社開発することを選びました。


2. 目的と機能要件

(1) 目的

  • 知識データの定期自動投稿:利用手引きやマニュアルなどの定期的なリマインドを自動化。
  • 質問応答システム:ボットへのメンションを通じた即時回答機能を提供し、必要な情報を迅速に取得。

(2) 機能要件

  • Cloud Runを利用したボットのホスティング
  • Slack APIとの連携
  • RAGによる知識データ検索(コサイン類似度を使用)
  • ローカル開発環境としてGoogle Colab、Cloud Shell Editorを活用
  • Cloud Shell内でデータ管理(docxファイル、CSV、RAGインデックス)
  • Gemini 2.0に統一予定(現在は1.5 Proも併用)

3. システム設計

(1) インフラ設計

  • 開発環境
    • Google Colab, Cloud Shell Editorを活用
    • Cloud Shell内でデータ管理(docxファイル、CSV、RAGインデックス)
  • 本番環境
    • Cloud Runにデプロイ
    • BigQueryは今後実装予定(現在はCloud Shell内のインデックスファイルでRAGを処理)
    • Vertex AIは予算の関係で使用しない

(2) Slack APIとの連携

  • 現在の実装
    • 知識データの定期投稿によるリマインド
    • メンションベースの質問応答機能
  • 今後の拡張予定
    • Interactive ComponentsやSlash Commandsを必要に応じて実装予定

(3) RAGの設計

  • 検索エンジン
    • コサイン類似度を使用
    • 知識データが少ないため、全文をプロンプトに含めるアプローチも検討
  • AIモデル
    • 現在はGemini 1.5 Proを使用
    • 順次Gemini 2.0に統一予定

4. 実装

(1) Cloud Runのセットアップ

  • Dockerコンテナを作成し、Cloud Runにデプロイ
  • Cloud Shell上で管理するインデックスファイルを活用
  • 環境変数や認証情報をCloud Secret Managerで管理

(2) Slackボットの開発

  • slack_bolt を使用し、メンション時にRAG検索&Gemini応答を実装
  • 知識データの定期投稿機能を組み込み、リマインドを自動化
  • メッセージの解析と検索処理(コサイン類似度)
  • 知識データのプロンプト内埋め込みを試験運用

(3) RAGの組み込み

  • Cloud Shell内でインデックスファイルを管理し、検索エンジンを動作
  • 知識データの増加に伴い、BigQueryへの移行を検討

5. テスト・デバッグ

  • ローカル(Colab, Cloud Shell Editor)でのデバッグ
  • Cloud Runデプロイ後、Slackワークスペース内で動作確認
  • RAGの検索精度の調整(コサイン類似度の閾値最適化)

6. 本番環境へのデプロイ

  • Cloud Runへのデプロイ
  • 自動化のためのGitHub連携は今後の課題
  • Cloud Loggingでエラーログを監視

7. 改善・運用

(1) RAG検索の最適化

  • コサイン類似度の改善
  • 知識データのプロンプト埋め込みアプローチの評価

(2) 新機能の追加

  • BigQueryの導入(検索対象の拡充)
  • Interactive Components / Slash Commands の実装(必要に応じて)

本記事ではSlackボットを活用した知識データの管理について説明しましたが、知識データをどのように効果的に活用するかが重要です。その一つの方法として、Slackボットを用いた定期投稿と質問応答の自動化が挙げられます。

Slackボットによる知識データの定期投稿と質問応答の自動化 について詳しく説明します。


8. まとめ

このプロセスでSlackボットを構築し、運用しています。

  1. 要件定義: 目的の整理・必要機能の明確化
  2. システム設計: Cloud Run, Cloud Shell, RAG, Slack APIの設計
  3. 実装: Cloud Runへのデプロイ、RAG検索・Gemini API統合
  4. テスト・デバッグ: コサイン類似度検索・応答精度の調整
  5. 本番デプロイ: Cloud Run運用、GitHub連携は今後検討
  6. 運用改善: 検索最適化、新機能追加(BigQuery, Slash Commandsなど)

今後の課題として、GitHubとの連携やBigQueryの導入を進める予定です。
また、具体的な実装に関しても順次、投稿予定です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?