Power Automate for desktopを使って、OpenAI APIを呼び出すには[Webサービスを呼び出します]アクションを使います。[HTTP]アクショングループの中にあります。
この記事では、このアクションの仕様について解説します。
「アクションの仕様」というより、APIの仕様になってしまうんですが、下図のような設定で呼び出せます。
まず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つだけ設定してください。[リダイレクトに追従します]と[要求本文をエンコードします]の設定を「無効」にしてください。
ここまで設定できたら、[保存]をクリックしてください。
それでは、また。
コメント ログインすると書き込めます