레거시 APIText Completions API는 레거시 API입니다. 향후 모델과 기능들은 Messages API 사용을 요구할 것이며, 가능한 한 빨리 마이그레이션할 것을 권장합니다.
Anthropic API는 기본적인 프롬프트 정리 및 검증을 수행하여 프롬프트가 Claude에 적합한 형식으로 작성되도록 도움을 줍니다. Text Completions를 생성할 때, 프롬프트가 지정된 형식이 아닌 경우, API는 먼저 가볍게 정리를 시도합니다(예: 후행 공백 제거). 이 정확한 동작은 변경될 수 있으며, 권장되는 교대로 나타나는 \n\nHuman:\n\nAssistant: 턴으로 프롬프트를 형식화할 것을 강력히 권장합니다. 그런 다음, API는 다음 조건 하에서 프롬프트를 검증합니다:
  • 프롬프트의 첫 번째 대화 턴은 \n\nHuman: 턴이어야 합니다
  • 프롬프트의 마지막 대화 턴은 \n\nAssistant: 턴이어야 합니다
  • 프롬프트는 길이가 100,000 - 1 토큰 미만이어야 합니다.

예시

다음 프롬프트들은 API 오류를 발생시킵니다:
Python
# "\n\nHuman:"과 "\n\nAssistant:" 턴이 누락됨
prompt = "Hello, world"

# "\n\nHuman:" 턴이 누락됨
prompt = "Hello, world\n\nAssistant:"

# "\n\nAssistant:" 턴이 누락됨
prompt = "\n\nHuman: Hello, Claude"

# "\n\nHuman:" 턴이 첫 번째가 아님
prompt = "\n\nAssistant: Hello, world\n\nHuman: Hello, Claude\n\nAssistant:"

# "\n\nAssistant:" 턴이 마지막이 아님
prompt = "\n\nHuman: Hello, Claude\n\nAssistant: Hello, world\n\nHuman: How many toes do dogs have?"

# "\n\nAssistant:"에 "\n"이 하나만 있음
prompt = "\n\nHuman: Hello, Claude \nAssistant:"
다음은 현재 허용되고 API에 의해 자동으로 정리되지만, 향후 변경될 수 있으므로 이 동작에 의존해서는 안 됩니다:
Python
# "\n\nHuman:"에 선행 "\n\n"이 없음
prompt = "Human: Hello, Claude\n\nAssistant:"

# "\n\nAssistant:" 뒤에 후행 공백
prompt = "\n\nHuman: Hello, Claude:\n\nAssistant: "