OpenAI
Halaman ini diterjemah oleh mesin. Lihat artikel asal dalam bahasa Inggeris.

Amalan terbaik untuk kejuruteraan prompt dengan OpenAI API

Cara memberikan arahan yang jelas dan berkesan kepada model OpenAI

Dikemas kini: 9 days ago

Cara kejuruteraan prompt berfungsi

Disebabkan cara model OpenAI dilatih, terdapat format prompt tertentu yang berfungsi dengan sangat baik dan menghasilkan output model yang lebih berguna. Panduan rasmi kejuruteraan prompt oleh OpenAI biasanya tempat terbaik untuk bermula bagi mendapatkan petua membuat prompt.

Di bawah ini kami kongsikan beberapa format prompt yang kami dapati berkesan, tetapi anda bebas mencuba format lain yang mungkin lebih sesuai dengan tugasan anda.

Petua Am dan Contoh

Nota: “{text input here}” ialah ruang letak untuk teks/konteks sebenar

1. Gunakan model terkini

Untuk hasil terbaik, kami biasanya mengesyorkan penggunaan model terkini yang paling berkeupayaan. Model yang lebih baharu biasanya lebih mudah direka promptnya.


Nota: Terdapat beberapa perbezaan yang perlu dipertimbangkan apabila membuat prompt untuk model penaakulan berbanding membuat prompt untuk model GPT. Maklumat lanjut di sini.

2. Letakkan arahan pada permulaan prompt dan gunakan ### atau """ untuk memisahkan arahan dan konteks

Kurang berkesan ❌:

Ringkaskan teks di bawah sebagai senarai berbutir bagi perkara yang paling penting.

{text input here}

Lebih baik ✅:

Ringkaskan teks di bawah sebagai senarai berbutir bagi perkara yang paling penting.

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

3. Nyatakan konteks, hasil, panjang, format, gaya dan sebagainya yang dikehendaki dengan khusus, jelas dan sedetail mungkin

Nyatakan konteks, hasil, panjang, format, gaya dan sebagainya dengan khusus

Kurang berkesan ❌:

Tulis sebuah puisi tentang OpenAI. 

Lebih baik ✅:

Tulis sebuah puisi pendek yang memberi inspirasi tentang OpenAI, dengan fokus pada pelancaran produk DALL-E baru-baru ini (DALL-E ialah model ML teks kepada imej) dalam gaya {famous poet}

4. Jelaskan format output yang dikehendaki melalui contoh

Kurang berkesan ❌:

Ekstrak entiti yang disebut dalam teks di bawah. Ekstrak 4 jenis entiti berikut: nama syarikat, nama orang, topik khusus dan tema.

Teks: {text}

Tunjukkan dan terangkan - model memberikan respons yang lebih baik apabila ditunjukkan keperluan format yang khusus. Ini juga memudahkan penghuraian berprogram bagi beberapa output dengan lebih andal.

Lebih baik ✅:

Ekstrak entiti penting yang disebut dalam teks di bawah. Mula-mula ekstrak semua nama syarikat, kemudian ekstrak semua nama orang, kemudian ekstrak topik khusus yang sesuai dengan kandungan, dan akhirnya ekstrak tema umum yang menyeluruh

Format yang dikehendaki:
Nama syarikat: <comma_separated_list_of_company_names>
Nama orang: -||-
Topik khusus: -||-
Tema umum: -||-

Teks: {text}

5. Mulakan dengan zero-shot, kemudian few-shot; jika kedua-duanya tidak berhasil, barulah fine-tune

✅ Zero-shot

Ekstrak kata kunci daripada teks di bawah.

Teks: {text}

Kata kunci:

✅ Few-shot - berikan beberapa contoh

Ekstrak kata kunci daripada teks yang sepadan di bawah.

