UiPath×AIを喋ってって言われたので

## 自己紹介
きたむらと申します。初Qiitaです。緊張してます。書き方微妙かもですが、勘弁してください。
## はじめに
この記事はUiPathブログ発信チャレンジ2023サマーの20日目の記事です。

https://note.com/shumpei_w/n/nd082bdf28853#1582b099-62e6-4351-93f1-8fc3ac1d1128

前日はちゅきさんとUiPathのKajiitaさんとさおさん

https://note.com/chuki082/n/n6006051153f7

https://qiita.com/Kajiita/items/e9cacc4313026efc2f12

https://qiita.com/saosao885/items/d7f1c6fb82b786e6783b

本日は私とたなかさん
明日はyhakiaiさん
https://twitter.com/yhakiai

です！！

## 本記事の注意点
本記事は色々と端折っているので、以下の人が対象です。
- UiPathにて何かしらロボットを作ったことがある人
- APIについてなんとなーく理解している人
- AWS、Azure等パブリッククラウドについてなんとなーく理解している人
- 認証認可とかなんとなーく理解している人
- ChatGPTでアカウント作成して、少しでも遊んだことがある人
- 生成系AIのトレンド(ChatGPTのOpenAI, Azure OpenAI, Bardとか言葉だけでも)をなんとなーく知っている人

本記事は丁寧に解説するのではなく、**私の思考回路に沿って** 書いています。

## 本題スタート　UiPath×AIって何よ？
つい3週間ほど前にあるお客さんの営業から、あるお客さん先で **「UiPath×AI」** を喋って欲しいです！と言われまして、いやぁAIとかマジで詳しくないんですけども…と思いながら、向き不向きよりも前向きにやろうか…ということで、2023年7月の今やるならば少し前までのAI(識別系AIとか言いますよね)ではなく **生成系AI一択** だよね～と思いながら考えはじめました。

正直全然時間が取れないので、思い付きの発想ベース、課題解決優先で進めました。

アイディアとして、
**「そもそもUiPathから簡単にChatGPTとかって使えるの？」**
からスタートしました。

## とりあえずUiPath Integration Serviceで探してみよう
探してみたら、さくっと見つかりました。**UiPath Integration Service** に。
コネクタが既にあるんすね。さすが。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/514b676d-f82f-0e8f-3e1d-a13ba091b7fd.png)
OpenAIをクリック。APIキーを求められました。なるほど。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/b204c8ae-d927-33fa-6d7b-fad0789efb1a.png)
Microsoft Azure OpenAIをクリック。なんか一個多い。サブドメインorリソースネームとか言ってる。ですよね。Azureで環境作らなきゃいけないんですよねぇ。うーむ。ちょっとハードル高い。Azureのアカウント持っていない気がするし(それすらもあやふや…)。却下。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/f5c3f6a3-f20e-aba3-bf4c-c0b16da6b7d7.png)
OpenAIでいってみよう。Google先生に普通に聞いて、上のほうの記事をいくつか確認。Bing ChatやChatGPTに聞いていないのはまだ僕がそこまで使っていないから。笑
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/cbe6341c-2925-044c-9b8a-faac5db91013.png)

OpenAIのアカウント発行とかは必要です。サインアップ必要です。
### OpenAIのAPIキー発行

ここまで来たら……
（ここまでは別の色々な記事で来てね！）
（API利用時の注意点も認識してね！）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/ba8e7d01-c563-d238-5d3b-a102d8762d45.png)
View API keysをクリック。
![a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/59efe519-0f1e-bb16-e7e6-70cd384486c9.png)
Create new secret keyをクリック。
![545454.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/3499e4cb-3199-5545-4478-126de256ef06.png)
ポップアップで小窓が出てきて、適当に名前をつけて、Create secrat keyをクリック。
![test.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/bd289272-c343-713d-c958-0b5c42182fc5.png)
発行できやした。そのキーをコピーしてさっきのIntegration Serviceのところにいれて…
![aaa.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/828fd4a8-e43a-b61a-1da2-3805bacf3f20.png)
![2323223.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/a3f808db-915b-f047-c4bf-5766d266c058.png)
**接続成功しました。簡単！**（接続成功の瞬間のスクショは消えるのが早すぎて取得できず。笑）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/43b1f8bb-721a-3b0b-e1f9-348514a7d196.png)

