Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Slackで始めるらくらくRAG開発

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

 Slackで始めるらくらくRAG開発

Google Cloud データ&AI道場 第31回 データ&AI Lightning Talk 祭りの登壇資料

Avatar for 田村直樹

田村直樹

June 05, 2024

More Decks by 田村直樹

Other Decks in Technology

Transcript

  1. 2 1. 自己紹介 2. 会社概要 3. 課題 4. システム構成 5.

    Slackで始めるらくらくRAG開発 6. 実行 7. 利用者の声 8. さいごに 目次
  2. 自己紹介 田村 直樹(Naoki Tamura) 略歴:  ・大学 : 文学部卒の文系  ・前職 : 銀行系SIer

    (‘20/04~’23/03)  ・現在 : アイレット株式会社 DX開発事業部所属  Google Cloudでのバックエンド開発を担当  直近はGeminiを使った生成AIアプリの開発に従事   好きなサービス:  ・Cloud Functions、Vertex AI 4 @tamunao
  3. 会社概要 6 アイレットは クラウド導入、デザイン、システム開発を ワンストップで提供します お客様が求めるスピード感で、先進のITソリューションを提供。 開発・デザイン・構築・運用のワンストップ体制で あらゆる側面からお客様の課題に向き合い、解決に導きます。 社名 アイレット株式会社

    所在地 東京都港区虎ノ門1-23-1 虎ノ門ヒルズ森タワー7F 設立 2003年10月15日 代表者名 会長:齋藤 将平/社長:岩永 充正(2020年4月) 従業員数 1022名(2023年4月末時点) 資本金 7,000万円(平成27年3月20日 増資) KDDIグループ 主要取引先銀行 三菱UFJ銀行 りそな銀行 事業内容 ITコンサルティング、システム開発、システム保守・運用、サーバハウジング・ ホスティング
  4. 12 Slackで始めるらくらくRAG開発 RAGアプリを開発するにあたり「5つのポイント」を重視しています
 01 Slack API ポイント         使い慣れたSlackのチャット画 面を活用し、SlackAPIでRAG 検索アプリに接続する

    02 Cloud Functions ポイント         FaaSのサーバレスサービスを 使うことで、開発効率やインフ ラ運用が楽に! 03 Vertex AI ポイント         マネージドなAIサービスをAPI で簡単にRAG検索機能を実 装します 04 Gemini Code Assist ポイント         開発者向けの生成AIアシスタ ントを使って、アプリケーション の爆速開発 05 マルチチャネル ポイント         2024年4月よりGoogle Drive のデータもRAG検索すること が可能になりました
  5. 13 ポイント1:Slack API フレームワーク:Bolt for Python
 
 • Slackのアプリ開発のために提供されている公式フレームワークです。
 •

    Slack APIのハンドラーやWebhookを使うことができ、外部のAPIとも簡単に繋ぎ込める。
 らくらくポイント1:APIの繋ぎこみを簡単にしたい
 • Slackでは公式フレームワークでAPIの繋ぎこみが行えるため、ゼロベースでの設計や開発が不要
 👉 Slackの画面をそのまま使用するためUI部分の開発が省略
 👉 チャット形式での回答生成も可能だが、スラッシュコマンドによる回答生成ができる
 👉 スラッシュコマンドはそれぞれAPIを分けられるので、FaaSのCloud Funcionsと相性が良い

  6. 14 ポイント2:Cloud Functions 使用サービス:Cloud Functions
 
 • Google CloudでFaaSとして提供されているCloud Functionsを利用します


    • サーバレスサービスのためサーバ管理が不要で、自動スケーリングされる。
 
 らくらくポイント2:開発と運用を楽にしたい
 • ソースコードさえ書けばデプロイするだけというお手軽さが魅力
 👉 「試しに実行してみたい」となったときのハードルが非常に低い
 👉 Google Cloud内のあらゆるサービスと連携できる上、他サービスとの連携も非常に楽
  👉 いつでも、どこでも、誰とでも繋げられるサービス
 

  7. 15 ポイント3:Vertex AI 使用サービス:Vertex AI(Agent Builder、SDK)
 
 • フルマネージドなAI開発のプラットフォームで、生成AIの利用やアプリへの組み込みが容易
 •

    Searchアプリを作成することでRAG検索を簡単に実装できる
 らくらくポイント3:生成AIで文書検索を楽にしたい
 • プログラミング言語ごとにVertex AIを使用するためのSDKが用意されている
 👉 公式ドキュメントかなり丁寧で、サンプルも多いためすぐに検証を進められる
 👉 基本的にはテンプレート通りに実装することで、RAG検索の機能も簡単実装
 👉 文書検索した結果はGemini 1.5 Proに渡して要約と整形をする

  8. 16 ポイント4:Gemini Code Assist 使用サービス:Gemini Code Assist
 
 • プログラミングをサポートしてくれるAI

    コードアシスタント
 • チャット機能やAIによるコード補完、コード生成などプログラミング全般のサポート
 らくらくポイント4:プログラミングを楽にしたい
 • AIがコード補完をしてくれるためサクサク開発を進められる
 👉 自然言語によるコード生成ができる(簡単な実装なら比較的高品質)
 👉 直前の操作やコードを解釈して、繰り返しや次に入りそうな実装を予測補完してくれる
 

  9. 18 ポイント5:マルチチャネル 使用サービス:Google Drive
 
 • 2024年4月からGoogle DriveもRAG検索先としてコネクターが一般提供されました
 • 利用頻度や利用者数の多いGoogle

    Driveと連携されることで、情報資産がナレッジになる
 らくらくポイント5:文書検索を楽にしたい
 • Vertex AIが接続できるデータストアが増えたことで、検索性が強化された
 👉 Google Workspace導入企業ではGoogle Driveに営業資料や設計書、マニュアルなど多様な
   ドキュメントが集まってくるのでナレッジとして有効活用できるようになる
 👉 Google Driveで検索する時間的コストの削減
 

  10. 21 システム構成 システム構成図の各リソース概要
 • Cloud Functions1:
 ◦ Slackからのリクエスト受け取り/レスポンスとCloud Pub/Subにメッセージ発行する
 •

    Cloud Pub/Sub:
 ◦ 処理を継続させるためにメッセージを発行して、処理に必要なパラメータを保持する
 • Cloud Functions2:
 ◦ Cloud Pub/Subのトピックへのメッセージ発行をトリガーとして起動し処理を実行する
 ◦ Vertex AI Agent BuilderでGCSとGoogle DriveからRAG検索を実行する
 ◦ 実行結果を整形してSlackのWebhookURL先に返す
 

  11. 24 利用者の声 期待すること
 • Google DriveからRAG検索する場合に取得できる情報が少ないため、ここが上手く調整できるとサマリー表 示などで使い勝手が増すと思う
 Google Driveを開いて探さなくても良いので、目的のファイルを見つけやすく なった

    普段から使用するSlackから文書検索できるので、ヘルプデスクに問い合わ せる感覚で気軽に使えて良かった 複数のデータ格納場所から検索できるのは結構便利だった
  12. 25 さいごに 今回の生成AIを使ったRAG開発がもたらす意味
 
 • 生成AIアプリの開発は意外と手軽に始められる
 ◦ ソースを書いた時間自体はほんの数時間で、想像以上に手軽に開発を進められた。
 ◦ Google

    Cloudの各種サービスを組み合わせれば生成AIのサービスを簡単に実装できる。
 • チャットアプリへの組み込み
 ◦ チャットボット自体はこれまでも作成できていたが、以前よりも簡単にRAG検索を社内アプリとして組み 込める
 ◦ TeamsやGoogle Chatなど他のチャットツールにおいてもAPI経由で繋ぐことができれば、簡単にRAG機 能や生成AIの機能を組み込める
 • パッケージ化、フレームワーク化ができればどんな環境でも比較的らくらく統合が可能