Teks 1: Stripe menyediakan API yang boleh digunakan oleh pembangun web untuk mengintegrasikan pemprosesan pembayaran ke dalam laman web dan aplikasi mudah alih mereka.
Kata kunci 1: Stripe, pemprosesan pembayaran, API, pembangun web, laman web, aplikasi mudah alih
##
Teks 2: OpenAI telah melatih model bahasa tercanggih yang sangat baik dalam memahami dan menjana teks. API kami menyediakan akses kepada model ini dan boleh digunakan untuk menyelesaikan hampir apa-apa tugasan yang melibatkan pemprosesan bahasa.
Kata kunci 2: OpenAI, model bahasa, pemprosesan teks, API.
##
Teks 3: {text}
Kata kunci 3:

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

6. Kurangkan huraian yang “berbunga-bunga” dan tidak tepat

Kurang berkesan ❌:

Penerangan untuk produk ini sepatutnya agak pendek, hanya beberapa ayat, dan tidak terlalu panjang.

Lebih baik ✅:

Gunakan perenggan 3 hingga 5 ayat untuk menerangkan produk ini.

7. Daripada hanya menyatakan perkara yang tidak patut dilakukan, nyatakan perkara yang patut dilakukan sebagai ganti

Kurang berkesan ❌:

Berikut ialah perbualan antara Ejen dan Pelanggan. JANGAN MINTA NAMA PENGGUNA ATAU KATA LALUAN. JANGAN ULANG.

Pelanggan: Saya tidak dapat log masuk ke akaun saya.
Ejen:

Lebih baik ✅:

Berikut ialah perbualan antara Ejen dan Pelanggan. Ejen akan cuba mendiagnosis masalah dan mencadangkan penyelesaian, sambil mengelak daripada bertanya apa-apa soalan berkaitan PII. Daripada meminta PII, seperti nama pengguna atau kata laluan, rujuk pengguna kepada artikel bantuan www.samplewebsite.com/help/faq

Pelanggan: Saya tidak dapat log masuk ke akaun saya.
Ejen:

8. Khusus untuk penjanaan kod - gunakan “kata pembuka” untuk mendorong model ke arah corak tertentu

Kurang berkesan ❌:

# Tulis fungsi python ringkas yang
# 1. Meminta saya memasukkan nombor dalam batu
# 2. Menukar batu kepada kilometer

Dalam contoh kod di bawah, penambahan “import” memberi petunjuk kepada model bahawa ia patut mula menulis dalam Python. (Begitu juga, “SELECT” ialah petunjuk yang baik untuk permulaan pernyataan SQL.)

Lebih baik ✅:

# Tulis fungsi python ringkas yang
# 1. Meminta saya memasukkan nombor dalam batu
# 2. Menukar batu kepada kilometer

import

9. Gunakan ciri Jana Apa-apa Sahaja

Pembangun boleh menggunakan ciri 'Jana Apa-apa Sahaja' untuk menerangkan tugasan atau output bahasa semula jadi yang dijangka, lalu menerima prompt yang disesuaikan.


Ketahui lebih lanjut tentang penggunaan ciri 'Jana Apa-apa Sahaja'.

Parameter

Secara umumnya, kami mendapati bahawa `model` dan `temperature` ialah parameter yang paling lazim digunakan untuk mengubah output model.

  1. `model` - Model berprestasi lebih tinggi biasanya lebih mahal dan mungkin mempunyai latensi yang lebih tinggi.

  2. `temperature` - Ukuran kekerapan model mengeluarkan token yang kurang berkemungkinan. Semakin tinggi temperature, semakin rawak (dan biasanya kreatif) outputnya. Namun begitu, ini tidak sama dengan “kebenaran”. Untuk kebanyakan kes penggunaan berasaskan fakta seperti pengekstrakan data dan soal jawab yang benar, temperature 0 adalah terbaik.

  3. `max_completion_tokens` (panjang maksimum) - Tidak mengawal panjang output, tetapi menetapkan had pemotongan keras bagi penjanaan token. Sebaik-baiknya anda tidak kerap mencapai had ini, kerana model anda akan berhenti sama ada apabila ia menganggap tugasan sudah selesai, atau apabila ia mencapai urutan henti yang anda takrifkan.

  4. `stop` (urutan henti) - Satu set aksara (token) yang, apabila dijana, akan menyebabkan penjanaan teks berhenti.

Untuk huraian parameter lain, lihat rujukan API.

Adakah artikel ini membantu?