# UiPath Studioでアクティビティを探してみる
接続は完了したということで、次はStudioでアクティビティを探してみる。いつものパッケージを管理から探そう。

**ある！** 「OpenAI」をインストール実行。作成者がUiPathだとホッとする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/b9308d9f-3f73-2470-5307-3461255a0a10.png)

アクティビティパネルに2つアクティビティが出てきました。
Chat CompletionとText Completion。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/ab4487b6-2258-11a4-cc89-0f8ecd00165f.png)
よくわからんから、今度は空気読んでChatGPTに聞いてみる。↓は普通にブラウザからChatGPTに聞いたところ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/812b43db-b0f2-2862-060a-55341c4a3d17.png)

長い文章が頭に入らない…！まぁ今回はデモなので、どっちでも良いかな…。
でもチャットする感じはなく、単に聞くとして、Text Completionかな。まぁどっちでも良いでしょ。

## アクティビティを置くと
左のアクティビティパネルから、デザインパネルにText Completionのアクティビティを置くと。

くるくる回って接続はIntegration Serviceがいい感じにやってくれたっぽい。優秀。
プロパティがいっぱいある…。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/4a1059a3-0140-77ef-2649-59fb173a7e4c.png)

なんでも良いので、結果だけ返してもらって、メッセージボックスに出しましょう。

質問はさっきブラウザで聞いた内容と一緒にしました。
**「Chat CompletionとText Completionの違いを教えてください。」**（赤枠）
結果を **「OpenAI君が生み出してくれる言葉」** のString型変数にいれて、みんな大好きメッセージボックスに出す。（青枠）
![faafafaf.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/1f705e19-ae8a-0186-6ae3-5404187373dd.png)


**Hello World！！** 
画像がちっちゃくてごめんなさい( ;∀;) 大きくしてみてね。ちゃんと返してくれているよ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986649/58a20e96-c2b7-f822-c403-5d868de28ac8.png)

ということで、UiPathからOpenAIのAPIに超簡単にコール＆レスポンスゲットできました。

**「決まり切った事はUiPathで、判断が必要な事はAIで、E2E (End to End) の自動化がもう目の前に！！」**
というよくありそうなメッセージでしめる事になりましたが、無事おしゃべりとデモを終えることができました（しゃべりの出来はよくなかったけども…）。めでたしめでたし！

## 終わりのつぶやき
- UiPathであれば、このトレンドを逃さず、既にコネクターとかアクティビティ用意しているよね？という頭の中の前提条件や認識はあったかもです。
- 調べてみると、OpenAIのAPI利用は無料では5ドル分までしか利用できないので、ご注意ください！（2023年7月時点）
- OpenAIのアクティビティのプロパティについて、完全スルーしましたが、お金が余計にかかるところはどこかなぁ～？といった観点では眺めました。僕には5ドル分しかないので…。
- ということで、テスト実行するのもちょこっと勇気が必要でした笑。1回の実行で何ドル分消費されるかやる前はよくわからなかったので。
- 頭の中で **「UiPath×AI」** ってお互いの足りないところを埋め合う感じで、結局組み合わせだよね～、とか思いつつも、**自分で** やってみて形になると、新しい発見もやはりありました。**やってみるって大事。**
- (投稿直前に追記) 前日のちゅきさんのネタとほぼもろ被りしました😭
- (投稿直前に追記) さーっとQiitaなりnoteなりをみて、あー、このネタってあんまりまだ出ていないのかな？と思ってたのですが、甘かったです😭