API Lama

API Text Completions adalah API lama. Model dan fitur di masa depan akan memerlukan penggunaan Messages API, 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 yang tepat ini dapat berubah, dan kami sangat menyarankan Anda untuk memformat prompt Anda dengan giliran \n\nHuman: dan \n\nAssistant: yang bergantian sesuai rekomendasi.

Kemudian, API akan memvalidasi prompt Anda dengan kondisi berikut:

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

Contoh

Prompt berikut akan menghasilkan kesalahan API:

Python
# Tidak ada giliran "\n\nHuman:" dan "\n\nAssistant:"
prompt = "Hello, world"

# Tidak ada giliran "\n\nHuman:"
prompt = "Hello, world\n\nAssistant:"

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

# Giliran "\n\nHuman:" bukan yang pertama
prompt = "\n\nAssistant: Hello, world\n\nHuman: Hello, Claude\n\nAssistant:"

# Giliran "\n\nAssistant:" bukan yang terakhir
prompt = "\n\nHuman: Hello, Claude\n\nAssistant: Hello, world\n\nHuman: How many toes do dogs have?"

# "\n\nAssistant:" hanya memiliki satu "\n"
prompt = "\n\nHuman: Hello, 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: Hello, Claude\n\nAssistant:"

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