OpenAI
Halaman ini diterjemahkan oleh mesin. Lihat artikel asli dalam bahasa Inggris.

Praktik terbaik untuk prompt engineering dengan OpenAI API

Cara memberikan instruksi yang jelas dan efektif kepada model OpenAI

Diperbarui: 5 days ago

Bagaimana prompt engineering bekerja

Karena cara model OpenAI dilatih, ada format prompt tertentu yang bekerja sangat baik dan menghasilkan output model yang lebih berguna.


Panduan prompt engineering resmi dari OpenAI biasanya merupakan tempat terbaik untuk memulai untuk tips prompting.

Di bawah ini kami sajikan sejumlah format prompt yang menurut kami bekerja dengan baik, tetapi silakan mengeksplorasi format lain yang mungkin lebih sesuai untuk tugas Anda.

Aturan Praktis dan Contoh

Catatan: "{text input here}" adalah placeholder untuk teks/konteks yang sebenarnya

1. Gunakan model terbaru

Untuk hasil terbaik, kami umumnya merekomendasikan menggunakan model terbaru yang paling mumpuni. Model yang lebih baru cenderung lebih mudah untuk di-prompt engineer.


Catatan: Ada beberapa perbedaan yang perlu dipertimbangkan saat memberi prompt pada model penalaran dibandingkan memberi prompt pada model GPT. Detail selengkapnya di sini.

2. Taruh instruksi di awal prompt dan gunakan ### atau """ untuk memisahkan instruksi dan konteks

Kurang efektif ❌:

Ringkas teks di bawah ini sebagai daftar poin (bullet) dari hal-hal terpenting.

{text input here}

Lebih baik ✅:

Ringkas teks di bawah ini sebagai daftar poin (bullet) dari hal-hal terpenting.

Teks: """
{text input here}
"""

3. Bersikaplah spesifik, deskriptif, dan sedetail mungkin tentang konteks, hasil, panjang, format, gaya, dll. yang diinginkan

Jelaskan secara spesifik konteks, hasil, panjang, format, gaya, dll.

Kurang efektif ❌:

Tulis sebuah puisi tentang OpenAI. 

Lebih baik ✅:

Tulis puisi singkat yang menginspirasi tentang OpenAI, berfokus pada peluncuran produk DALL-E terbaru (DALL-E adalah model ML teks-ke-gambar) dalam gaya {famous poet}

4. Jelaskan format output yang diinginkan melalui contoh

Kurang efektif ❌:

Ekstrak entitas yang disebutkan dalam teks di bawah ini. Ekstrak 4 jenis entitas berikut: nama perusahaan, nama orang, topik spesifik, dan tema.

Teks: {text}

Tunjukkan, lalu jelaskan—model merespons lebih baik jika ditunjukkan persyaratan format yang spesifik. Ini juga memudahkan untuk mem-parsing beberapa output secara terprogram dengan andal.

Lebih baik ✅:

Ekstrak entitas penting yang disebutkan dalam teks di bawah ini. Pertama ekstrak semua nama perusahaan, lalu ekstrak semua nama orang, kemudian ekstrak topik spesifik yang sesuai dengan konten, dan terakhir ekstrak tema umum yang mencakup keseluruhan

Format yang diinginkan:
Nama perusahaan: <comma_separated_list_of_company_names>
Nama orang: -||-
Topik spesifik: -||-
Tema umum: -||-

Teks: {text}

5. Mulai dengan zero-shot, lalu few-shot; jika keduanya tidak berhasil, lakukan fine-tune

✅ Zero-shot

Ekstrak kata kunci dari teks di bawah.

Teks: {text}

Kata kunci:

✅ Few-shot - berikan beberapa contoh

Ekstrak kata kunci dari teks-teks yang bersesuaian di bawah ini.

