Crear un chatbot propio con IA dejó de ser territorio exclusivo de grandes empresas. Con Python y la API de Claude de Anthropic, puedes tener un chatbot funcional en menos de 30 minutos. En este tutorial te guío paso a paso, desde cero hasta una conversación real con memoria.
¿Qué vamos a construir?
Al final de este tutorial tendrás:
- Un chatbot de consola que responde en lenguaje natural.
- Memoria de conversación: el bot recuerda lo que le dijiste antes.
- Personalidad personalizable: puedes hacer que sea un asistente de cocina, un tutor de idiomas, un experto en finanzas, lo que necesites.
Requisitos previos
- Python 3.8 o superior instalado.
- Conocimientos básicos de Python (variables, funciones, bucles).
- Una cuenta en console.anthropic.com.
Paso 1: Obtén tu API Key de Anthropic
Entra en console.anthropic.com, crea una cuenta gratuita y ve a "API Keys". Genera una nueva clave y guárdala en un lugar seguro. No la compartas nunca ni la subas a GitHub.
Paso 2: Instala el SDK de Anthropic
Abre la terminal y ejecuta:
pip install anthropic
Y para manejar la API key de forma segura, también instala python-dotenv:
pip install python-dotenv
Paso 3: Configura las variables de entorno
Crea un archivo .env en tu proyecto:
ANTHROPIC_API_KEY=tu_clave_api_aquí
Importante: añade .env a tu .gitignore para no exponerla accidentalmente.
Paso 4: Tu primer mensaje a Claude
Crea un archivo chatbot.py con este código:
import anthropic
from dotenv import load_dotenv
load_dotenv()
client = anthropic.Anthropic()
mensaje = client.messages.create(
model="claude-opus-4-6",
max_tokens=1024,
messages=[
{"role": "user", "content": "Hola, ¿quién eres?"}
]
)
print(mensaje.content[0].text)
Ejecuta con python chatbot.py y verás tu primera respuesta de Claude.
Paso 5: Añadir memoria de conversación
Para que el bot recuerde el contexto, necesitas mantener el historial de mensajes:
import anthropic
from dotenv import load_dotenv
load_dotenv()
client = anthropic.Anthropic()
historial = []
print("Chatbot listo. Escribe 'salir' para terminar.\n")
while True:
entrada = input("Tú: ").strip()
if entrada.lower() == 'salir':
break
if not entrada:
continue
historial.append({"role": "user", "content": entrada})
respuesta = client.messages.create(
model="claude-opus-4-6",
max_tokens=1024,
messages=historial
)
texto = respuesta.content[0].text
historial.append({"role": "assistant", "content": texto})
print(f"Claude: {texto}\n")
Ahora el bot recuerda toda la conversación. Puedes decirle "mi nombre es Ana" y después preguntarle "¿cómo me llamo?" y lo recordará.
Paso 6: Personalizar la personalidad
El system prompt define cómo se comporta el bot. Añádelo al crear el mensaje:
respuesta = client.messages.create(
model="claude-opus-4-6",
max_tokens=1024,
system="""Eres un chef profesional especializado en cocina mediterránea.
Respondes siempre en español, con entusiasmo y pasión por la comida.
Si te preguntan algo fuera de tu especialidad, amablemente redirigyes
la conversación hacia temas culinarios.""",
messages=historial
)
Cambia el system prompt y tienes un bot completamente diferente: tutor de matemáticas, asistente legal, coach deportivo, lo que necesites.
Paso 7: Mejoras opcionales
Para un chatbot más completo, considera añadir:
- Límite de historial: Usa solo los últimos N mensajes para no superar el límite de tokens.
- Interfaz web: Con Flask o FastAPI puedes exponerlo como una API REST y construir una UI.
- Streaming: Usa
client.messages.stream()para mostrar las respuestas palabra a palabra, como ChatGPT. - Persistencia: Guarda el historial en un archivo JSON o base de datos SQLite.
Próximos pasos
Con este fundamento puedes construir cosas increíbles: un asistente para tu negocio, un tutor personalizado, un bot que analice documentos o un agente que ejecute tareas automáticamente. La documentación oficial de la API de Anthropic en docs.anthropic.com tiene todo lo que necesitas para ir más allá.
Si tienes preguntas o quieres compartir lo que has creado, escríbeme. Me encanta ver qué construye la gente con estas herramientas.