Cara kerja rekayasa prompt
Karena cara model OpenAI dilatih, ada format prompt tertentu yang bekerja sangat baik dan menghasilkan output model yang lebih berguna. Panduan resmi rekayasa prompt dari OpenAI biasanya menjadi tempat terbaik untuk memulai kiat prompting.
Di bawah ini kami menyajikan sejumlah format prompt yang menurut kami bekerja dengan baik, tetapi silakan menjelajahi format lain yang mungkin lebih sesuai dengan tugas Anda.
Aturan Praktis dan Contoh
Catatan: “{text input here}” adalah placeholder untuk teks/konteks sebenarnya
1. Gunakan model terbaru
Untuk hasil terbaik, kami umumnya merekomendasikan penggunaan model terbaru dan paling mumpuni. Model yang lebih baru cenderung lebih mudah direkayasa prompt-nya.
Catatan: Ada beberapa perbedaan yang perlu dipertimbangkan saat melakukan prompting pada model penalaran dibandingkan dengan model GPT. Detail selengkapnya di sini.
2. Letakkan instruksi di awal prompt dan gunakan ### atau """ untuk memisahkan instruksi dan konteks
Kurang efektif ❌:
Ringkas teks di bawah ini sebagai daftar poin-poin dari hal-hal terpenting.
{text input here}Lebih baik ✅:
Ringkas teks di bawah ini sebagai daftar poin-poin dari hal-hal terpenting.
Teks: """
{text input here}
"""3. Jelaskan secara spesifik, deskriptif, dan sedetail mungkin tentang konteks, hasil, panjang, format, gaya, dll. yang diinginkan
Jelaskan secara spesifik tentang konteks, hasil, panjang, format, gaya, dll.
Kurang efektif ❌:
Tulis puisi tentang OpenAI. Lebih baik ✅:
Tulis puisi pendek yang menginspirasi tentang OpenAI, berfokus pada peluncuran produk DALL-E terbaru (DALL-E adalah model ML teks-ke-gambar) dengan 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, dan jelaskan - model merespons lebih baik ketika ditunjukkan persyaratan format yang spesifik. Ini juga memudahkan penguraian 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 menyeluruh
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 ini.
Teks: {text}
Kata kunci:✅ Few-shot - berikan beberapa contoh
Ekstrak kata kunci dari teks terkait 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 “berbusa” dan tidak presisi
Kurang efektif ❌:
Deskripsi untuk produk ini harus cukup singkat, hanya beberapa kalimat, dan tidak terlalu panjang.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 sebagai gantinya
Kurang efektif ❌:
Berikut ini adalah percakapan antara Agen dan Pelanggan. JANGAN MINTA NAMA PENGGUNA ATAU KATA SANDI. JANGAN MENGULANG.
Pelanggan: Saya tidak bisa masuk ke akun saya.
Agen:Lebih baik ✅:
Berikut ini adalah percakapan antara Agen dan Pelanggan. Agen akan mencoba mendiagnosis masalah dan menyarankan solusi, sambil menahan diri untuk tidak 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 kilometerDalam contoh kode di bawah ini, menambahkan “import” memberi petunjuk kepada model bahwa ia harus mulai menulis dalam Python. (Demikian pula, “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
import9. Gunakan fitur Generate Anything
Developer dapat menggunakan fitur ‘Generate Anything’ untuk mendeskripsikan tugas atau output bahasa alami yang diharapkan dan menerima prompt yang disesuaikan.
Pelajari selengkapnya tentang penggunaan fitur ‘Generate Anything’.
Parameter
Secara umum, kami mendapati bahwa `model` dan `temperature` adalah parameter yang paling umum digunakan untuk mengubah output model.
`model` - Model berperforma lebih tinggi umumnya lebih mahal dan mungkin memiliki latensi lebih tinggi.
`temperature` - Ukuran seberapa sering model menghasilkan token yang kurang mungkin. Semakin tinggi
temperature, semakin acak (dan biasanya kreatif) outputnya. Namun, ini tidak sama dengan “kebenaran”. Untuk sebagian besar kasus penggunaan faktual seperti ekstraksi data dan tanya jawab yang benar,temperature0 adalah yang terbaik.`max_completion_tokens` (panjang maksimum) - Tidak mengontrol panjang output, melainkan batas tegas untuk pembuatan token. Idealnya Anda tidak sering mencapai batas ini, karena model Anda akan berhenti saat menganggap sudah selesai, atau saat mencapai stop sequence yang Anda tentukan.
`stop` (stop sequence) - Sekumpulan karakter (token) yang, ketika dihasilkan, akan menghentikan pembuatan teks.
Untuk deskripsi parameter lainnya, lihat referensi API.
