OpenAI APIを呼び出す方法|Power Automate for Desktop

Power Automate for desktopを使って、OpenAI APIを呼び出す方法を解説します。

この記事を書いた人
この記事を書いた人
こさい
こさい

(株)完全自動化研究所代表のこさいです。

1) ITエンジニア歴25年超。RPA開発歴8年超
2) RPA関連の書籍を6冊出版。
3) RPAトレーニング動画を販売しています。
4) Power Automate Desktopフロー販売を行っています
5) ご質問・お仕事のご依頼はこちら

OpenAI APIを呼び出す方法

使用するアクション

Power Automate for desktopを使って、OpenAI APIを呼び出すには[Webサービスを呼び出します]アクションを使います。[HTTP]アクショングループの中にあります。

「アクションの仕様」の説明というよりはAPIの仕様になってしまいますが、下図のような設定でOpenAI APIを呼び出すことができます。

アクション設定の説明

URL

まずURLの部分にWebサービスのエンドポイントURLを設定します。

このOpenAI APIは「Chat Completions API」というAPIで、このエンドポイントは「https://api.openai.com/v1/chat/completions」です。

メソッド

[メソッド]にはHTTPメソッドを設定します。ドロップダウンリストから「POST」を選択してください。

受け入れる

[受け入れる]には受け入れるレスポンスのコンテンツタイプを入力します。「application/json」と入力してください。[コンテンツタイプ]にはリクエストボディのコンテンツタイプを設定します。[受け入れる]と同様に「application/json」と入力してください。

カスタムヘッダー

[カスタムヘッダー]に追加のHTTPヘッダーを設定します。OpenAI APIの認証に必要なAuthorizationヘッダーを指定します。「Authorization:Bearer APIキー」を入力してください。

APIキーはOpenAIのWebサイトから取得できます。APIキーは[変数の設定]アクションで別途、変数「MyGPTKey」に格納しています。

要求本文

[要求本文]にはAPIに送信するデータの本文を設定します。JSON形式のリクエストボディを指定します。次のように入力してください。

{
"model": "gpt-3.5-turbo",
 "messages": [{"role": "user", "content": "%UserInput%"}],
 "max_tokens": 500,
 "temperature": 0.7
}

modelは使用するLLMを入力します。ここでは「gpt-3.5-turbo」というモデルを使っています。他にも「text-davinci-003」とか「gpt-4」などがあります。それぞれ、用途と価格(使用料)が違います。

messagesは会話の内容です。「%UserInput%」はユーザーからの質問です。このアクションの前に入力ダイアログを表示して、ユーザーからの質問を入力してもらうことで取得します。

max_tokensは入出力の最大トークン数で、gpt-3.5-turboの最大は4096トークンです。トークン数が増えると使用料がかかるので、制限しておきましょう。500トークンあれば、簡単な会話だったら超えることはあまりありません。

temperatureは応答のランダム性やクリエイティビティを制御するために使用されます。このパラメータは0から1の範囲で設定します。0に近づけば「固く」なり、一般的な質問や事実に基づく情報を求める場合に適しています。1に近づけば、より創造的で予測不可能な応答をするので、アイデアの創造などのクリエイティビティを発揮してもらいたいときに適しています。ここでは、「0.7」にしています。

次に[詳細]を設定します。

接続タイムアウト

[接続タイムアウト]にAPIへの接続がタイムアウトするまでの秒数を設定します。ここでは180秒を指定します。デフォルトでは30秒ですが、30秒ではタイムアウトしてしまうことが多いです。この秒数は実際にフローを動作させて調整してください。

「リダイレクトに追従します」と「要求本文をエンコードします」

あと2つだけ設定してください。[リダイレクトに追従します]と[要求本文をエンコードします]の設定を「無効」にしてください。

ここまで設定できたら、[保存]をクリックしてください。

動画で観る