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