Watson Assistantのインスタンスを立てる

# IBM Cloud アカウントの作成方法
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/5317b4b2-340d-57d8-c81a-b17c805b50e4.png)

#### クレジットカード登録が必須になりました

2022年12月2日現在、IBM Cloud アカウントの作成には、クレジットカードの登録が必須となっています。
ただし、無償利用枠を使用することでクレジットカードに課金されることなく、お試し可能なサービスが多数存在しています。
Watson Assistant も、その無償利用枠を提供するサービスの 1 つで、この記事ではずっと無償利用ができる Lite プランを使用した内容で記事を構成していきます。

#### IBM Cloud アカウントの作成手順

作成手順を書こうと思ったら、既に Qiita に投稿されている方がいらっしゃいました。
現時点の最新手順が反映されているので迷うことはありません。
[IBM Cloudのアカウント開設方法](https://qiita.com/Topfield/items/d3bdd7f696268a562340)

# Watson Assistant インスタンスを作成する

IBM Cloud アカウントを作成したら、次は Watson Assistant インスタンスの作成です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/a7a91e02-d187-01f6-1cdc-7f73563ecd75.png)

実は、Watson Assistant インスタンスを作成する入り口は 4 つあります。

* カタログ・メニューから [AI/機械学習] → "Watson Assistant" を選択する方法
* 検索窓に直接 "Watson Assistant" と入力する方法
* ハンバーガーメニューから [Watson] を選択し、"Watson Assistant" 「フリー・プランで始める」を選択する方法
* 「IBM Cloud シェル」 を使用する方法
:::note warn
2022年12月2日 現在、筆者が確認できた入り口の数です
:::

:::note info
どの入り口から入っても、作成されるインスタンスの内容は同じですので、自分に合った方法をお選びください
:::

#### カタログ・メニューから作成する方法

多くの方が利用している一般的な方法です。上部メニューで**カタログ**をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/06b51bd6-231e-e00b-846d-91a671043ccc.png)
**AI / 機械学習**をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/f4936b8f-e8fe-56dc-2c66-3b69e229fdb4.png)
**Watson Assistant** をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/08c9a218-568c-8311-e9e0-3266062c0361.png)
これがインスタンスを作成する画面です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/7901c348-5d12-8138-1be5-dfc943f20c49.png)
デフォルトで Lite プランが選択されていますが、音声ボットの作成を想定して、Plus プランの機能を 30 日間無償トライアルできる Trial プランを使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/6ca992a4-46f2-776f-b151-14986623bfa1.png)

この手順で、Watson Assistant インスタンスを作成できますが、今回は、あまり知られていない 4 番目の 「IBM Cloud シェル」 を使用した方法もご紹介します。ぜひ、試してみてください。

#### IBM Cloud シェルを使って作成する方法

IBM Cloud ダッシュボード画面の上部に表示されている 「IBM Cloud シェル」 をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/9b464c9b-8c28-f7f9-0329-42d030f0fbbc.png)

しばらくして、このような画面が表示されたら成功です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/c8e7d05b-f7fd-4cf1-6de8-636f8f3e3096.png)

#### IBM Watsonサービスを作成する

リソースグループをDefaultにセットします。
```shell:command
ibmcloud target -g Default
```

IBM Watsonサービスを検索します。
```shell:command
ibmcloud catalog search watson
```

IBM Watsonサービスが一覧表示されます。
```text:Watsonサービス一覧
Name                                         ID                                     Kind   
Communication Monitoring                     3e1a2c30-11dd-11ec-b621-67e0f6600d56   service   
Watson OpenScale                             2ad019f3-0fd6-4c25-966d-f3952481a870   service   
Consult with IBM Garage                      2f756420-434f-11e8-ae40-6bdd72502abc   service   
Watson Assistant                             7045626d-55e3-4418-be11-683a26dbc1e5   service   
Watson Studio                                39ba9d4c-b1c5-4cc3-a163-38b580121e01   service   
Watson Query                                 5d307850-0404-11eb-8c8b-c7d7505f656d   service   
Watson Knowledge Catalog                     ed3a5a53-eb60-4f3c-8fd1-17f88585b6ed   service   
Watson Discovery                             76b7bf22-b443-47db-b3db-066ba2988f47   service   
Analytics Engine                             18de078f-e6b0-4b47-a7c4-0ed2f93f3e1d   service   
ibmwatsonasstsecurityprodbroker-service      30303030-3030-3030-3030-504d515f3032   ssm-service   
ibmwatsonsupplychaininsights-service         30303030-3030-3030-3030-5343495f3032   ssm-service   
Internet of Things Platform                  iotf-service-id                        service   
Knowledge Studio                             983ea9a2-0fec-4021-8b70-8da5373394e5   service   
Language Translator                          f1faf010-4107-4877-a571-fc9c8763c3dd   service   
Natural Language Understanding               bb6393bc-7d81-446b-9728-61b704f6eca5   service   
Natural Language Understanding Node.js App   natural-language-understanding-basic   template   
Machine Learning                             51c53b72-918f-4869-b834-2d99eb28422a   service   
Speech to Text                               bc35fb8c-bc5b-431b-859e-3861771d5843   service   
Text to Speech                               282c1d79-9176-4597-9cff-941a8d6cfd4c   service   
watson-assistant service                     33f247ba-2a5b-45b8-8c06-901a34134bc5   ssm-service   
```

