Pengenalan ChatGPT API

Pendahuluan

Perbedaan dari GPT dan ChatGPT API adalah, ChatGPT menggunakan format chat untuk membuat percakapan multi-turn lebih mudah.

Anda tetap dapat melakukan semua yang telah dibahas pada modul sebelumnya seperti membuat color palette atau lainnya menggunakan ChatGPT API. Jadi Anda dapat melakukan format percakapan single-turn seperti yang kita lakukan menggunakan Completion API.

ChatGPT API mendukung model gpt-3.5-turbo dan gpt-4.

Contoh Penggunaan ChatGPT API

Berikut contoh penggunaan ChatGPT API dengan menggunakan model gpt-3.5-turbo karena penulis tidak memiliki akses ke gpt-4.

import openai
from dotenv import dotenv_values

config = dotenv_values(".env")
openai.api_key = config["OPENAI_KEY"]

openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages = [
        {"role": "user", "content": "tell me a joke"}
    ]
)
<OpenAIObject chat.completion id=chatcmpl-7NHx9b1DizbsyMzlbKr2pKwdzPPaM at 0x1b9be7f7ae0> JSON: {
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "message": {
        "content": "Why don't scientists trust atoms? \n\nBecause they make up everything!",
        "role": "assistant"
      }
    }
  ],
  "created": 1685784911,
  "id": "chatcmpl-7NHx9b1DizbsyMzlbKr2pKwdzPPaM",
  "model": "gpt-3.5-turbo-0301",
  "object": "chat.completion",
  "usage": {
    "completion_tokens": 14,
    "prompt_tokens": 12,
    "total_tokens": 26
  }
}

Dapat dilihat, method yang digunakan adalah ChatCompletion dengan model gpt-3.5-turbo. Berbeda dengan Completion, pada ChatCompletion digunakan messages yang berisi list of dictionary dengan format role dan content.

Berikut perbedaan format antara Completion dan ChatCompletion.

#completion
prompt = "tell me a joke"

#ChatCompletion
    messages = [
        {"role": "user", "content": "tell me a joke"}
    ]

Message dapat diakses seperti berikut:

reply = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages = [
        {"role": "user", "content": "tell me a joke"}
    ]
)

reply.choices[0].message.content

Pricing

Seperti yang sudah dibahas pada modul sebelumnya, pricing gpt-4 paling mahal. Sementara gpt-3.5-turbo, harganya 10 kali lebih murah dibandingkan text-davinci-003, menghasilkan response yang sama namun menggunakan model yang lebih baru.

Jadi disarankan untuk menggunakan gpt-3.5-turbo.

Perhatian, gunakan versi gpt-3.5-turbo, jangan gpt-3.5-turbo-0301 karena versi 0301 hanya snapshot gpt-3.5-turbo dan support akan berhenti pada 1 Juni 2023

Sharing is caring: