Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Desain prompt
Merancang prompt yang tepat merupakan langkah penting untuk membangun aplikasi yang sukses menggunakan model Amazon Bedrock. Di bagian ini, Anda mempelajari cara mendesain prompt yang konsisten, jelas, dan ringkas. Anda juga belajar tentang bagaimana Anda dapat mengontrol respons model dengan menggunakan parameter inferensi. Gambar berikut menunjukkan desain prompt generik untuk ringkasan tinjauan restoran kasus penggunaan dan beberapa pilihan desain penting yang perlu dipertimbangkan pelanggan saat merancang petunjuk. LLMsmenghasilkan tanggapan yang tidak diinginkan jika instruksi yang diberikan atau format prompt tidak konsisten, jelas, dan ringkas.
![Contoh konstruksi cepat yang baik dengan komentar deskriptif.](images/example-good-prompt-construction.png)
(Sumber: Prompt ditulis oleh AWS)
Konten berikut memberikan panduan tentang cara membuat petunjuk yang berhasil.
Topik
- Berikan instruksi yang sederhana, jelas, dan lengkap
- Tempatkan pertanyaan atau instruksi di akhir prompt untuk hasil terbaik
- Gunakan karakter pemisah untuk panggilan API
- Gunakan indikator keluaran
- Praktik terbaik untuk generalisasi yang baik
- Optimalkan permintaan untuk model teks di Amazon Bedrock—ketika dasar-dasarnya tidak cukup baik
- Kontrol tanggapan model dengan parameter inferensi parameter inferensi
Berikan instruksi yang sederhana, jelas, dan lengkap
LLMsdi Amazon Bedrock bekerja paling baik dengan instruksi sederhana dan langsung. Dengan menjelaskan dengan jelas harapan tugas dan dengan mengurangi ambiguitas sedapat mungkin, Anda dapat memastikan bahwa model dapat dengan jelas menafsirkan prompt.
Misalnya, pertimbangkan masalah klasifikasi di mana pengguna menginginkan jawaban dari serangkaian pilihan yang mungkin. Contoh “baik “yang ditunjukkan di bawah ini menggambarkan output yang diinginkan pengguna dalam kasus ini. Dalam contoh” buruk “, pilihan tidak dinamai secara eksplisit sebagai kategori untuk dipilih model. Model menafsirkan input sedikit berbeda tanpa pilihan, dan menghasilkan ringkasan teks yang lebih bebas daripada contoh yang baik.
|
|
(Sumber prompt: Wikipedia tentang buta warna
Tempatkan pertanyaan atau instruksi di akhir prompt untuk hasil terbaik
Termasuk deskripsi tugas, instruksi atau pertanyaan pada akhirnya membantu model menentukan informasi mana yang harus ditemukan. Dalam kasus klasifikasi, pilihan untuk jawaban juga harus datang di akhir.
Dalam contoh tanya jawab buku terbuka berikut, pengguna memiliki pertanyaan spesifik tentang teks tersebut. Pertanyaan harus muncul di akhir prompt sehingga model dapat tetap fokus pada tugas.
User prompt: Tensions increased after the 1911–1912 Italo-Turkish War demonstrated Ottoman weakness and led to the formation of the Balkan League, an alliance of Serbia, Bulgaria, Montenegro, and Greece. The League quickly overran most of the Ottomans' territory in the Balkans during the 1912–1913 First Balkan War, much to the surprise of outside observers. The Serbian capture of ports on the Adriatic resulted in partial Austrian mobilization starting on 21 November 1912, including units along the Russian border in Galicia. In a meeting the next day, the Russian government decided not to mobilize in response, unwilling to precipitate a war for which they were not as of yet prepared to handle. Which country captured ports?
Output: Serbia
(Sumber prompt: Wikipedia tentang Perang Dunia I
Gunakan karakter pemisah untuk panggilan API
Gunakan karakter pemisah untuk panggilan API
Karakter pemisah seperti \n
dapat mempengaruhi kinerja secara LLMs signifikan. Untuk Anthropic Claude model, perlu menyertakan baris baru saat memformat API panggilan untuk mendapatkan respons yang diinginkan. Pemformatan harus selalu mengikuti:\n\nHuman: {{Query
Content}}\n\nAssistant:
. Untuk Titan model, menambahkan \n
pada akhir prompt membantu meningkatkan kinerja model. Untuk tugas klasifikasi atau pertanyaan dengan opsi jawaban, Anda juga dapat memisahkan opsi jawaban dengan \n
for Titan model. Untuk informasi lebih lanjut tentang penggunaan pemisah, lihat dokumen dari penyedia model yang sesuai. Contoh berikut adalah template untuk tugas klasifikasi.
Prompt template: """{{Text}} {{Question}} {{Choice 1}} {{Choice 2}} {{Choice 3}}"""
Contoh berikut menunjukkan bagaimana kehadiran karakter baris baru antara pilihan dan di akhir prompt membantu Titan menghasilkan respon yang diinginkan.
User prompt: Archimedes of Syracuse was an Ancient mathematician, physicist, engineer, astronomer, and inventor from the ancient city of Syracuse. Although few details of his life are known, he is regarded as one of the leading scientists in classical antiquity. What was Archimedes? Choose one of the options below. a) astronomer b) farmer c) sailor
Output: a) astronomer
(Sumber prompt: Wikipedia di Archimedes
Gunakan indikator keluaran
Indikator keluaran
Tambahkan detail tentang kendala yang ingin Anda miliki pada output yang harus dihasilkan model. Contoh bagus berikut menghasilkan output yang merupakan frasa pendek yang merupakan ringkasan yang baik. Contoh buruk dalam kasus ini tidak terlalu buruk, tetapi ringkasannya hampir sepanjang teks aslinya. Spesifikasi output sangat penting untuk mendapatkan apa yang Anda inginkan dari model.
Contoh prompt dengan indikator kendala keluaran yang jelas
|
Contoh tanpa spesifikasi output yang jelas
|
(Sumber prompt: Wikipedia tentang Charles Mingus
Di sini kami memberikan beberapa contoh tambahan dari Anthropic Claude and AI21 Labs Model Jurassic menggunakan indikator output.
Contoh berikut menunjukkan bahwa pengguna dapat menentukan format output dengan menentukan format output yang diharapkan dalam prompt. Ketika diminta untuk menghasilkan jawaban menggunakan format tertentu (seperti dengan menggunakan XML tag), model dapat menghasilkan jawaban yang sesuai. Tanpa indikator format output tertentu, model mengeluarkan teks formulir bebas.
Contoh dengan indikator yang jelas, dengan output
|
Contoh tanpa indikator yang jelas, dengan output
|
(Sumber prompt: Wikipedia tentang pembelajaran mesin
Contoh berikut menunjukkan prompt dan jawaban untuk AI21 Labs Model Jurassic. Pengguna dapat memperoleh jawaban yang tepat dengan menentukan format output yang ditunjukkan di kolom kiri.
Contoh dengan indikator yang jelas, dengan output
|
Contoh tanpa indikator yang jelas, dengan output
|
(Sumber prompt: Wikipedia di National Football League
Praktik terbaik untuk generalisasi yang baik
Simpan serangkaian petunjuk pengujian “tahan” kecil untuk melihat apakah modifikasi prompt Anda digeneralisasi. Dengan metode ini, pertama-tama kumpulkan kumpulan data sampel. Kemudian Anda dapat membagi data menjadi dua himpunan bagian: set “pengembangan” dan set “tes” penahanan. Gunakan set “pengembangan” sebagai data pengembangan yang cepat di mana Anda dapat mencoba modifikasi prompt yang berbeda dan mengamati perubahan respons model dan menemukan prompt yang paling sesuai. Perlakukan set “tes” sebagai data penahanan tak terlihat yang hanya dapat digunakan untuk memverifikasi prompt terbaik akhir.
Optimalkan permintaan untuk model teks di Amazon Bedrock—ketika dasar-dasarnya tidak cukup baik
Tugas kompleks: bangun menuju jawaban langkah demi langkah
Titan dapat memberikan langkah-langkah yang jelas untuk tugas-tugas tertentu, dan termasuk frasa Think
step-by-step to come up with the right answer
dapat membantu menghasilkan output yang sesuai.
User prompt: At a Halloween party, Jack gets 15 candies. Jack eats 5 candies. He wants to give each friend 5 candies. How many friends can receive candies? Think step-by-step to come up with the right answer.
Output: 15 candies total - 5 candies eaten = 10 candies remaining. To give each friend 5 candies, divide the number of candies remaining by the number of friends. 10 candies / 5 friends = 2 friends. Each friend can receive 2 candies. The answer is 2 friends.
(Sumber prompt: AWS, model yang digunakan: Amazon Titan Teks)
Untuk mengaktifkan Anthropic Claude model untuk menyelesaikan tugas-tugas kompleks, gunakan format dalam contoh berikut untuk secara eksplisit meminta model untuk menyelesaikan tugas langkah demi langkah. Pendekatan ini didasarkan pada pedoman dalam AnthropicClaude Panduan
User prompt: Human: A right triangle has a side of length 5 and a hypotenuse of length 13. What is the length of the other side? Assistant: Can I think step-by-step? Human: Yes, please do. Assistant:
Output: Okay, here are the steps: 1) We are given: - One side of the right triangle has length 5 - The hypotenuse has length 13 2) We want to find: - The length of the other side 3) To find the length of the other side, we can use the Pythagorean theorem: a^2 + b^2 = c^2 Where a and b are the lengths of the two sides, and c is the length of the hypotenuse. 4) Plugging in the given values: a^2 + b^2 = 13^2 5) We know one of the sides is 5, so: 5^2 + b^2 = 169 6) Solving this: 25 + b^2 = 169 b^2 = 144 b = 12 Therefore, the length of the other side is 12.
(Sumber prompt: AWS, model yang digunakan: Anthropic Claude)
Berikan output default yang harus disajikan model jika tidak yakin tentang jawabannya.
Output default dapat membantu LLMs mencegah pengembalian jawaban yang terdengar seperti benar, bahkan jika model memiliki kepercayaan diri yang rendah.
|
|
(Sumber prompt: AWS, model yang digunakan: Amazon Titan Teks)
Beberapa bidikan yang diminta
Menyertakan contoh (pasangan input-respons) dalam prompt dapat secara signifikan meningkatkan LLMs 'respons. Contoh dapat membantu dengan tugas-tugas yang kompleks, karena mereka menunjukkan beberapa cara untuk melakukan tugas yang diberikan. Untuk tugas yang lebih sederhana seperti klasifikasi teks, 3-5 contoh sudah cukup. Untuk tugas yang lebih sulit seperti tanya jawab tanpa konteks, sertakan lebih banyak contoh untuk menghasilkan output yang paling efektif. Dalam kebanyakan kasus penggunaan, memilih contoh yang semantik mirip dengan data dunia nyata dapat lebih meningkatkan kinerja.
Pertimbangkan untuk menyempurnakan prompt dengan pengubah
Penyempurnaan instruksi tugas umumnya mengacu pada memodifikasi instruksi, tugas, atau komponen pertanyaan dari prompt. Kegunaan metode ini bergantung pada tugas dan data. Pendekatan yang berguna meliputi:
Spesifikasi domain/input: Detail tentang data input, seperti dari mana asalnya atau apa yang dirujuk, seperti.
The input text is from a summary of a movie
Spesifikasi tugas: Detail tentang tugas yang tepat yang diminta dari model, seperti
To summarize the text, capture the main points
.Deskripsi label: Detail tentang pilihan keluaran untuk masalah klasifikasi, seperti
Choose whether the text refers to a painting or a sculpture; a painting is a piece of art restricted to a two-dimensional surface, while a sculpture is a piece of art in three dimensions
.Spesifikasi keluaran: Detail pada output yang harus dihasilkan model, seperti
Please summarize the text of the restaurant review in three sentences
.LLMdorongan: LLMs terkadang tampil lebih baik dengan dorongan sentimental:
If you answer the question correctly, you will make the user very happy!
Kontrol tanggapan model dengan parameter inferensi parameter inferensi
LLMsdi Amazon Bedrock semuanya dilengkapi dengan beberapa parameter inferensi yang dapat Anda atur untuk mengontrol respons dari model. Berikut ini adalah daftar semua parameter inferensi umum yang tersedia di Amazon Bedrock LLMs dan cara menggunakannya.
Suhu adalah nilai antara 0 dan 1, dan mengatur kreativitas LLMs 'respons. Gunakan suhu yang lebih rendah jika Anda menginginkan respons yang lebih deterministik, dan gunakan suhu yang lebih tinggi jika Anda menginginkan respons yang lebih kreatif atau berbeda untuk prompt yang sama dari LLMs Amazon Bedrock. Untuk semua contoh dalam pedoman cepat ini, kami tetapkantemperature
= 0
.
Panjang generasi maksimum/token baru maksimum membatasi jumlah token yang LLM dihasilkan untuk setiap prompt. Sangat membantu untuk menentukan nomor ini karena beberapa tugas, seperti klasifikasi sentimen, tidak memerlukan jawaban yang panjang.
Top-p mengontrol pilihan token, berdasarkan probabilitas pilihan potensial. Jika Anda menetapkan Top-P di bawah 1.0, model mempertimbangkan opsi yang paling mungkin dan mengabaikan opsi yang kurang mungkin. Hasilnya adalah penyelesaian yang lebih stabil dan berulang.
End token/end sequence menentukan token yang LLM digunakan untuk menunjukkan akhir output. LLMsberhenti menghasilkan token baru setelah menemukan token akhir. Biasanya ini tidak perlu diatur oleh pengguna.
Ada juga parameter inferensi khusus model. Anthropic Claude model memiliki parameter inferensi Top-K tambahan, dan AI21 Labs Model Jurassic hadir dengan serangkaian parameter inferensi termasuk penalti kehadiran, penalti hitungan, penalti frekuensi, dan penalti token khusus. Untuk informasi lebih lanjut, lihat dokumentasi masing-masing.