API Lama

API Text Completions adalah API lama. Model dan fitur di masa depan akan memerlukan penggunaan API Messages, dan kami merekomendasikan untuk bermigrasi sesegera mungkin.

API Anthropic melakukan sanitasi dan validasi prompt dasar untuk membantu memastikan bahwa prompt Anda diformat dengan baik untuk Claude.

Saat membuat Text Completions, jika prompt Anda tidak dalam format yang ditentukan, API akan terlebih dahulu mencoba untuk melakukan sanitasi ringan (misalnya, dengan menghapus spasi di akhir). Perilaku persis ini dapat berubah, dan kami sangat menyarankan agar Anda memformat prompt Anda dengan giliran \n\nHuman: dan \n\nAssistant: yang direkomendasikan.

Kemudian, API akan memvalidasi prompt Anda dalam kondisi berikut:

  • Giliran percakapan pertama dalam prompt harus berupa giliran \n\nHuman:
  • Giliran percakapan terakhir dalam prompt harus berupa giliran \n\nAssistant:
  • Prompt harus memiliki panjang kurang dari 100,000 - 1 token.

Contoh

Prompt berikut akan menghasilkan kesalahan API:

Python
# Tidak ada giliran "\n\nHuman:" dan "\n\nAssistant:"
prompt = "Halo, dunia"

# Tidak ada giliran "\n\nHuman:"
prompt = "Halo, dunia\n\nAssistant:"

# Tidak ada giliran "\n\nAssistant:"
prompt = "\n\nHuman: Halo, Claude"

# Giliran "\n\nHuman:" bukan yang pertama
prompt = "\n\nAssistant: Halo, dunia\n\nHuman: Halo, Claude\n\nAssistant:"

# Giliran "\n\nAssistant:" bukan yang terakhir
prompt = "\n\nHuman: Halo, Claude\n\nAssistant: Halo, dunia\n\nHuman: Berapa jumlah jari kaki anjing?"

# "\n\nAssistant:" hanya memiliki satu "\n"
prompt = "\n\nHuman: Halo, Claude \nAssistant:"

Berikut ini saat ini diterima dan secara otomatis disanitasi oleh API, tetapi Anda tidak boleh mengandalkan perilaku ini, karena mungkin berubah di masa depan:

Python
# Tidak ada "\n\n" di awal untuk "\n\nHuman:"
prompt = "Human: Halo, Claude\n\nAssistant:"

# Spasi di akhir setelah "\n\nAssistant:"
prompt = "\n\nHuman: Halo, Claude:\n\nAssistant: "