fbpx

システム連携ネタでよくブログを書いている日下です。

最近は生成 AI に関するニュースを聞かない日はありませんね。テキスト系では Google Vertex AI PaLM API 等も気になりますが、まだまだ ChatGPT の話題が一番多いでしょうか。

弊社サービス Questetra BPM Suite のお客様からも生成 AI の話題をよく聞きます。その中で Azure OpenAI Service の ChatGPT と Questetra BPM Suite との API 連携についての相談があります。

※Questetra BPM Suite について:
クラウド型の業務プロセス管理システム (SaaS BPMS) で、業務フローの設計から自動化、進捗の追跡まで行うことができます。視覚的にわかりやすい業務プロセスと API の連携により、業務の効率アップを実現します。

本記事では、本家 OpenAI 社が提供する ChatGPT と Microsoft 社が提供する Azure OpenAI Service の ChatGPT との違いに触れつつ、Azure OpenAI Service の ChatGPT と Questetra BPM Suite との API 連携方法について説明します。
(Azure OpenAI Service の ChatGPT はモデルデプロイまでできているものとし、Azure OpenAI Service の操作方法等については触れません。ご了承ください)

※本記事では、以下の略称表記を使います。
 Azure OpenAI Service → 「AOAI」
 Azure OpenAI Service の ChatGPT → 「AOAI ChatGPT」
 本家 OpenAI 社が提供する ChatGPT → 「本家ChatGPT」
 Questetra BPM Suite → 「Questetra」

1: Azure OpenAI Service(AOAI)とは

「AOAI」は、ChatGPT をはじめとする OpenAI 社の多様な生成 AI モデルを、Microsoft 社の Azure のクラウドプラットフォーム上で利用できるサービスです。Azure Cognitive Services のラインナップの1つでもあります。OpenAI 社が提供するサービスを利用するよりも、セキュリティが高く、データ保護の観点で優れています。

Azure OpenAI Service(Microsoft社サイト)

2: 「本家ChatGPT」と「AOAI ChatGPT」の違い

「AOAI ChatGPT」は、認証方式・接続方式を選択でき、セキュアに利用したいというニーズに対応できる点で、「本家ChatGPT」より企業向けに適していると考えられます。

また、「本家ChatGPT」では入力データを学習に利用する可能性がある、と謳われています。API を介した入力データは学習に使わない、ということですが、一般利用者が適切に区別できるかどうか、システム管理者としては不安を感じるものと想定されます。そのため、データ保護・漏洩防止の面からも「本家ChatGPT」より「AOAI ChatGPT」の方が安心感があると考えられます。

ChatGPTとは?Azure OpenAI Serviceとの違いも分かりやすく解説(ソフトバンク社サイト)
(比較表の「学習データ」「OpenAIの場合」より)「SaaSの場合は、入力した情報をChatGPTのトレーニングに利用する可能性あり」

OpenAI platform Introduction(OpenAI社サイト)
(Overview より)「At OpenAI, protecting user data is fundamental to our mission. We do not train our models on inputs and outputs through our API. Learn more on our API data privacy page.」
(訳)OpenAI では、ユーザー データを保護することが私たちの使命の基本です。 API を介した入力と出力に関してモデルをトレーニングすることはありません。 詳細については、API データのプライバシー ページをご覧ください。

Azure OpenAI Service に関してよく寄せられる質問(Microsoft社サイト)
「モデルのトレーニングには自社のデータが使用されますか? → Azure OpenAI では、モデルの再トレーニングに顧客データは使用されません。」

3: 「AOAI」の API リファレンス

「AOAI」に限らず、Microsoft 社のドキュメントは量が多く、新旧の情報が混在していて、探しにくい・どれが正しいかわかりづらいと感じることが多いです。「AOAI」についても同様です。
以下 API リファレンスには最新情報が記載されていないようでした・・・

Azure OpenAI Service の REST API リファレンス

例えば

https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/completions

ではなく

https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions

について記載が見当りませんでした・・・

以下の Swagger 向け JSON ファイルをよく見てみると、/completions だけでなく /chat/completions についての記載も見つけることができました。(2023/8時点の話で、2023/9/8現在ではリファレンスに /chat/completions の記載があることを確認)

Swagger 向け JSON ファイル2023-06-01版

ということで、これらのドキュメントを参考にしながら、「AOAI ChatGPT」と「Questetra」との API 連携の動きを確認することとしました。

4: 「AOAI」の API 利用時の認証

前述の「AOAI」の API リファレンスの冒頭に記載の通り、以下の2通りの認証方法があります。

  • APIキー認証
  • Azure Active Directory認証

試行錯誤するも Azure Active Directory 認証がうまくいかず・・・(2023/9/6時点)

ということで、「Questetra」の Ver.15.1 で対応された HTTP カスタムヘッダ(api-key が指定可能に!)を使って、APIキー認証を利用することとしました。

5: 「AOAI ChatGPT」と「Questetra」との API 連携を容易に実現するには

ここまでの内容を踏まえ、悪戦苦闘の末、「AOAI ChatGPT」と「Questetra」との API 連携が実現できました。そして、「Questetra」の「アドオンXML」(フロー設計で利用できる追加部品)を準備しました!


以下の「本家ChatGPT」向け「アドオンXML」をベースに作成しました。「AOAI ChatGPT」特有の設定項目があること、「アドオンXML」の設定項目に上限数の制限があることを考慮して、一部機能を削った形で準備しました。


上記の「AOAI ChatGPT」向け「アドオンXML」を使うことで、手強い Microsoft 社の API リファレンスと格闘しなくても「AOAI ChatGPT」との連携が実現できます!(「AOAI ChatGPT」向け「アドオンXML」の設定については、上記リンク先の Notes をご確認ください)

「Questetra」の「アドオンXML」のインポート方法については、以下マニュアルをご覧ください。
M415: 業務プロセス定義で利用可能な自動工程を追加する

6: まとめ

「Questetra」は以下フォームからのお申込で、すぐに無料トライアルが可能です!日頃の業務に生成 AI との連携を取り入れたい、という方は、ぜひお試しください。

また「本家ChatGPT」「AOAI ChatGPT」ほか、生成 AI との連携を含む業務フローサンプルを以下の一覧ページでいろいろ準備しております。ぜひ参考にしてください!

OpenAI 関連のサンプルフローや「アドオンXML」一覧

Questetra BPM Suiteをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む