chatGPT APIへのリクエストについてまとめ

chatGPT APIについて調べてみました。

今回はまとまりのない感じで、出すのをやめようかと思いましたが、メモ程度ですのでご配慮ください

難しい話は別として、基本的なところで最低限どんな値を渡してAIが処理してくれるかが今回の課題です

なお、この記事では画像系は未確認です。

model

今はchatGPT 4oが無料で使える状況ですが、APIは無料ではないので、以下から選択できる感じ

GPT-4o 最速かつ最も手頃な価格のフラッグシップモデル
GPT-4 ターボとGPT-4 以前の高知能モデル
GPT-3.5 ターボ 単純なタスク向けの高速かつ安価なモデル

3.5は他にあったが統合されてしまってますが問題ないでしょう

他にDALL Eや翻訳なんかもあります。

詳しくは、openaiサイトにてご確認ください

messages

messagesは、配列でリクエストして、配列でレスポンスがあります

        'role' => 'system',
        'content' => ''
    ],
    [
        'role' => 'user',
        'content' => '「今日は久しぶりのご飯だ。」を丁寧語に'

基本的には、userがchatGPTの入力欄になります。

systemは必須でないのと優先度低いようなので、前回まで回答引き継ぎ部分などを入れていく感じなのか

また、GPTsに似たことをしたい場合はattachmentsなどで、ファイル添付などが可能。

webの画像URLも以下で読み込めるが、同一ドメインなどセキュリティ考慮の必要があるかも。

“type”: “image_url”,
“image_url”: {“url”: “https://example.com/image.png”}

で参照できるみたいです

レスポンス

Array ( [id] => chatcmpl-****************** [object] => chat.completion [created] => ************* [model] => gpt-3.5-turbo-0125 [choices] => Array ( [0] => Array ( [index] => 0 [message] => Array ( [role] => assistant [content] => 「今日は久しぶりのお食事となりました。」 ) [logprobs] => [finish_reason] => stop ) ) [usage] => Array ( [prompt_tokens] => 35 [completion_tokens] => 20 [total_tokens] => 55 ) [system_fingerprint] => )

*******は数値を***に置き変えてます。

tokenの使用料とtotalもわかる。これを残しておけば解析やコスト検討にも使えそうです。

まとめ

chatGPTのチャット画面でできることは、APIでも超簡単にリクエストができました。

また、GPTsの動作もtokenがかかりそうだがAPIで実装できそう。

これからどう業務効率化に利用しようか楽しみです。

この記事を書いた人

管理者