Integrar un modelo de lenguaje (LLM) en una aplicación Python es hoy más sencillo de lo que parece, y abre la puerta a chatbots, asistentes internos, extracción de datos y automatización con lenguaje natural. En esta guía verás el patrón completo, con código real.
Los tres más usados son Anthropic (Claude), OpenAI (GPT) y Google (Gemini). Todos exponen una API HTTP con un SDK de Python oficial, y la lógica de tu app apenas cambia entre ellos. En los ejemplos usaré Claude, pero el patrón es idéntico en los demás.
Instala el SDK y guarda tu clave en una variable de entorno, nunca en el código:
pip install anthropic
export ANTHROPIC_API_KEY="tu-clave"
El patrón es siempre el mismo: envías una lista de mensajes y recibes una respuesta.
from anthropic import Anthropic
client = Anthropic() # lee ANTHROPIC_API_KEY del entorno
resp = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
messages=[
{"role": "user", "content": "Resume en una frase: la fotosíntesis..."}
],
)
print(resp.content[0].text)
Dos detalles importantes: resp.content
es una lista de bloques (comprueba .type
antes de leer .text
), y max_tokens
limita la longitud de la respuesta.
En una interfaz, esperar a que se genere todo el texto se siente lento. El streaming muestra la respuesta token a token, como en ChatGPT:
with client.messages.stream(
model="claude-opus-4-8",
max_tokens=1024,
messages=[{"role": "user", "content": "Escribe un email de bienvenida."}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
Para salidas largas, el streaming además evita que la petición supere el tiempo de espera de la conexión.
Si necesitas que el modelo devuelva datos en un formato exacto (por ejemplo para guardarlos en una base de datos), pide un esquema JSON en vez de parsear texto libre. Esto elimina la clase de bugs más común al integrar IA: respuestas con formato impredecible.
max_tokens
razonable y cachea respuestas repetidas. Los SDKs modernos soportan RateLimitError
, etc.) en lugar de comparar cadenas de texto.En Xiliux integro LLMs en aplicaciones Python de principio a fin: chatbots, automatización con IA y asistentes internos. Si tienes una idea, hablemos.