AI Builder でGPTのモデルを利用できますが、より柔軟性が高いAzure OpenAI のモデルに接続したいケースが有るかと思います。
そこで今回は接続方法の一つとしてカスタムコネクタの作成方法をご紹介します。
目次
接続方法の比較
Azure OpenAI への様々な接続方法がありますが、そのうち代表的な方法についてご紹介します。
接続方法 | 特長 | デメリット |
---|---|---|
カスタムコネクタ | ・コネクタとして利用することができ再利用し易い ・閉域網からの接続にも利用することができる | 最初に誰かがコネクター定義を 作成する必要がある |
HTTPコネクタ | ・簡単に利用開始することができる ・接続情報は環境変数などに格納することができる | 閉域網の接続に対応することができない |
HTTP with Entra ID | ・Azure OpenAI を管理するAPI Management 等でEntra ID での認証を行っている場合に有効 ・閉域網からの接続にも利用することができる | 利用者がエンドポイントの情報などを 自分で入力しなければならないため、配布しにくい |
利用ケースに合った接続方法を選択してください。
今回はカスタムコネクタの作成方法をご紹介します。
Azure OpenAI のモデルをデプロイする
Azure OpenAI のモデルがない方はデプロイを実行しておきます。
ポータルはこちらからアクセスできます。 https://oai.azure.com/
カスタムコネクタの起動
Power Automate の作成者ポータルから起動します。
https://make.powerautomate.com
カスタムコネクタを選択します。
今回は1から作成してみようと思います。
なにか名前をつけて実行します。
Azure OpenAI Studio から情報を取得し、以下のように設定します。
認証タイプを設定します。ヘッダーにKey vaultの情報を入力できるようにしたいので認証なしとしておきます。
ヘッダーに入力することで、キーの管理を環境変数であったりAzure Key Vault にて実施することができます。
新しいアクションを設定します。
こちらがコネクターのアクションになります。
赤枠の部分については補足をしております。
補足説明
ここでいう、「概要」というのは以下の部分です。
また、「説明」はアクション単位ではインフォメーションアイコンにて表示されたり、フィールド単位ではそのフィールド内に透かして表示される部分です。
important
操作とパラメーターは常に、最初にユーザーに表示されます。advanced
操作とパラメーターは追加メニューで非表示になります。internal
操作とパラメーターはユーザーに対して非表示になります。
要求についての公式リファレンスはこちらにあります。
コピーしました!
{
"messages": [
{
"role": "user",
"content": "Does Azure OpenAI support customer managed keys?"
}
],
"max_tokens": 800,
"temperature": 0.7
}
api-versionは以下のようにしておきます。
2024-05-13
応答のインポート
以下を参考に応答を受け取れるようにしておきます。こちらを設定することで、Parse JSON を行わなくて良いようになります。
サンプルからのインポートを選択し、以下を読み込ませます。
コピーしました!
{
"statusCode": 200,
"headers": {
"request-id": "48802067-1a07-4c3b-aa6a-776d41eb7506",
"x-ms-region": "East US",
"apim-request-id": "48802067-1a07-4c3b-aa6a-776d41eb7506",
"x-ratelimit-remaining-requests": "149",
"x-accel-buffering": "no",
"x-ms-rai-invoked": "true",
"X-Request-ID": "7907b159-86e2-48c3-84c5-71b2825cb504",
"Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload",
"azureml-model-session": "d010-20240713213025",
"X-Content-Type-Options": "nosniff",
"x-envoy-upstream-service-time": "1708",
"x-ms-client-request-id": "5e91c62e-8770-4508-80b2-e1804c34afcd",
"api-supported-versions": "1",
"x-ratelimit-remaining-tokens": "148188",
"Date": "Mon, 02 Sep 2024 06:49:45 GMT",
"Content-Length": "1048",
"Content-Type": "application/json; charset=utf-8"
},
"body": {
"choices": [
{
"content_filter_results": {
"hate": {
"filtered": false,
"severity": "safe"
},
"self_harm": {
"filtered": false,
"severity": "safe"
},
"sexual": {
"filtered": false,
"severity": "safe"
},
"violence": {
"filtered": false,
"severity": "safe"
}
},
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"message": {
"content": "工場 作業員 溶接 火花 作業服",
"role": "assistant"
}
}
],
"created": 1725259785,
"id": "chatcmpl-A2vAfQ0BsJAfDQYmYlYktbIW5SRnJ",
"model": "gpt-4o-2024-05-13",
"object": "chat.completion",
"prompt_filter_results": [
{
"prompt_index": 0,
"content_filter_result": {
"jailbreak": {
"filtered": false,
"detected": false
},
"custom_blocklists": {
"filtered": false,
"details": []
}
}
},
{
"prompt_index": 1,
"content_filter_result": {
"sexual": {
"filtered": false,
"severity": "safe"
},
"violence": {
"filtered": false,
"severity": "safe"
},
"hate": {
"filtered": false,
"severity": "safe"
},
"self_harm": {
"filtered": false,
"severity": "safe"
},
"custom_blocklists": {
"filtered": false,
"details": []
}
}
}
],
"system_fingerprint": "fp_abc28019ad",
"usage": {
"completion_tokens": 14,
"prompt_tokens": 696,
"total_tokens": 710
}
}
}
content
には返答が入っていて重要なため、こちらを編集してimportant
にしておきましょう。
他にも活用したい項目があったら、important
にしておきます。
カスタムコネクタの作成
カスタムコネクタをこのタイミングで作成しておきます。
もし、このあとで更新した場合、コネクタの更新を行いましょう。
カスタムコネクタのテスト
早速テストしてみます。
接続情報を問われます。
クリックするだけで作成できるはずです。
api-key
はAzure OpenAI Studio から入手しましょう。
デプロイのメニューから取得することができます。
カスタムで絞ってカスタムコネクタを探してみます。
先ほど定義したアクションが利用できるようになっていることがわかります。
接続することができました。
以上、ご参考になれば幸いです。