0Pricing
Learn AI with Python · Lección

API de Anthropic Claude en Python

anthropic.Anthropic(), messages.create(), bloques de contenido, razonamiento extendido y streaming.

API de Anthropic Claude en Python es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.

El SDK de Anthropic

Se accede a los modelos Claude de Anthropic mediante el paquete de Python anthropic. Instálelo con pip install anthropic. Claude destaca en razonamiento con contextos largos, seguimiento cuidadoso de instrucciones y uso de herramientas.

pip install anthropic

import anthropic

Crear el cliente

Construya el cliente con anthropic.Anthropic(). De forma predeterminada, lee su clave de la variable de entorno ANTHROPIC_API_KEY, lo que mantiene las credenciales fuera del código.

import anthropic

client = anthropic.Anthropic()

# Or explicitly
client = anthropic.Anthropic(api_key="sk-ant-...")

La API de Messages

Claude utiliza client.messages.create(). A diferencia de OpenAI, el system prompt es un parámetro independiente, no un mensaje de la lista. La lista messages solo contiene los turnos del usuario y del asistente.

message = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    system="You are a concise expert.",
    messages=[{"role": "user", "content": "Explain RAG in one sentence."}]
)

max_tokens es obligatorio

Una diferencia importante: max_tokens es obligatorio en la API de Anthropic. Limita cuántos tokens puede generar Claude en su respuesta. Establézcalo en un valor suficientemente alto para la salida prevista, pero recuerde que también protege frente a costes descontrolados.

message = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=2048,
    messages=[{"role": "user", "content": "Write a haiku about Python."}]
)

Leer la respuesta

Claude devuelve una lista content de bloques. Para texto simple, la respuesta se encuentra en message.content[0].text. Es una lista porque una respuesta puede contener varios bloques, como texto y una solicitud de uso de herramientas.

print(message.content[0].text)

# Inspect block type
print(message.content[0].type)  # "text"

Historial de la conversación

Al igual que otras API de chat, Claude no conserva estado. Para continuar una conversación, debe añadir usted mismo la respuesta del asistente y el siguiente turno del usuario a messages.

messages = [{"role": "user", "content": "Hello"}]
resp = client.messages.create(model="claude-opus-4-8", max_tokens=512, messages=messages)

messages.append({"role": "assistant", "content": resp.content[0].text})
messages.append({"role": "user", "content": "Tell me more"})

Streaming con un gestor de contexto

Para obtener una salida en tiempo real, Claude ofrece client.messages.stream(), que se utiliza como gestor de contexto con la instrucción with. Esto abre y cierra la conexión de forma segura.

with client.messages.stream(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Count to five."}]
) as stream:
    pass  # iterate inside

Iterar sobre el stream de texto

Dentro del bloque with, recorra stream.text_stream con un bucle para recibir los deltas de texto a medida que Claude los genera. Cada elemento es una cadena lista para imprimir.

with client.messages.stream(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Count to five."}]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

Obtener el mensaje final

Cuando finalice el streaming, llame a stream.get_final_message() para recuperar el objeto de mensaje completo ya ensamblado, incluidos los datos de uso y todos los bloques de contenido.

with client.messages.stream(model="claude-opus-4-8", max_tokens=1024,
        messages=[{"role": "user", "content": "Hi"}]) as stream:
    for text in stream.text_stream:
        print(text, end="")
    final = stream.get_final_message()

Uso de tokens

La respuesta contiene un objeto usage con input_tokens y output_tokens. Tenga en cuenta que los nombres difieren de los de OpenAI (que utiliza prompt/completion), pero el significado es el mismo: controlar el coste de cada llamada.

print(message.usage.input_tokens)
print(message.usage.output_tokens)

Diferencias entre OpenAI y Anthropic

Recuerde estas diferencias principales: Anthropic coloca el system prompt en su propio parámetro, exige max_tokens, lee el texto desde content[0].text y realiza el streaming mediante un gestor de contexto with. Conocerlas le permite cambiar de proveedor con confianza.

Comprobación rápida

Compruebe sus conocimientos sobre Anthropic.

Resumen: Claude en Python

Ha creado un cliente anthropic.Anthropic() y ha llamado a messages.create() con un max_tokens obligatorio y un prompt system independiente. Ha leído las respuestas desde content[0].text y ha controlado el coste mediante usage.input_tokens / output_tokens.

Para el streaming, ha utilizado client.messages.stream() como gestor de contexto with, ha recorrido text_stream y ha obtenido el resultado ensamblado con get_final_message().

Preguntas frecuentes

¿La lección «API de Anthropic Claude en Python» es gratis?

Sí — el texto completo de «API de Anthropic Claude en Python» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Qué aprenderé en «API de Anthropic Claude en Python»?

anthropic.Anthropic(), messages.create(), bloques de contenido, razonamiento extendido y streaming. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn AI with Python?

No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «API de Anthropic Claude en Python»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?

Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. API de OpenAI: chat.completions y streaming
  2. API de Anthropic Claude en Python
  3. Llamadas a funciones y uso de herramientas con LLM
  4. Ingeniería de prompts para aplicaciones LLM en producción
← Volver a Learn AI with Python