ROBOT PAYMENT TECH-BLOG

株式会社ROBOT PAYMENTのテックブログです

ChatGPTのAPI機能について調べてみました

こんにちは、サブスクペイで開発を担当している近藤です。
ChatGPT使っていますでしょうか?知らないことを調べたり、雑談もできるので適当にメッセージを投げて反応を楽しんでおります。
API機能があるので導入について少し調べました。

設定と使い方

API機能のリファレンスは以下になります。 platform.openai.com

単純に応答させたいだけならば、Chat APIを使用することで実現できます。
今回はPostmanを用いて、HTTPリクエストを投げる形で作成しました。
前準備として、ChatGPTのAPIキーを用意しておく必要があります。
ChatGPTのPersonal Settingから API Keysをクリックし、Create new secret key でキーを作成してください。 作成したキーの情報をPostmanのヘッダに設定します。

その他の設定は以下のようにしました。

応答例

リクエスト:

メソッド: POST
URL: https://api.openai.com/v1/chat/completions
ヘッダ:
    Content-Type: application/json
    Authorization: Bearer [APIキー]
本文:
{
  "model": "gpt-3.5-turbo",
  "messages":
   [
      {
        "role":"user",
        "content":"カツカレーの作り方とおすすめの付け合わせの紹介をしてください。付け合わせの作り方も教えてください。"
      }
    ]
}

レスポンス:

{
    "id": "chatcmpl-7VZBskbS8KkV3maA4diA4E5xmmFHE",
    "object": "chat.completion",
    "created": 1687757796,
    "model": "gpt-3.5-turbo-0301",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "【カツカレーの作り方】\n\n材料:\n・豚ロース肉 200g\n・小麦粉 適量\n・塩、こしょう 適量\n・卵 1個\n・パン粉 適量\n・サラダ油 適量\n・カレールー 1-2人分\n・玉ねぎ 1/2個\n・にんじん 1/2本\n・じゃがいも 1個\n・水 350ml\n\n作り方:\n1. 豚ロース肉を厚さ1cm程度に切る。\n2. おろしにんにく、塩、こしょうを加えた小麦粉をまぶし、とき卵をからめ、最後にパン粉をつける。\n3. サラダ油を熱したフライパンでカツを揚げる。\n4. 玉ねぎ、にんじん、じゃがいもをスライスする。\n5. 玉ねぎを炒めて透き通るまで炒め、にんじん、じゃがいもを加えて炒める。\n6. 水を加えて煮込み、カレールーを加えてとろみがつくまで煮込む。\n7. カレーに揚げたカツを載せて完成。\n\n【おすすめの付け合わせ】\n\n・キャベツサラダ:食物繊維が豊富なキャベツを使ったサッパリとしたサラダが良いです。ドレッシングはレモン風味や和風味など、甘いものよりもさっぱりしたものがおススメです。\n作り方:キャベツと人参を薄切りにして、マヨネーズやレモン汁、塩、こしょうなどで和える。\n\n・ピクルス:カツカレーと相性の良いザクザクとした食感が楽しいピクルスを作ってみましょう。\n作り方:カイワレ大根、赤紫蘇の実、キュウリを薄切りにして、酢や砂糖、塩、お好みの調味料で漬け込みます。\n\n・紫キャベツのマリネ:色鮮やかな紫キャベツにマリネ液を加えて、上品な酸味がカツカレーの味を引き立てます。\n作り方:紫キャベツを薄切りにし、オリーブオイルや酢、レモン汁、塩、にんにくなどで味付けし、冷蔵庫で30分~1時間ほど寝かせる。\n\n・玉子焼き:カツカレーと相性抜群の玉子焼きを作りましょう。\n作り方:卵を溶いて、塩、砂糖、醤油などで味付けします。フライパンに油を敷き、薄く広げてから巻き上げていき、完成です。"
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 53,
        "completion_tokens": 922,
        "total_tokens": 975
    }
}

Chat APIでのリクエストはデフォルトでは応答文字数の制限がないため、一気にまとめて表示されるのがいいですね。長くなってもまとめて表示してくれます。
また、使用したトークン数も出るため実際にどれくらいのトークンが使用されるかを把握することもできます。
トライアルの場合は$5/月までの利用となっていますが、Chatの金額設定は 2023年6月の時点では $0.0015/1,000トークンとなっています。
1回の応答で数百トークンほど使用するので、開発用途で応答を確かめる分には十分な量だと思います。

また、Playgroundにてリクエストの設定や応答内容を手軽に確認できるので、こちらでも感触をつかむことができます。 platform.openai.com

まとめ

ChatGPTでのAPIの導入でした。APIキー設定とリクエスト形式を設定すれば簡単に応答を返すことができます。
単純な応答だけでも面白いですが、function calling を使えば関数を呼び出すJSONを生成することもできます。
これで生成したJSONを他のサービスに投げる処理を書けば、面白いことができそうなので詳しく調べていきたいと思います。 platform.openai.com



We are hiring!!

ROBOT PAYMENTでは一緒に働く仲間を募集しています!!!

speakerdeck.com
www.robotpayment.co.jp
🎉twitter採用担当アカウント開設!🎉どんどん情報発信していきます!!