{"slug": "como-integrar-un-llm-claude-o-gpt-en-tu-aplicacion-python", "title": "Cómo integrar un LLM (Claude o GPT) en tu aplicación Python", "summary": "A developer from Xiliux demonstrates how to integrate large language models such as Anthropic's Claude, OpenAI's GPT, and Google's Gemini into Python applications, using the official SDKs and environment variables for API keys. The guide covers the basic message-passing pattern, streaming responses for better user experience, and JSON schema enforcement for structured outputs, highlighting common pitfalls like response block types and rate limit handling.", "body_md": "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.\n\nLos 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.\n\nInstala el SDK y guarda tu clave en una **variable de entorno**, nunca en el código:\n\n```\npip install anthropic\nexport ANTHROPIC_API_KEY=\"tu-clave\"\n```\n\nEl patrón es siempre el mismo: envías una lista de mensajes y recibes una respuesta.\n\n``` python\nfrom anthropic import Anthropic\n\nclient = Anthropic()  # lee ANTHROPIC_API_KEY del entorno\n\nresp = client.messages.create(\n    model=\"claude-opus-4-8\",\n    max_tokens=1024,\n    messages=[\n        {\"role\": \"user\", \"content\": \"Resume en una frase: la fotosíntesis...\"}\n    ],\n)\nprint(resp.content[0].text)\n```\n\nDos detalles importantes: `resp.content`\n\nes una **lista de bloques** (comprueba `.type`\n\nantes de leer `.text`\n\n), y `max_tokens`\n\nlimita la longitud de la respuesta.\n\nEn una interfaz, esperar a que se genere todo el texto se siente lento. El **streaming** muestra la respuesta token a token, como en ChatGPT:\n\n```\nwith client.messages.stream(\n    model=\"claude-opus-4-8\",\n    max_tokens=1024,\n    messages=[{\"role\": \"user\", \"content\": \"Escribe un email de bienvenida.\"}],\n) as stream:\n    for text in stream.text_stream:\n        print(text, end=\"\", flush=True)\n```\n\nPara salidas largas, el streaming además evita que la petición supere el tiempo de espera de la conexión.\n\nSi 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.\n\n`max_tokens`\n\nrazonable y cachea respuestas repetidas. Los SDKs modernos soportan `RateLimitError`\n\n, 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](https://dev.to/#contacto).", "url": "https://wpnews.pro/news/como-integrar-un-llm-claude-o-gpt-en-tu-aplicacion-python", "canonical_source": "https://dev.to/isazajuancarlos/como-integrar-un-llm-claude-o-gpt-en-tu-aplicacion-python-42gm", "published_at": "2026-08-17 18:30:04+00:00", "updated_at": "2026-08-17 18:44:02.331571+00:00", "lang": "en", "topics": ["large-language-models", "developer-tools", "artificial-intelligence"], "entities": ["Anthropic", "OpenAI", "Google", "Xiliux", "Claude", "GPT", "Gemini"], "alternates": {"html": "https://wpnews.pro/news/como-integrar-un-llm-claude-o-gpt-en-tu-aplicacion-python", "markdown": "https://wpnews.pro/news/como-integrar-un-llm-claude-o-gpt-en-tu-aplicacion-python.md", "text": "https://wpnews.pro/news/como-integrar-un-llm-claude-o-gpt-en-tu-aplicacion-python.txt", "jsonld": "https://wpnews.pro/news/como-integrar-un-llm-claude-o-gpt-en-tu-aplicacion-python.jsonld"}}