2
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?

[ハンズオン] watsonx によるチャットボット作成

Last updated at Posted at 2024-12-12
前書き

watsonx.aiwatsonx AssistantWatson Discovery の 3 つを連携して、ユーザーフレンドリーなチャットボットを 1 つ 1 つ手を動かしながら順を追って開発していきます。

目次

1 | 前提知識

2 | シナリオ

2.1 | ビジネスゴール

fig.png

  • :umbrella: 現在の業務 :umbrella:
    1. 全ての問合せをコールセンターが受付
    2. 即時に回答できない問合せは専門部署にエスカレーション
    3. 質問内容の照合はしていない

チャットボットを導入することで改善が見込めます。

  • :sunny: 今後の業務 :sunny:
    1. 問合せは原則チャットボットが受付
    2. チャットボットが回答できない質問のみコールセンターまたは専門部署が回答
    3. チャットボットを活用して照合先文書を不断に改善
      • コールセンターの手間が減る分を学習データである文書 (FAQ、取説、応答履歴) の改善に充てる

2.2 | ソリューション概要

fig.png

  • レベル 1 (FAQ の応答)
    • watsonx Assistant
      • 会話形式で問合せに回答
      • 想定問答のみ
      • 属人性に依存する問題を解消
  • レベル 2 (社内文書の応答)
    • Watson Discovery + watsonx Assistant
      • 社内文書 (FAQ、取説、他) を学習
      • 幅広い問合せに対して迅速に回答
      • データのサイロ化を解消
  • レベル 3 (ユーザーフレンドリーな応答)
    • watsonx.ai + Watson Discovery + watsonx Assistant
      • 問合せの内容を解釈し回答 (:pushpin: 本ハンズオンの対象)
      • 過去の問合せから FAQ を自動生成
      • コンプライアンス遵守1

watsonx.ai を連携させて生成 AI を組み込むことで、質問意図を汲んで明確化した上で回答するユーザーフレンドリーなチャットボットを開発します。

2.3 | 3 つの製品を組合せる価値

fig.png

  • 3 つの製品を組合せることでロングテールに属する質問にも回答可能となります
  • ロングテールな質問へ対応する意義
    • さらなる入電数の低減
    • (多国籍企業の場合) 現地の言語や文化に即した応答

watsonx Assistant 単独でも定型質問には柔軟に回答でき、コールセンターの入電数低減による効率化が実現できます。ただし、ロングテールな質問には対応できません。

2.4 | アクションフロー

fig.png

  • エンドユーザー
    ↓ ① チャットで質問
  • watsonx Assistant
    ↓ ② 質問内容を自然文検索
  • Watson Discovery
    ↓ ③ パッセージを含む検索結果
  • watsonx Assistant
    ↓ ④ 検索結果と回答作成指示のプロンプト
  • watsonx.ai
    ↓ ⑤ 要約された回答文書
  • watsonx Assistant
    ↓ ⑥ 回答
  • エンドユーザー

各製品が担う役割は次の通りです。

  • watsonx Assistant
    • アクションフローを含むチャットボットの UI を作成
  • Watson Discovery
    • RAG で利用する検索対象ファイルを格納
  • watsonx.ai
    • LLM の要約機能でプロンプトの指示を満足する回答を作成

2.5 | [参考] アクションフロー (多国籍企業向け)

fig.png

  • エンドユーザー
    ↓ ① チャットで質問
  • watsonx Assistant
    ↓ ② 質問内容を自然分検索
  • Watson Discovery
    ↓ ③ パッセージを含む検索結果
  • watsonx Assistant
    ↓ ④ 検索結果と回答作成指示のプロンプト
  • watsonx.ai
    ↓ ⑤ 要約された回答文書
  • watsonx Assistant
    ↓ ⑥ 要約された回答文書と回答作成指示のプロンプト
  • watsonx.ai
    ↓ ⑦ 翻訳された回答文書
  • watsonx Assistant
    ↓ ⑧ 回答
  • エンドユーザー

⑥ と ⑦ を追加。文書生成 (翻訳) にも生成 AI を活用します。

3 | 環境構築

次を前提とします。

TechZone へログインするためには IBMid (作成無料) が必要となります。初めて TechZone を利用する方は、まず最初に IBMid を作成してください。

環境の表示言語を英語に設定しています。日本語表示されている場合、英語に設定し直す必要はありません。該当箇所を適宜お読み替えください。

3.1 | TechZone 環境予約