Teks 1: Stripe menyediakan API yang dapat digunakan developer web untuk mengintegrasikan pemrosesan pembayaran ke situs web dan aplikasi seluler mereka.
Kata kunci 1: Stripe, pemrosesan pembayaran, API, developer web, situs web, aplikasi seluler
##
Teks 2: OpenAI telah melatih model bahasa mutakhir yang sangat baik dalam memahami dan menghasilkan teks. API kami menyediakan akses ke model-model ini dan dapat digunakan untuk menyelesaikan hampir semua tugas yang melibatkan pemrosesan bahasa.
Kata kunci 2: OpenAI, model bahasa, pemrosesan teks, API.
##
Teks 3: {text}
Kata kunci 3:

✅Fine-tune: lihat praktik terbaik fine-tune di sini.

6. Kurangi deskripsi yang “berbunga-bunga” dan tidak presisi

Kurang efektif ❌:

Deskripsi untuk produk ini sebaiknya cukup singkat, hanya beberapa kalimat, dan tidak lebih banyak dari itu.

Lebih baik ✅:

Gunakan paragraf 3 hingga 5 kalimat untuk mendeskripsikan produk ini.

7. Alih-alih hanya mengatakan apa yang tidak boleh dilakukan, katakan apa yang harus dilakukan

Kurang efektif ❌:

Berikut adalah percakapan antara seorang Agen dan seorang Pelanggan. JANGAN MINTA NAMA PENGGUNA ATAU KATA SANDI. JANGAN ULANGI.

Pelanggan: Saya tidak bisa masuk ke akun saya.
Agen:

Lebih baik ✅:

Berikut adalah percakapan antara seorang Agen dan seorang Pelanggan. Agen akan mencoba mendiagnosis masalah dan menyarankan solusi, sambil menghindari mengajukan pertanyaan apa pun terkait PII. Alih-alih meminta PII, seperti nama pengguna atau kata sandi, arahkan pengguna ke artikel bantuan www.samplewebsite.com/help/faq

Pelanggan: Saya tidak bisa masuk ke akun saya.
Agen:

8. Khusus Pembuatan Kode - Gunakan “kata pembuka” untuk mengarahkan model ke pola tertentu

Kurang efektif ❌:

# Tulis fungsi python sederhana yang
# 1. Meminta saya memasukkan angka dalam mil
# 2. Mengonversi mil ke kilometer

Dalam contoh kode di bawah ini, menambahkan “import” memberi petunjuk kepada model bahwa ia harus mulai menulis dalam Python. (Demikian juga “SELECT” adalah petunjuk yang baik untuk awal pernyataan SQL.)

Lebih baik ✅:

# Tulis fungsi python sederhana yang
# 1. Meminta saya memasukkan angka dalam mil
# 2. Mengonversi mil ke kilometer

import

9. Gunakan fitur Generate Anything

Developer dapat menggunakan fitur 'Generate Anything' untuk mendeskripsikan sebuah tugas atau output bahasa alami yang diharapkan dan menerima prompt yang disesuaikan.

Pelajari lebih lanjut tentang penggunaan fitur 'Generate Anything'.

Parameter

Secara umum, kami mendapati bahwa model dan temperature adalah parameter yang paling sering digunakan untuk mengubah output model.

  1. model - Model dengan performa lebih tinggi umumnya lebih mahal dan mungkin memiliki latensi lebih tinggi.

  2. temperature - Ukuran seberapa sering model menghasilkan token yang lebih kecil kemungkinannya. Semakin tinggi temperature, semakin acak (dan biasanya kreatif) outputnya. Namun, ini tidak sama dengan “kebenaran”. Untuk sebagian besar use case faktual seperti ekstraksi data, dan tanya jawab yang akurat, temperature 0 adalah yang terbaik.

  3. max_completion_tokens (panjang maksimum) - Tidak mengontrol panjang output, tetapi merupakan batas cutoff keras untuk pembuatan token. Idealnya Anda tidak sering menyentuh batas ini, karena model akan berhenti baik saat ia menganggap sudah selesai, atau saat mencapai stop sequence yang Anda tentukan.

  4. stop (stop sequences) - Sekumpulan karakter (token) yang, ketika dihasilkan, akan menyebabkan pembuatan teks berhenti.

Untuk deskripsi parameter lainnya, lihat referensi API.

Apakah artikel ini membantu?