Migrasi dari Text Completions
Migrasi dari Text Completions ke Messages
Ketika melakukan migrasi dari Text Completions ke Messages, pertimbangkan perubahan-perubahan berikut.
Input dan output
Perubahan terbesar antara Text Completions dan Messages adalah cara Anda menentukan input model dan menerima output dari model.
Dengan Text Completions, input berupa string mentah:
Dengan Messages, Anda menentukan daftar pesan input alih-alih prompt mentah:
Setiap pesan input memiliki role
dan content
.
Nama role
API Text Completions mengharapkan giliran \n\nHuman:
dan \n\nAssistant:
yang bergantian, tetapi API Messages mengharapkan role user
dan assistant
. Anda mungkin melihat dokumentasi yang merujuk pada giliran “human” atau “user”. Ini merujuk pada role yang sama, dan akan menjadi “user” ke depannya.
Dengan Text Completions, teks yang dihasilkan model dikembalikan dalam nilai completion
dari respons:
Dengan Messages, respons adalah nilai content
, yang merupakan daftar blok konten:
Memasukkan kata-kata ke mulut Claude
Dengan Text Completions, Anda dapat mengisi sebagian respons Claude terlebih dahulu:
Dengan Messages, Anda dapat mencapai hasil yang sama dengan membuat pesan input terakhir memiliki role assistant
:
Ketika melakukan hal tersebut, content
respons akan melanjutkan dari content
pesan input terakhir:
System prompt
Dengan Text Completions, system prompt ditentukan dengan menambahkan teks sebelum giliran \n\nHuman:
pertama:
Dengan Messages, Anda menentukan system prompt dengan parameter system
:
Nama model
API Messages mengharuskan Anda menentukan versi model lengkap (misalnya claude-3-opus-20240229
).
Kami sebelumnya mendukung penentuan hanya nomor versi utama (misalnya claude-2
), yang menghasilkan peningkatan otomatis ke versi minor. Namun, kami tidak lagi merekomendasikan pola integrasi ini, dan Messages tidak mendukungnya.
Stop reason
Text Completions selalu memiliki stop_reason
berupa salah satu dari:
"stop_sequence"
: Model mengakhiri gilirannya secara alami, atau salah satu dari urutan stop kustom Anda dihasilkan."max_tokens"
: Model menghasilkanmax_tokens
konten yang Anda tentukan, atau mencapai maksimum absolut.
Messages memiliki stop_reason
berupa salah satu dari nilai berikut:
"end_turn"
: Giliran percakapan berakhir secara alami."stop_sequence"
: Salah satu dari urutan stop kustom yang Anda tentukan dihasilkan."max_tokens"
: (tidak berubah)
Menentukan max tokens
- Text Completions: parameter
max_tokens_to_sample
. Tidak ada validasi, tetapi nilai dibatasi per-model. - Messages: parameter
max_tokens
. Jika melewatkan nilai yang lebih tinggi dari yang didukung model, mengembalikan error validasi.
Format streaming
Ketika menggunakan "stream": true
dengan Text Completions, respons menyertakan server-sent-events completion
, ping
, dan error
. Lihat Text Completions streaming untuk detail.
Messages dapat berisi beberapa blok konten dengan berbagai jenis, sehingga format streaming-nya agak lebih kompleks. Lihat Messages streaming untuk detail.