img.png

  • 画面右上のベントウメニュー () アイコンをクリック ➡︎「Environments」を選択

img.png

  • 検索窓(:mag:)に「Watson Discovery with Assistant, AI, and Speech」と入力 ➡︎ 画面下部に表示される環境から該当するものを見つける ➡︎「Reserve(:cloud:)」

紛らわしいですが、watsonx Discovery の方を選択しないよう注意してください。

fig.png

  • よしなに設定を進める
    • 「Purpose」は「Education」を選択

3.2 | IBM Cloud コンソールの作業

img.png

  • アカウント名が予約した TechZone 環境の Cloud Account と一致していることを確認
    • 一致していない場合 ➡︎ アカウント名の右隣にあるドロップダウンメニューアイコン () をクリック ➡︎ 一致するアカウント名を選択

Cloud Account は、TechZone の予約完了通知メールに記載されています。また、後述する TechZone の予約ページからも確認できます。

3.2.1 | IBM Cloud API Key の作成

img.png

  1. IBM Cloud の ダッシュボードを開く
  2. メニューバーの [Manage] ➡︎ [Access (IAM)] をクリック

img.png

  • 左メニューから [API Keys] ➡︎ [Create] をクリック

img.png

  • 適当な名前 (例:「AI Chatbot API」) を入力 ➡︎ [Create] をクリック

img.png

  • 作成された API キーを保管しておく

3.3 | watsonx.ai の作業

img.png

  • TechZone の予約ページに移動 ➡︎ 予約した環境を「Open this environment」をクリックして開く

img.png

  • 画面下までスクロール ➡︎「watsonx.ai URL」のリンクをクリック

img.png

  1. アカウント名が予約した TechZone 環境の Cloud Account と一致していることを確認
    • 一致していない場合 ➡︎ アカウント名の右隣にあるドロップダウンメニューアイコン () をクリック ➡︎ 通知されたアカウント名を選択
  2. 「Launch in」の右隣にあるドロップダウンメニューアイコン () をクリック ➡︎「IBM watsonx」を選択

3.3.1 | watsonx.ai の事前準備

img.png

  • 画面下までスクロール ➡︎ ダッシュボード上の要素「Projects」の [+] をクリック

img.png

  • 適当な名前 (例:「AI Chatbot」) を入力 ➡︎ [Create] をクリック
    • プロジェクトが作成される

img.png

  • [Manage] をクリック ➡︎ [Services & integrations] をクリック ➡︎ [IBM services] タブの [Associate service] をクリック

img.png

  • 「Name」の末尾が [-wml] のサービスを選択 (:heavy_check_mark:) ➡︎ [Associate] をクリック

img.png

  • [Manage] ➡︎ [General] ➡︎ [Project ID] をコピーして保管しておく

3.4 | Watson Discovery の作業

img.png

  • 画面下までスクロール ➡︎「Watson Discovery URL」のリンクをクリック

img.png

  1. Discovery の [API Key] をコピーして保管しておく
  2. アカウント名が予約した TechZone 環境の Cloud Account と一致していることを確認
    • 一致していない場合 ➡︎ アカウント名の右隣にあるドロップダウンメニューアイコン () をクリック ➡︎ 通知されたアカウント名を選択
  3. 「Launch Watson Discovery」をクリック

3.4.1 | Watson Discovery の事前準備

img.png

  • [New Project] をクリック

img.png

  • [Project name] に適当な名前 (例:「AI Chatbot」)、[Project Type] にプルダウンメニューから [Document Retrieval] をそれぞれ設定

img.png

  • 適当な Collection name (例:「IBM Careers FAQ」) を入力
  • Select Language はプルダウンメニューから「Japanese」を選択
  • Upload your data 欄に FAQ とデータの所在を教える CSV ファイルをアップロード
    1. ibm_careers_faq.csv をダウンロード
    2. Upload your data 欄にドラッグ & ドロップ
  • [Finish] をクリック

img.png

  • 左メニューから [Integrate and deploy] を選択 ➡︎ [API Information] ➡︎ Project ID をコピーして保存しておく

3.5 | watsonx Assistant の作業

img.png

画面下までスクロール ➡︎「Watson Discovery URL」のリンクをクリック

img.png

  1. アカウント名が予約した TechZone 環境の Cloud Account と一致していることを確認
    • 一致していない場合 ➡︎ アカウント名の右隣にあるドロップダウンメニューアイコン () をクリック ➡︎ 通知されたアカウント名を選択
  2. 「Launch watsonx Assistant」をクリック

