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で実装できそう。
これからどう業務効率化に利用しようか楽しみです。