1. Membangun Permintaan API

1.1 Mengirim Permintaan Menggunakan CURL

CURL adalah alat baris perintah yang mendukung pengiriman dan penerimaan data menggunakan berbagai protokol seperti HTTP dan HTTPS. Untuk mengirim permintaan ke API OpenAI menggunakan CURL, pertama-tama Anda perlu memiliki kunci API yang valid dan kemudian menambahkannya ke header permintaan.

Berikut ini contoh perintah CURL yang digunakan untuk mengirim permintaan ke API OpenAI:

curl https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
     "model": "gpt-3.5-turbo",
     "messages": [{"role": "user", "content": "Katakan ini adalah sebuah tes!"}],
     "temperature": 0.7
   }'

Anda perlu mengganti $OPENAI_API_KEY dengan kunci API Anda. Untuk alasan keamanan, hindari mengekspos kunci API Anda di tempat publik.

1.2 Menganalisis Header Permintaan

Dalam perintah CURL di atas, kami menggunakan dua header permintaan penting: Content-Type dan Authorization.

  • Content-Type: Ini memberi tahu server bahwa kami mengirim data dalam format JSON. Nilainya biasanya application/json.
  • Authorization: Ini adalah kredensial yang digunakan untuk mengautentikasi permintaan API, dan formatnya selalu Bearer (kunci API Anda).

Memastikan kebenaran kedua header ini sangat penting untuk keberhasilan permintaan.

1.3 Membangun Badan Permintaan

Badan permintaan adalah string yang diformat JSON yang memberi tahu OpenAI tentang niat kami. Dalam permintaan ini, kami menggunakan model untuk menentukan model yang kami gunakan, melewati array messages yang mendefinisikan masukan pengguna, dan mengatur temperature untuk menyesuaikan variasi respons.

JSON terlihat seperti ini:

{
  "model": "gpt-3.5-turbo",
  "messages": [{"role": "user", "content": "Katakan ini adalah sebuah tes!"}],
  "temperature": 0.7
}

Dalam contoh ini, kami meminta model untuk menghasilkan respons tes berdasarkan pesan masukan.

1.4 Penjelasan Detail Parameter Permintaan

Dalam badan permintaan, terdapat beberapa parameter penting yang perlu diperhatikan:

  • model: Menentukan model kecerdasan buatan yang ingin kita gunakan. OpenAI menyediakan beberapa model, masing-masing dengan fungsionalitas dan efek yang berbeda.
  • messages: Ini adalah array yang berisi satu atau lebih objek pesan, di mana setiap pesan terdiri dari role yang memberikan peran pesan dan content yang mewakili isi pesan.
  • temperature: Mengontrol kepastian respons. Nilai temperature yang lebih rendah menghasilkan jawaban yang lebih pasti, sedangkan nilai yang lebih tinggi menghasilkan lebih banyak ketidakpastian.

2. Menganalisis Respon API

2.1 Memahami Respon

Saat Anda mengirim permintaan, server akan mengembalikan kode status HTTP dan mungkin juga badan respons. Biasanya, permintaan yang berhasil akan menerima kode status dalam seri 200. Data JSON yang dikembalikan berisi hasil dari permintaan, dan contoh responnya adalah sebagai berikut:

{
    "id": "chatcmpl-abc123",
    "object": "chat.completion",
    "created": 1677858242,
    "model": "gpt-3.5-turbo-1106",
    "usage": {
        "prompt_tokens": 13,
        "completion_tokens": 7,
        "total_tokens": 20
    },
    "choices": [
        {
            "message": {
                "role": "asisten",
                "content": "\n\nIni adalah sebuah tes!"
            },
            "logprobs": null,
            "finish_reason": "stop",
            "index": 0
        }
    ]
}

Dalam respon ini, kita dapat melihat ID penyelesaian, penanda waktu penciptaan, model yang digunakan, penggunaan token, dan konten sebenarnya dari respons (di bidang choices).

2.2 Kelengkapannya dan Penanganan Kesalahan

Bidang finish_reason menunjukkan mengapa API berhenti mengeluarkan lebih banyak konten. Alasan-selesai umum meliputi stop, length, dan idle. Jika terjadi kesalahan, seperti melebihi batas token atau kunci API yang salah, Anda akan menerima pesan kesalahan dan kode status yang sesuai. Penting untuk menangani kesalahan ini dengan baik untuk memastikan kelancaran pengalaman pengguna dan stabilitas aplikasi Anda. Untuk penanganan kesalahan, Anda dapat memutuskan strategi penanganan kesalahan yang tepat berdasarkan kode status yang dikembalikan dan pesan kesalahan, seperti mencoba ulang permintaan atau memberikan umpan balik kepada pengguna menjelaskan alasan kesalahan.

2.3 Mengirim Permintaan API menggunakan Python SDK

Berikut adalah contoh penggunaan resmi OpenAI Python SDK untuk melakukan panggilan API.

Pertama, Anda perlu menginstal pustaka openai, yang dapat dilakukan menggunakan pip:

pip install --upgrade openai

Selanjutnya, Anda dapat menggunakan kode Python berikut untuk membuat permintaan API serupa dengan contoh di atas. Ingat untuk mengganti YOUR_OPENAI_API_KEY dengan kunci API Anda.

from openai import OpenAI

client = OpenAI(
   api_key="YOUR_OPENAI_API_KEY",
)

completion = client.chat.completions.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "system", "content": "Anda adalah asisten pengembangan profesional, terampil dalam menyelesaikan berbagai masalah pemrograman."},
    {"role": "user", "content": "Tulis sebuah fungsi untuk quicksort di Go."}
  ]
)

print(completion.choices[0].message)