Slide 1

Slide 1 text

© Saison Technology Co., Ltd. 2024 2024/4/25クラウドLT大会vol.8 社内AIチャットの利用状況分析できてますか? 2024/4/25 Yosuke Sakaue

Slide 2

Slide 2 text

© Saison Technology Co., Ltd. 2024 2 Speaker 株式会社セゾンテクノロジー Yosuke Sakaue <担当領域> 生成AI研究開発 エンジニア育成 開発者向けインフラ導入、維持運用 Azureクラウド技術支援 Azure関連資格: AZ-900 AZ-104,204,500,700 AZ-305,400 @Yosuke_Sakaue @sakaue_yosuke

Slide 3

Slide 3 text

© Saison Technology Co., Ltd. 2024 3 本日お話しする内容 ⚫ 社内AIチャットボットをリリースしたけど、社員が活用しているのかわからない ⚫ あまり語られることのないAIチャットボットの運用について考えてみます ⚫ 構築中のダッシュボードのデモをお見せします ⚫ 少しでも皆様のヒントになれば幸いです

Slide 4

Slide 4 text

© Saison Technology Co., Ltd. 2024 4 生成AI、社内AIチャットボット流行ってますよね ⚫ 弊社でもWeb AIチャットボットを展開

Slide 5

Slide 5 text

© Saison Technology Co., Ltd. 2024 5 RAGパターンもトレンド

Slide 6

Slide 6 text

© Saison Technology Co., Ltd. 2024 6 システム構成 Azure vNet Private Endpoint Azure Open AI Service (AOAI) 社内ネットワーク subnet subnet ⑥AOAIが回答を生成 ユーザー (ブラウザ) Web アプリケーション フロントエンド WebApp VPN ユーザー (ブラウザ) ①フロントのコンテンツ を取得 ⑤検索結果 を含め、 AOAIの APIを実行 ⑦ユーザーに回答を返却 vNet Integration AzureEntra ID 認証 Web アプリケーション バックエンド WebApp プ ロ キ シ IP制限 ②ユーザーにコンテンツを返却 ③バックエンドに APIを実行 ④関連ドキュ メントを検索 社内文書 格納Blob Azure AI Search ④検索結果取得 Private Endpoint ログ保管 CosmosDB

Slide 7

Slide 7 text

© Saison Technology Co., Ltd. 2024 7 システム構成 Azure vNet Private Endpoint Azure Open AI Service (AOAI) 社内ネットワーク subnet subnet ⑥AOAIが回答を生成 ユーザー (ブラウザ) Web アプリケーション フロントエンド WebApp VPN ユーザー (ブラウザ) ①フロントのコンテンツ を取得 ⑤検索結果 を含め、 AOAIの APIを実行 ⑦ユーザーに回答を返却 vNet Integration AzureEntra ID 認証 Web アプリケーション バックエンド WebApp プ ロ キ シ IP制限 ②ユーザーにコンテンツを返却 ③バックエンドに APIを実行 ④関連ドキュ メントを検索 社内文書 格納Blob Azure AI Search ④検索結果取得 Private Endpoint ログ保管 CosmosDB このログを活用したい!

Slide 8

Slide 8 text

© Saison Technology Co., Ltd. 2024 8 ログの分析、運用で実現したいこと ⚫ 利用状況の把握 • セッション数やユーザー数(部門ごと) ⚫ ユーザーエクスペリエンスの向上 • AIがユーザーの期待する内容を生成できているか ⚫ 利用パターンの把握 • どんな質問が多いのか ⚫ FAQや知識ベースの充実 • データソースにどんな情報を追加すればよいか ⚫ トレーニングデータの収集 ⚫ 不適切なコンテンツや行動の発見 現状の把握 アクション こんなダッシュボードが欲しい!

Slide 9

Slide 9 text

© Saison Technology Co., Ltd. 2024 10 こんなもの作ってみました

Slide 10

Slide 10 text

© Saison Technology Co., Ltd. 2024 12 こんなもの作ってみました

Slide 11

Slide 11 text

© Saison Technology Co., Ltd. 2024 13 ログの中身 [ { "_id": "099d3b70-dc7d-4068-b146-xxxxxxxxx", "model": { "id": "gpt-4-turbo", "name": " gpt-4-turbo", "maxLength": 24000, "tokenLimit": 8000 }, "messages": [ { "role": "user", "content": "メーリングリストの修正について、手続きを教えて下さい。", "extractKeyword": "メーリング リスト 修正 手続き" }, { "role": "assistant", “content”: “AIからの回答", "extractKeyword": “xxxxxxxxxx" } ], “prompt”: “システムプロンプト", "temperature": 1.0, "searchOption": "default", "updatedAt": "2024-03-12 05:11:27.299000", "user": “yosuke_sakaue", "createdAt": "2024-03-12 05:11:27.299000", "resolve": true } ] ⚫ JSON形式でAzure Cosmos DBに保存 ⚫ 入れ子になっている配列はPower BI側 で展開

Slide 12

Slide 12 text

