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

<details open><summary>前書き</summary>

:::note info
[watsonx.ai](https://www.ibm.com/jp-ja/products/watsonx-ai "watsonx.ai")、[watsonx Assistant](https://www.ibm.com/jp-ja/products/watsonx-assistant "watsonx Assistant")、[Watson Discovery](https://www.ibm.com/jp-ja/products/watson-discovery "Watson Discovery") の 3 つを連携して、ユーザーフレンドリーなチャットボットを 1 つ 1 つ手を動かしながら順を追って開発していきます。
:::

</details>

# 目次
- [1 | 前提知識](#1--前提知識)
- [2 | シナリオ](#2--シナリオ)
    - [2.1 | ビジネスゴール](#21--ビジネスゴール)
    - [2.2 | ソリューション概要](#22--ソリューション概要)
    - [2.3 | 3 つの製品を組合せる価値](#23--3-つの製品を組合せる価値)
    - [2.4 | アクションフロー](#24--アクションフロー)
    - [2.5 | [参考] アクションフロー (多国籍企業向け)](#25--参考-アクションフロー-多国籍企業向け)
- [3 | 環境構築](#3--環境構築)
    - [3.1 | TechZone 環境予約](#31--techzone-環境予約)
    - [3.2 | IBM Cloud コンソールの作業](#32--ibm-cloud-コンソールの作業)
        - [3.2.1 | IBM Cloud API Key の作成](#321--ibm-cloud-api-key-の作成)
    - [3.3 | watsonx.ai の作業](#33--watsonxai-の作業)
        - [3.3.1 | watsonx.ai の事前準備](#331--watsonxai-の事前準備)
    - [3.4 | Watson Discovery の作業](#34--watson-discovery-の作業)
        - [3.4.1 | Watson Discovery の事前準備](#341--watson-discovery-の事前準備)
    - [3.5 | watsonx Assistant の作業](#35--watsonx-assistant-の作業)
        - [3.5.1 | watsonx Assistant の初期設定](#351--watsonx-assistant-の初期設定)
        - [3.5.2 | watsonx 接続用 Extension 設定](#352--watsonx-接続用-extension-設定)
        - [3.5.3 | Watson Discovery 接続用 Extension 設定](#353--watson-discovery-接続用-extension-設定)
        - [3.5.4 | アクションファイルのアップロード](#354--アクションファイルのアップロード)
        - [3.5.5 | プロジェクト ID の設定変更](#355--プロジェクト-id-の設定変更)
        - [3.5.6 | アクションフローの紐付け](#356--アクションフローの紐付け)
        - [3.5.7 | Home Screen の設定変更](#357--home-screen-の設定変更)
- [4 | 動作確認](#4--動作確認)
- [5 | 謝辞](#5--謝辞)

# [1](#目次) | 前提知識

- [watsonx](https://www.ibm.com/jp-ja/watsonx "watsonx")
    - 企業向けの AI モデル作成及び運用プラットフォーム
        - 次の主要 3 製品からなる (:pushpin: 本ハンズオンでは <INS>watsonx.ai のみ</INS>利用)
            - [watsonx.ai](https://www.ibm.com/jp-ja/products/watsonx-ai "watsonx.ai") (AI 開発)
            - [watsonx.data](https://www.ibm.com/jp-ja/products/watsonx-data "watsonx.data") (データストア)
            - [watsonx.governance](https://www.ibm.com/jp-ja/products/watsonx-governance "watsonx.governance") (AI ガバナンス)
- [watsonx Assistant](https://www.ibm.com/jp-ja/products/watsonx-assistant "watsonx Assistant") (チャットボット開発)
- [Watson Discovery](https://www.ibm.com/jp-ja/products/watson-discovery "Watson Discovery") (文書検索)

# [2](#目次) | シナリオ

## [2.1](#目次) | ビジネスゴール

![fig.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/e750d5ab-b4e7-9e34-257b-77fae1f43d03.png)

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

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

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

## [2.2](#目次) | ソリューション概要

![fig.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/9f4809e0-57bf-cab9-acb7-db6b8a1b7a80.png)

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

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

[^1]: IBM は [AI 倫理](https://www.ibm.com/jp-ja/impact/ai-ethics "AI 倫理") を重視しています。IBM の生成 AI はユーザーフレンドリーでありつつも有害な回答をしないよう設計されています。詳細は、[AI リスク教本](https://bookplus.nikkei.com/atcl/catalog/23/12/04/01133/) をご一読ください。

# [2.3](#目次) | 3 つの製品を組合せる価値

![fig.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/2130095a-94d6-0ab6-bbc9-a01ab9b6b058.png)

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

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

# [2.4](#目次) | アクションフロー

![fig.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/d788787f-0e7a-f6f7-a53a-212cafbe1edf.png)

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

:::note info
各製品が担う役割は次の通りです。
- watsonx Assistant
    - アクションフローを含むチャットボットの UI を作成
- Watson Discovery
    - RAG で利用する検索対象ファイルを格納
- watsonx.ai
    - LLM の要約機能でプロンプトの指示を満足する回答を作成
:::

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

![fig.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/f90f593b-68e5-a0ba-c38b-7504d55dfce1.png)

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

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

# [3](#目次) | 環境構築

:::note info
次を前提とします。
- [IBM Technology Zone (通称 TechZone)](https://techzone.ibm.com/) にログイン可能
:::

:::note warn
TechZone へログインするためには IBMid (作成無料) が必要となります。初めて TechZone を利用する方は、まず最初に IBMid を作成してください。
- [IBMid 作成](https://qiita.com/Shumpei_Kubo/items/564126081dea547dd742)
:::

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

### [3.1](#目次) | TechZone 環境予約

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/b279bf7e-8ef9-f4ed-3ffa-09e77167a738.png)

- 画面右上のベントウメニュー (<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/0f4e752a-6b29-0a72-51fd-274950bad264.png width="20px">) アイコンをクリック ➡︎「Environments」を選択

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/1c2ad687-ff25-8f35-a096-087922487332.png)

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

:::note warn
紛らわしいですが、watson<INS><B>x</B></INS> Discovery の方を選択しないよう注意してください。
:::

![fig.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/05df2125-7f4c-bd36-7e68-ad06b9a0b775.png)

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

## [3.2](#目次) | IBM Cloud コンソールの作業

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/f9202e94-4556-c7e4-82e2-a85e961d9769.png)

- アカウント名が予約した TechZone 環境の Cloud Account と一致していることを確認
    - 一致していない場合 ➡︎ アカウント名の右隣にあるドロップダウンメニューアイコン (<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/986d782a-db97-f47e-1d38-2b4032e4b841.png width="20px">) をクリック ➡︎ 一致するアカウント名を選択

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

<img width=50% src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/0258f9b2-ea44-dfa2-2d7a-7893748774db.png">

### [3.2.1](#目次) | IBM Cloud API Key の作成

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/dc3a2b6f-df28-3d04-5128-797c9dd1838d.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/525eaa17-147a-bfa3-8a30-99c2c1f219bc.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/0dc33cb7-60f3-e972-097d-cf7fceaa31e6.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/1e4e9bfc-0fb4-dea3-d096-fe82fb0ce154.png)

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

## [3.3](#目次) | watsonx.ai の作業

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/e474a9cc-f995-2e80-de32-039ea114626a.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/d3b325eb-39c6-df25-6632-346505fdd830.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/670cd2ef-cdee-83d6-07b3-42962cc45455.png)

1. アカウント名が予約した TechZone 環境の Cloud Account と一致していることを確認
    - 一致していない場合 ➡︎ アカウント名の右隣にあるドロップダウンメニューアイコン (<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/986d782a-db97-f47e-1d38-2b4032e4b841.png width="20px">) をクリック ➡︎ 通知されたアカウント名を選択
2. 「Launch in」の右隣にあるドロップダウンメニューアイコン (<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/986d782a-db97-f47e-1d38-2b4032e4b841.png width="20px">) をクリック ➡︎「IBM watsonx」を選択

### [3.3.1](#目次) | watsonx.ai の事前準備

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/a3bb915c-d1f7-7ef9-c3d5-58915bdf3583.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/46d28ac4-72de-d3fa-9cf2-79d825b40c32.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/670fd40b-c8dd-187d-5ba2-dbce741b5838.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/c8ed2e8a-9405-1ef7-da8e-e8a0d5a2ea33.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/3fe92f06-cfbc-9866-72a0-33302cc6716e.png)

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

## [3.4](#目次) | Watson Discovery の作業

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/43dde728-58cf-dab6-4898-0e932a224fe1.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/f3a05de6-7c8d-7c4c-6290-6d90f7649883.png)

1. Discovery の [API Key] をコピーして保管しておく
2. アカウント名が予約した TechZone 環境の Cloud Account と一致していることを確認
    - 一致していない場合 ➡︎ アカウント名の右隣にあるドロップダウンメニューアイコン (<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/986d782a-db97-f47e-1d38-2b4032e4b841.png width="20px">) をクリック ➡︎ 通知されたアカウント名を選択
3. 「Launch Watson Discovery」をクリック

### [3.4.1](#目次) | Watson Discovery の事前準備

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/f6dfc56e-bacd-5ff7-545b-3ff443cae307.png)

- [New Project] をクリック

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/d13c2455-dd0c-e428-84c8-2eecda20154f.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/40604245-cb53-2a39-35b1-b160be6333e2.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/bd0512db-d208-d969-1f78-3a1e696972dc.png)

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

## [3.5](#目次) | watsonx Assistant の作業

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/577da320-9e57-e06c-458c-df7dd9e27d51.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/c1a5bca5-ed78-0968-e790-fd4cfaf57adc.png)

1. アカウント名が予約した TechZone 環境の Cloud Account と一致していることを確認
    - 一致していない場合 ➡︎ アカウント名の右隣にあるドロップダウンメニューアイコン (<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/986d782a-db97-f47e-1d38-2b4032e4b841.png width="20px">) をクリック ➡︎ 通知されたアカウント名を選択
2. 「Launch watsonx Assistant」をクリック

### [3.5.1](#目次) | watsonx Assistant の初期設定

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/1abba063-1bd9-7863-3dfb-38d0a9519566.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/ef38254e-08e5-c737-f0c3-da0f22426073.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/39ac2d03-2119-a518-be47-8ca305386086.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/08bcc104-f7e7-4ad0-f664-9adaa574deae.png)

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

### [3.5.2](#目次) | watsonx 接続用 Extension 設定

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/9078e4da-8538-565b-0a7b-516815b15a24.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/d5d57f47-e7fd-9f5c-4a4f-cf18eb9cb6ac.png)

- [Next] をクリック

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/bc627d74-471e-8b11-3625-8b14c1174896.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/5044401f-3485-3107-8f6b-5c9a5209919b.png)

- [Drag and drop file here or click to upload] をクリック  ➡︎  [watsonx-openapi.json](https://github.com/watson-developer-cloud/assistant-toolkit/blob/master/integrations/extensions/starter-kits/language-model-watsonx/watsonx-openapi.json) をアップロード ➡︎ [Next]をクリック

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/38edaaa7-856f-6f03-fb35-ff7f86880fb2.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/3b11c5b6-2a74-d553-2203-e37e38da3974.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/5a49fdee-5137-8704-0320-1e6dba1810a6.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/683c2fd6-329f-2b5d-44d7-5c6a8adfdd1e.png)

- Authentication は次の通りに設定
    - Authentication type: **OAuth 2.0**
    - Grant type: **Custom apikey**
    - Custom Secrets: 保存している IBM Cloud の API key [↩️](#321--ibm-cloud-api-key-の作成)
    - Client Authentication: **Send as Body**
    - Header prefix: **Bearer**
    - Servers: **```https://{region}.ml.cloud.ibm.com```**

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/3099fe3a-73f6-16d6-2619-74e84e177a32.png)

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

### [3.5.3](#目次) | Watson Discovery 接続用 Extension 設定

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/bdbd7ae1-0d97-d3e4-207c-b9d7874a4590.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/5f7e42bd-acb3-ec1d-77b7-c5e262a80746.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/edc2e6af-3cd9-6913-7d3e-ddb6f099d3a3.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/720217c3-ade3-768f-68b4-26c4d9603b64.png)

- [Drag and drop file here or click to upload] をクリック ➡︎ [Watson-discovery-query-openapi.json](https://github.com/watson-developer-cloud/assistant-toolkit/blob/master/integrations/extensions/starter-kits/watson-discovery/watson-discovery-query-openapi.json) をアップロード

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/94221a13-fefd-5353-3ba4-b441d9d93936.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/061e50c0-9af8-b74a-d870-7fa951af83a5.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/5a49fdee-5137-8704-0320-1e6dba1810a6.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/422ac749-c06d-8a15-0eba-7b272fb48a8b.png)

- Authentication を次の通りに設定 ➡︎ Next をクリック
    - Authentication type: **Basic auth**
    - Username: **apikey**
    - Password: 保存している Watson Discovery の API key [↩️](#34--watson-discovery-の作業)
    - Servers: **```https://{discovery_url}```**

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/05d98830-19d7-3fde-73a5-de4c05e14ee8.png)

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

### [3.5.4](#目次) | アクションファイルのアップロード

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/0b119b1a-b13c-87c2-95a2-1d6d13febcf3.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/47973803-349c-d736-b396-b8713d6e7770.png)

- [ibm_careers_action.json](https://github.com/mukoubuchi/qiita/blob/main/watsonx_chatbot_handson/ibm_careers_action.json) をアップロード ➡︎ [Close] をクリック

### [3.5.5](#目次) | プロジェクト ID の設定変更

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/491f3f63-a446-d67c-d248-391c1057336a.png)

- 左メニューから [Actions] ➡︎ <ins>Variables</ins> の方の [Created by you] ➡︎  watsonxai_project_id をクリック

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/6a31e64b-41ff-93fc-1c6f-f71db4747dc3.png)

- Initial value 欄に watsonx.ai ➡︎ [Projects] ➡︎ 保存している watsonx.ai のプロジェクト ID [↩️](#331--watsonxai-の事前準備) を貼付 ➡︎ Save をクリック

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/0ae54caf-9032-3d1f-024f-a6f472eedb1c.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/96686d22-1ac9-3a23-e357-264e2fef15d0.png)

- Initial value 欄に保存している Watson Discovey の プロジェクト ID [↩️](#341--watson-discovery-の事前準備) を貼付 ➡︎ Save をクリック

### [3.5.6](#目次) | アクションフローの紐付け

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/e2df78c0-238a-b6a1-1cf6-5b4b7f029207.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/21f6a009-f4b9-0fda-071c-0f7bceedf769.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/1a34bbbf-3ffd-19ee-c6a8-eb5b58f6aaaa.png)

- [Go to subaction] を選択

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/ab73937c-2131-ba47-334d-f02eeb505d78.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/3d14b3e7-a694-5ad0-c78c-ca8681a94dde.png)

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

### [3.5.7](#目次) | Home Screen の設定変更

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/854a77db-7b7a-746f-5349-811f0f7339f5.png)

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

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/a60c7647-d787-cd30-c1dd-f883d496710c.png)

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

# [4](#目次) | 動作確認

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/c5f3aba9-bc11-3e69-703c-cb7c7206c064.png)

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

![chatbotHands-on.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3544698/679ed795-6988-ef11-6529-f3e72c163e59.gif)

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

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

# [5](#目次) | 謝辞
本稿の執筆にあたり、[tomnakam](https://qiita.com/tomnakam) さんより一方ならぬお力添えをいただきました。

# [脚注](#目次)

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