前書き
watsonx.ai、watsonx Assistant、Watson Discovery の 3 つを連携して、ユーザーフレンドリーなチャットボットを 1 つ 1 つ手を動かしながら順を追って開発していきます。
目次
- 1 | 前提知識
- 2 | シナリオ
- 3 | 環境構築
- 4 | 動作確認
- 5 | 謝辞
1 | 前提知識
-
watsonx
- 企業向けの AI モデル作成及び運用プラットフォーム
- 次の主要 3 製品からなる (
本ハンズオンでは watsonx.ai のみ利用)
- watsonx.ai (AI 開発)
- watsonx.data (データストア)
- watsonx.governance (AI ガバナンス)
- 次の主要 3 製品からなる (
- 企業向けの AI モデル作成及び運用プラットフォーム
- watsonx Assistant (チャットボット開発)
- Watson Discovery (文書検索)
2 | シナリオ
2.1 | ビジネスゴール
-
現在の業務
- 全ての問合せをコールセンターが受付
- 即時に回答できない問合せは専門部署にエスカレーション
- 質問内容の照合はしていない
チャットボットを導入することで改善が見込めます。
-
今後の業務
- 問合せは原則チャットボットが受付
- チャットボットが回答できない質問のみコールセンターまたは専門部署が回答
- チャットボットを活用して照合先文書を不断に改善
- コールセンターの手間が減る分を学習データである文書 (FAQ、取説、応答履歴) の改善に充てる
2.2 | ソリューション概要
- レベル 1 (FAQ の応答)
- watsonx Assistant
- 会話形式で問合せに回答
- 想定問答のみ
- 属人性に依存する問題を解消
- watsonx Assistant
- レベル 2 (社内文書の応答)
- Watson Discovery + watsonx Assistant
- 社内文書 (FAQ、取説、他) を学習
- 幅広い問合せに対して迅速に回答
- データのサイロ化を解消
- Watson Discovery + watsonx Assistant
- レベル 3 (ユーザーフレンドリーな応答)
- watsonx.ai + Watson Discovery + watsonx Assistant
- 問合せの内容を解釈し回答 (
本ハンズオンの対象)
- 過去の問合せから FAQ を自動生成
- コンプライアンス遵守1
- 問合せの内容を解釈し回答 (
- watsonx.ai + Watson Discovery + watsonx Assistant
watsonx.ai を連携させて生成 AI を組み込むことで、質問意図を汲んで明確化した上で回答するユーザーフレンドリーなチャットボットを開発します。
2.3 | 3 つの製品を組合せる価値
- 3 つの製品を組合せることでロングテールに属する質問にも回答可能となります
- ロングテールな質問へ対応する意義
- さらなる入電数の低減
- (多国籍企業の場合) 現地の言語や文化に即した応答
watsonx Assistant 単独でも定型質問には柔軟に回答でき、コールセンターの入電数低減による効率化が実現できます。ただし、ロングテールな質問には対応できません。
2.4 | アクションフロー
- エンドユーザー
↓ ① チャットで質問 - watsonx Assistant
↓ ② 質問内容を自然文検索 - Watson Discovery
↓ ③ パッセージを含む検索結果 - watsonx Assistant
↓ ④ 検索結果と回答作成指示のプロンプト - watsonx.ai
↓ ⑤ 要約された回答文書 - watsonx Assistant
↓ ⑥ 回答 - エンドユーザー
各製品が担う役割は次の通りです。
- watsonx Assistant
- アクションフローを含むチャットボットの UI を作成
- Watson Discovery
- RAG で利用する検索対象ファイルを格納
- watsonx.ai
- LLM の要約機能でプロンプトの指示を満足する回答を作成
2.5 | [参考] アクションフロー (多国籍企業向け)
- エンドユーザー
↓ ① チャットで質問 - watsonx Assistant
↓ ② 質問内容を自然分検索 - Watson Discovery
↓ ③ パッセージを含む検索結果 - watsonx Assistant
↓ ④ 検索結果と回答作成指示のプロンプト - watsonx.ai
↓ ⑤ 要約された回答文書 - watsonx Assistant
↓ ⑥ 要約された回答文書と回答作成指示のプロンプト - watsonx.ai
↓ ⑦ 翻訳された回答文書 - watsonx Assistant
↓ ⑧ 回答 - エンドユーザー
⑥ と ⑦ を追加。文書生成 (翻訳) にも生成 AI を活用します。
3 | 環境構築
次を前提とします。
TechZone へログインするためには IBMid (作成無料) が必要となります。初めて TechZone を利用する方は、まず最初に IBMid を作成してください。
環境の表示言語を英語に設定しています。日本語表示されている場合、英語に設定し直す必要はありません。該当箇所を適宜お読み替えください。
3.1 | TechZone 環境予約
- 検索窓(
)に「Watson Discovery with Assistant, AI, and Speech」と入力 ➡︎ 画面下部に表示される環境から該当するものを見つける ➡︎「Reserve(
)」
紛らわしいですが、watsonx Discovery の方を選択しないよう注意してください。
- よしなに設定を進める
- 「Purpose」は「Education」を選択
3.2 | IBM Cloud コンソールの作業
- アカウント名が予約した TechZone 環境の Cloud Account と一致していることを確認
Cloud Account は、TechZone の予約完了通知メールに記載されています。また、後述する TechZone の予約ページからも確認できます。

3.2.1 | IBM Cloud API Key の作成
- IBM Cloud の ダッシュボードを開く
- メニューバーの [Manage] ➡︎ [Access (IAM)] をクリック
- 左メニューから [API Keys] ➡︎ [Create] をクリック
- 適当な名前 (例:「AI Chatbot API」) を入力 ➡︎ [Create] をクリック
- 作成された API キーを保管しておく
3.3 | watsonx.ai の作業
- TechZone の予約ページに移動 ➡︎ 予約した環境を「Open this environment」をクリックして開く
- 画面下までスクロール ➡︎「watsonx.ai URL」のリンクをクリック
- アカウント名が予約した TechZone 環境の Cloud Account と一致していることを確認
- 「Launch in」の右隣にあるドロップダウンメニューアイコン (
) をクリック ➡︎「IBM watsonx」を選択
3.3.1 | watsonx.ai の事前準備
- 画面下までスクロール ➡︎ ダッシュボード上の要素「Projects」の [+] をクリック
- 適当な名前 (例:「AI Chatbot」) を入力 ➡︎ [Create] をクリック
- プロジェクトが作成される
- [Manage] をクリック ➡︎ [Services & integrations] をクリック ➡︎ [IBM services] タブの [Associate service] をクリック
- 「Name」の末尾が [-wml] のサービスを選択 (
) ➡︎ [Associate] をクリック
- [Manage] ➡︎ [General] ➡︎ [Project ID] をコピーして保管しておく
3.4 | Watson Discovery の作業
- 画面下までスクロール ➡︎「Watson Discovery URL」のリンクをクリック
- Discovery の [API Key] をコピーして保管しておく
- アカウント名が予約した TechZone 環境の Cloud Account と一致していることを確認
- 「Launch Watson Discovery」をクリック
3.4.1 | Watson Discovery の事前準備
- [New Project] をクリック
- [Project name] に適当な名前 (例:「AI Chatbot」)、[Project Type] にプルダウンメニューから [Document Retrieval] をそれぞれ設定
- 適当な Collection name (例:「IBM Careers FAQ」) を入力
- Select Language はプルダウンメニューから「Japanese」を選択
- Upload your data 欄に FAQ とデータの所在を教える CSV ファイルをアップロード
- ibm_careers_faq.csv をダウンロード
- Upload your data 欄にドラッグ & ドロップ
- [Finish] をクリック
- 左メニューから [Integrate and deploy] を選択 ➡︎ [API Information] ➡︎ Project ID をコピーして保存しておく
3.5 | watsonx Assistant の作業
画面下までスクロール ➡︎「Watson Discovery URL」のリンクをクリック
- アカウント名が予約した TechZone 環境の Cloud Account と一致していることを確認
- 「Launch watsonx Assistant」をクリック
3.5.1 | watsonx Assistant の初期設定
- [Assistant name] ➡︎「AI Chatbot」と入力
- [Assistant Language] ➡︎「Japanese」に設定
- [Personalize your assistant] を上から順に次の通り設定する ➡︎ Next をクリック
-「I'm not sure」
-「N/A (I am a student)」
-「Developer」
-「Not sure at this time.」
- デフォルトのまま [Next] をクリック
- デフォルトのまま [Create] をクリック
3.5.2 | watsonx 接続用 Extension 設定
- 左メニューから [Integration] を選択 ➡︎ 画面下にスクロール ➡︎ [Build custom extension]をクリック
- [Next] をクリック
- Extension name に「watsonx」と入力 ➡︎ [Next] をクリック
- [Drag and drop file here or click to upload] をクリック ➡︎ watsonx-openapi.json をアップロード ➡︎ [Next]をクリック
- デフォルトのまま [Finish] をクリック
- watsonx の [Add +] をクリック
- デフォルトのまま [Next] をクリック
- Authentication は次の通りに設定
- Authentication type: OAuth 2.0
- Grant type: Custom apikey
- Custom Secrets: 保存している IBM Cloud の API key ↩️
- Client Authentication: Send as Body
- Header prefix: Bearer
- Servers:
https://{region}.ml.cloud.ibm.com
- デフォルトのまま [Finish] をクリック
3.5.3 | Watson Discovery 接続用 Extension 設定
- 左メニューから [Integration] を選択 ➡︎ 画面下にスクロール ➡︎ [Build custom extension]をクリック
- デフォルトのまま [Next] をクリック
- Extension name に「Watson Discovery」と入力 ➡︎ [Next] をクリック
- [Drag and drop file here or click to upload] をクリック ➡︎ Watson-discovery-query-openapi.json をアップロード
- デフォルトのまま [Finish] をクリック
- Watson Discovery の [Add +] をクリック
- デフォルトのまま [Next] をクリック
- Authentication を次の通りに設定 ➡︎ Next をクリック
- Authentication type: Basic auth
- Username: apikey
- Password: 保存している Watson Discovery の API key ↩️
- Servers:
https://{discovery_url}
- デフォルトのまま [Finish] をクリック
3.5.4 | アクションファイルのアップロード
- 左メニューから [Actions] を開く ➡︎ 右上の設定アイコン (
) から [Upload/Download] に移動
- ibm_careers_action.json をアップロード ➡︎ [Close] をクリック
3.5.5 | プロジェクト ID の設定変更
- 左メニューから [Actions] ➡︎ Variables の方の [Created by you] ➡︎ watsonxai_project_id をクリック
- Initial value 欄に watsonx.ai ➡︎ [Projects] ➡︎ 保存している watsonx.ai のプロジェクト ID ↩️ を貼付 ➡︎ Save をクリック
- [Created by you] を選択したままで watson_discovery_project_id をクリック
- Initial value 欄に保存している Watson Discovey の プロジェクト ID ↩️ を貼付 ➡︎ Save をクリック
3.5.6 | アクションフローの紐付け
- 左メニューから [Actions] ➡︎ All Items の方の [Set by assistant] ➡︎ Greet customer をクリック
- [Conversational Steps] の「1」を選択 ➡︎ [And then] の項目 (デフォルトは「End the action」) をクリック
- [Go to subaction] を選択
- [Retrieval and generation] を選択 ➡︎ Apply をクリック
- 画面右上の [Save] ボタンをクリック
3.5.7 | Home Screen の設定変更
- 左メニューから [Environments] ➡︎ [Web chat] をクリック
- [Home screen] ➡︎ Home screenを [off] にする ➡︎ Save and exit をクリック
4 | 動作確認
- [Preview] ➡︎ 画面右下にチャットボットのある画面へ移動
質問意図を汲んで明確化した上で回答するユーザーフレンドリーなチャットボットが開発できました
ロングテールに属する質問にも対応しています。確認してみてください。
5 | 謝辞
本稿の執筆にあたり、tomnakam さんより一方ならぬお力添えをいただきました。
脚注
末尾の ↩ をクリックすると脚注元に飛びます。