IBM Watson Assistant を作成します。
無償で利用できる Lite プランがありますが、音声ボットの作成を想定して、Plus プランの機能を 30 日間無償トライアルできる Trial プランを使用します。(プラン名は plus-trial です)
```shell:command
# Trial Plan
ibmcloud resource service-instance-create WatsonAssistant-trial 7045626d-55e3-4418-be11-683a26dbc1e5 plus-trial us-south
```
:::note info
Trial プランは 期間が過ぎても自動的に課金されることはありません。 期間が過ぎた場合、作成したリソースへの操作やサービス自体の利用はできなくなりますが、作成したリソースを JSON 形式でエクスポートすることが可能です。
:::

Lite プランを使用したい場合はこちらのコマンドを使用します。
```shell:command
# Lite Plan
ibmcloud resource service-instance-create WatsonAssistant-lite 7045626d-55e3-4418-be11-683a26dbc1e5 free us-south
```
:::note warn
プランには lite ではなく free を指定してください。
他の Watson APIs では lite を指定しますが、Watson Assistant インスタンス では、lite ではなく free を指定する必要があります。
:::

今回は実行しませんが、削除したい場合はこちらを実行します。
(1) 作成済みのインスタンスを表示し、削除したいインスタンス名を確認
```shell:command
ibmcloud resource service-instances
```
実行結果例

```text:実行結果例
Name                   Location   State    Type               Resource Group ID
WatsonAssistant-trial  us-south   active   service_instance   ***d97a45a8449fead1c23aa3f2d***
```
(2) 削除したいインスタンス名を指定して削除コマンドを実行
```shell:command
ibmcloud resource service-instance-create WatsonAssistant-lite
```

#### API Keyを作成する

IBM Watson Assistant の API Key を作成します。
```shell:command
ibmcloud resource service-key-create WAKey Manager --instance-name WatsonAssistant-trial
```

上記コマンドを実行すると API Key と URL が表示されますので、それぞれをコピーしておいてください。
```text:出力結果からの抜粋                       
# このようなイメージです
credentials:
    apikey: ***6rVXkG5I-4s6TEAOy-MSBE6g26G12R4V***
    url: https://api.us-south.assistant.watson.cloud.ibm.com/instances/c41733bc-***
```

:::note info
詳細な手順は、[『CLI によるインスタンスの作成』](https://cloud.ibm.com/docs/Cloudant?topic=Cloudant-creating-an-ibm-cloudant-instance-on-ibm-cloud-by-using-the-ibm-cloud-cli&locale=ja)に記載されていますので、興味のある方はご参照ください。
:::

IBM Cloudダッシュボード画面に戻って、作成したリソースを表示してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/c14c30af-f8bd-5419-02e6-83cae4433daa.png)

無事、Watson Assistant サービス・インスタンスが作成されていることが確認できました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52151/2ee39173-7223-0f36-1b9c-271b96a06cf4.png)


# いかがでしたでしょうか
今回は、ここまでです。
次回は Action を使って対話フローを作成してみます。お楽しみに。

# 参考情報

#### IBM Cloud アカウント作成関連

https://www.ibm.com/jp-ja/cloud/free

https://qiita.com/Topfield/items/d3bdd7f696268a562340

#### CLI によるインスタンスの作成
https://cloud.ibm.com/docs/Cloudant?topic=Cloudant-creating-an-ibm-cloudant-instance-on-ibm-cloud-by-using-the-ibm-cloud-cli&locale=ja