UiPathとMicrosoft Azure OpenAIでChatGPTを使ってみる

この記事はUiPathブログ発信チャレンジ2023サマーの19日目の記事です。

もうすでにChatGPTがらみの書き込みはたくさんありますが、ブログ発信チャレンジ2023サマーではまだなさそうなので早い者勝ち!
UiPathでChatGPTにつないで結果を返すだけのシンプルなものを作ってみたいと思います。なお、UiPath Automation CloudとIntegration Serviceを使った例は「【UiPath】Integration Service のOpenAIコネクタを利用して、ChatGPTに質問を投げるロボットを作成してみた」が詳しかったので、非同期でちゃんと作りたい場合はそちらをぜひご覧ください。
実際にどう使うかとか、何に使うかなどは、ちょうど今週金曜日(2023/07/21) の「第12回 UiPath Friends 全国 ~ We 💛 UiPath Friends SPACES大手町に全員集合!~でパネルディスカッションしますのでぜひお楽しみに(東京の現地開催だけですが^^;)


はじめに


作るものの簡単な概要です。
ExcelのSheet1/A1セルの内容をChatGPTに問い合わせてSheet1/A2セルに返すだけ。
なんでこんなものにしたかは、ともかく目的をもって利用しようとすると結果の文字列処理とかをしないといけないのですが、文字列処理についてはたくさん解説があるため、まずは繋いで結果が返ってくることを確認したかったので作りました。

作ってみる

【準備】

  • Microsoft Auzre OpenAI ServiceでChatGPT使用の申請を行う(なお、すぐには使えるようにならなかったり、登録には会社のメールアドレスが必要とか、少し?!ハードルが高かったりします)

  • Azure PortalからOpenAI ServiceのAPIキーを取得する

APIキーの取得

1.新しいプロセスを作る

余談ですが、今回は利用しませんがOpenAIコネクタを使用したい場合は「対応OS」をレガシにしてしまうと、OpenAIに接続するためのアクティビティが利用できません。ですので利用の際には「対応OS」は「Windows」を選んでください。

対応OSはWindows

2.Webサービスを使用するためのパッケージをインストール

「パッケージを管理」からWebAPIのためにパッケージをインストール

UiPath.WebAPI.Activities

3.ワークフローを作る

ExcelのSheet1/A1セルを読み込み、ChatGPTに質問を投げて、Sheet1/A2セルに結果を書き込む。それだけです^^;

ワークフロー

では、HTTP要求に必要なプロパティを列挙します。「設定」ボタンを押して次の記入を行います
・エンドポイント:https://[Azure Open AI ポータルに記載されているエンドポイント]/openai/deployments/[デプロイ名]/chat/completions?api-version=2023-05-15
・タイムアウト(結構遅い):20000
・要求メソッド:Post
・本文:
・「パラメーター」から「ヘッダーを追加」:
 名前(ダブルクォーテーション要りません):api-key
 値(ダブルクォーテーション要ります):"{準備で取得したAPIキー}"

設定ボタン

「プレビュー」ボタンを押して、エラーコード400で本文入れろってエラーがでたら、疎通成功です。次に、本文を入れます。「HTTP要求」の本文を入れます。
本文形式:application/json
本文:"{""model"": ""gpt-4"",""messages"": [{""role"": ""user"", ""content"": """ + szQuery +"""}]}"
※szQuery変数はExcelから読んだもの
応答コンテンツ:返答を入れるための変数

これで、ChatGPTからの返事が取ってこれるようになりました。
(ちょっと解決できなかった問題:なぜか質問に日本語が入っていると落ちる……。Unicodeエスケープとかつけてみてもやっぱり落ちる……)
ということでもうちょっと頑張ってみます。良い子はOpenAIコネクタを使いましょう。


この記事が気に入ったらサポートをしてみませんか?