API Heredada

La API de Text Completions es una API heredada. Los modelos y funciones futuras requerirán el uso de la API de Messages, y recomendamos migrar lo antes posible.

La API de Anthropic realiza una sanitización y validación básica de los prompts para ayudar a asegurar que tus prompts estén bien formateados para Claude.

Al crear Text Completions, si tu prompt no está en el formato especificado, la API primero intentará sanitizarlo ligeramente (por ejemplo, eliminando espacios al final). Este comportamiento exacto está sujeto a cambios, y recomendamos encarecidamente que formatees tus prompts con los turnos alternados \n\nHuman: y \n\nAssistant: recomendados.

Luego, la API validará tu prompt bajo las siguientes condiciones:

  • El primer turno conversacional en el prompt debe ser un turno \n\nHuman:
  • El último turno conversacional en el prompt debe ser un turno \n\nAssistant:
  • El prompt debe tener menos de 100,000 - 1 tokens de longitud.

Ejemplos

Los siguientes prompts resultarán en errores de API:

Python
# Faltan los turnos "\n\nHuman:" y "\n\nAssistant:"
prompt = "Hello, world"

# Falta el turno "\n\nHuman:"
prompt = "Hello, world\n\nAssistant:"

# Falta el turno "\n\nAssistant:"
prompt = "\n\nHuman: Hello, Claude"

# El turno "\n\nHuman:" no es el primero
prompt = "\n\nAssistant: Hello, world\n\nHuman: Hello, Claude\n\nAssistant:"

# El turno "\n\nAssistant:" no es el último
prompt = "\n\nHuman: Hello, Claude\n\nAssistant: Hello, world\n\nHuman: How many toes do dogs have?"

# "\n\nAssistant:" solo tiene un "\n"
prompt = "\n\nHuman: Hello, Claude \nAssistant:"

Los siguientes son actualmente aceptados y automáticamente sanitizados por la API, pero no deberías confiar en este comportamiento, ya que puede cambiar en el futuro:

Python
# No hay "\n\n" inicial para "\n\nHuman:"
prompt = "Human: Hello, Claude\n\nAssistant:"

# Espacio al final después de "\n\nAssistant:"
prompt = "\n\nHuman: Hello, Claude:\n\nAssistant: "