3.5.1 | watsonx Assistant の初期設定

img.png

  • [Assistant name] ➡︎「AI Chatbot」と入力
  • [Assistant Language] ➡︎「Japanese」に設定

img.png

  • [Personalize your assistant] を上から順に次の通り設定する ➡︎ Next をクリック
    -「I'm not sure
    -「N/A (I am a student)
    -「Developer
    -「Not sure at this time.

img.png

  • デフォルトのまま [Next] をクリック

img.png

  • デフォルトのまま [Create] をクリック

3.5.2 | watsonx 接続用 Extension 設定

img.png

  • 左メニューから [Integration] を選択 ➡︎ 画面下にスクロール ➡︎ [Build custom extension]をクリック

img.png

  • [Next] をクリック

img.png

  • Extension name に「watsonx」と入力 ➡︎ [Next] をクリック

img.png

  • [Drag and drop file here or click to upload] をクリック ➡︎ watsonx-openapi.json をアップロード ➡︎ [Next]をクリック

img.png

  • デフォルトのまま [Finish] をクリック

img.png

  • watsonx の [Add +] をクリック

img.png

  • デフォルトのまま [Next] をクリック

img.png

  • 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

img.png

  • デフォルトのまま [Finish] をクリック

3.5.3 | Watson Discovery 接続用 Extension 設定

img.png

  • 左メニューから [Integration] を選択 ➡︎ 画面下にスクロール ➡︎ [Build custom extension]をクリック

img.png

  • デフォルトのまま [Next] をクリック

img.png

  • Extension name に「Watson Discovery」と入力 ➡︎ [Next] をクリック

img.png

img.png

  • デフォルトのまま [Finish] をクリック

img.png

  • Watson Discovery の [Add +] をクリック

img.png

  • デフォルトのまま [Next] をクリック

img.png

  • Authentication を次の通りに設定 ➡︎ Next をクリック
    • Authentication type: Basic auth
    • Username: apikey
    • Password: 保存している Watson Discovery の API key ↩️
    • Servers: https://{discovery_url}

img.png

  • デフォルトのまま [Finish] をクリック

3.5.4 | アクションファイルのアップロード

img.png

  • 左メニューから [Actions] を開く ➡︎ 右上の設定アイコン (:gear:) から [Upload/Download] に移動

img.png

3.5.5 | プロジェクト ID の設定変更

img.png

  • 左メニューから [Actions] ➡︎ Variables の方の [Created by you] ➡︎ watsonxai_project_id をクリック

img.png

  • Initial value 欄に watsonx.ai ➡︎ [Projects] ➡︎ 保存している watsonx.ai のプロジェクト ID ↩️ を貼付 ➡︎ Save をクリック

img.png

  • [Created by you] を選択したままで watson_discovery_project_id をクリック

img.png

  • Initial value 欄に保存している Watson Discovey の プロジェクト ID ↩️ を貼付 ➡︎ Save をクリック

3.5.6 | アクションフローの紐付け

img.png

  • 左メニューから [Actions] ➡︎ All Items の方の [Set by assistant] ➡︎ Greet customer をクリック

img.png

  • [Conversational Steps] の「1」を選択 ➡︎ [And then] の項目 (デフォルトは「End the action」) をクリック

img.png

  • [Go to subaction] を選択

img.png

  • [Retrieval and generation] を選択 ➡︎ Apply をクリック

img.png

  • 画面右上の [Save] ボタンをクリック

3.5.7 | Home Screen の設定変更

img.png

  • 左メニューから [Environments] ➡︎ [Web chat] をクリック

img.png

  • [Home screen] ➡︎ Home screenを [off] にする ➡︎ Save and exit をクリック

4 | 動作確認

img.png

  • [Preview] ➡︎ 画面右下にチャットボットのある画面へ移動

chatbotHands-on.gif

質問意図を汲んで明確化した上で回答するユーザーフレンドリーなチャットボットが開発できました :beer:

ロングテールに属する質問にも対応しています。確認してみてください。

5 | 謝辞

本稿の執筆にあたり、tomnakam さんより一方ならぬお力添えをいただきました。

脚注

末尾の ↩ をクリックすると脚注元に飛びます。

  1. IBM は AI 倫理 を重視しています。IBM の生成 AI はユーザーフレンドリーでありつつも有害な回答をしないよう設計されています。詳細は、AI リスク教本 をご一読ください。

2
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
2
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?