© Saison Technology Co., Ltd. 2024 14 ログの中身 – ユーザーの情報 [ { "_id": "099d3b70-dc7d-4068-b146-xxxxxxxxx", "model": { "id": "gpt-4-turbo", "name": " gpt-4-turbo", "maxLength": 24000, "tokenLimit": 8000 }, "messages": [ { "role": "user", "content": "メーリングリストの修正について、手続きを教えて下さい。", "extractKeyword": "メーリング リスト 修正 手続き" }, { "role": "assistant", “content”: “AIからの回答", "extractKeyword": “xxxxxxxxxx" } ], “prompt”: “システムプロンプト", "temperature": 1.0, "searchOption": "default", "updatedAt": "2024-03-12 05:11:27.299000", "user": “yosuke_sakaue", "createdAt": "2024-03-12 05:11:27.299000", "resolve": true } ] ⚫ AppServiceのEasyAuthで認証機能を実装 ⚫ 認証トークンからユーザーを特定 ⚫ 社員マスタと結合 https://learn.microsoft.com/ja-jp/azure/app-service/overview- authentication-authorization

Slide 13

Slide 13 text

© Saison Technology Co., Ltd. 2024 15 ログの中身 – 検索オプション [ { "_id": "099d3b70-dc7d-4068-b146-xxxxxxxxx", "model": { "id": "gpt-4-turbo", "name": " gpt-4-turbo", "maxLength": 24000, "tokenLimit": 8000 }, "messages": [ { "role": "user", "content": "メーリングリストの修正について、手続きを教えて下さい。", "extractKeyword": "メーリング リスト 修正 手続き" }, { "role": "assistant", “content”: “AIからの回答", "extractKeyword": “xxxxxxxxxx" } ], “prompt”: “システムプロンプト", "temperature": 1.0, "searchOption": "default", "updatedAt": "2024-03-12 05:11:27.299000", "user": “yosuke_sakaue", "createdAt": "2024-03-12 05:11:27.299000", "resolve": true } ] ⚫ 検索オプション

Slide 14

Slide 14 text

© Saison Technology Co., Ltd. 2024 16 ログの中身 – 解決状況 [ { "_id": "099d3b70-dc7d-4068-b146-xxxxxxxxx", "model": { "id": "gpt-4-turbo", "name": " gpt-4-turbo", "maxLength": 24000, "tokenLimit": 8000 }, "messages": [ { "role": "user", "content": "メーリングリストの修正について、手続きを教えて下さい。", "extractKeyword": "メーリング リスト 修正 手続き" }, { "role": "assistant", “content”: “AIからの回答", "extractKeyword": “xxxxxxxxxx" } ], “prompt”: “システムプロンプト", "temperature": 1.0, "searchOption": "default", "updatedAt": "2024-03-12 05:11:27.299000", "user": “yosuke_sakaue", "createdAt": "2024-03-12 05:11:27.299000", "resolve": true } ] ⚫ 解決したかどうかのフィードバック ⚫ 5段階やメッセージ入力も検討

Slide 15

Slide 15 text

© Saison Technology Co., Ltd. 2024 17 ログの中身 – キーワード抽出 [ { "_id": "099d3b70-dc7d-4068-b146-xxxxxxxxx", "model": { "id": "gpt-4-turbo", "name": " gpt-4-turbo", "maxLength": 24000, "tokenLimit": 8000 }, "messages": [ { "role": "user", "content": "メーリングリストの修正について、手続きを教えて下さい。", "extractKeyword": "メーリング リスト 修正 手続き" }, { "role": "assistant", “content”: “AIからの回答", "extractKeyword": “xxxxxxxxxx" } ], “prompt”: “システムプロンプト", "temperature": 1.0, "searchOption": "default", "updatedAt": "2024-03-12 05:11:27.299000", "user": “yosuke_sakaue", "createdAt": "2024-03-12 05:11:27.299000", "resolve": true } ] ⚫ Python Mecabで形態素解析 ⚫ 名詞を抽出 ⚫ 辞書をメンテナンスすればさらに精度が 上がるかも ⚫ 更新方法はCosmos DBの変更フィード かバッチでFunctionsを起動

Slide 16

Slide 16 text

© Saison Technology Co., Ltd. 2024 18 ログの中身 – キーワード抽出 キーワード抽出なし キーワード抽出あり

Slide 17

Slide 17 text

© Saison Technology Co., Ltd. 2024 19 まとめ ⚫ メンバー間で共有するならPower BIのライセンスが必要 ⚫ スクラッチで構築するよりも手軽に始められる ⚫ 情報は可視化されることで「気づき」になり「アクション」が生まれる ⚫ 今後は生成AIをつかって分析結果からインサイトを示すようなこともできそう 使われないチャットボットが一つでも減れば嬉しいです!

Slide 18

Slide 18 text

<免責条項> 本資料の内容は、資料作成時点の当社の判断に基づいて作 成されているものであり、今後予告なしに変更されること があります。よって本資料使用の結果生じたいかなる損害 についても、当社は一切責任を負いません。 また、本資料の無断での複製、転送等を行わないようお願 いいたします。 なお、本資料に記載されている会社名、製品名は各社の商 標または登録商標です。 20 © Saison Technology Co., Ltd. 2024