Curso
Si quieres integrar en tu aplicación un modelo de lenguaje más natural y muy preciso, Claude 2 de Anthropic es una gran opción. Incluye una aplicación pública de chat (similar a ChatGPT), una API y un playground para distintas versiones de los modelos.
Descubre las diferencias entre las respuestas de Claude y ChatGPT en el artículo Claude vs. ChatGPT: ¿qué asistente de IA es mejor para data scientists en 2023?
En este tutorial, veremos los modelos Claude 2X y cómo acceder a ellos mediante la API de Python. Cubriremos la configuración de la API, cómo hacer consultas básicas y gestionar respuestas. También aprenderás sobre consultas en streaming, peticiones asíncronas y funciones más avanzadas de la API. Todo el código fuente del tutorial está disponible en este cuaderno de DataLab; puedes crear una copia para editar y ejecutar el código directamente en el navegador, sin instalar nada en tu ordenador.
Al finalizar, tendrás claro cómo integrar Claude 2 en tu propia aplicación para aprovechar sus avanzadas capacidades de lenguaje natural.
Si estás empezando con la IA generativa, nuestro itinerario de aprendizaje AI Fundamentals te ayuda a conocer nuevas tecnologías y modelos para prepararte para el mundo de la IA de mañana.
Conceptos básicos de Claude 2
Anthropic lanzó recientemente Claude 2, la última versión de su gran modelo de lenguaje. Ha mejorado su rendimiento en varias tareas con respuestas más largas y coherentes. Además, ofrece acceso por API y un sitio web público en beta, disponible en claude.ai.

Imagen de claude.ai
Claude 2 destaca por su conversación natural, con mejores capacidades de razonamiento, memoria ampliada y seguimiento de contexto, a la vez que minimiza salidas dañinas. Ha mostrado mejoras en programación, razonamiento matemático y lógica.
Por ejemplo, en razonamiento legal, Claude 2 obtuvo un 76,5% en la sección tipo test del examen de acceso a la abogacía (Bar exam), un 3,5% más que Claude 1.3. En pruebas de aptitud académica, Claude 2 se sitúa por encima del percentil 90 en las secciones de lectura y escritura del GRE, y al nivel de los solicitantes medios en razonamiento cuantitativo.
Presentamos Claude 2.1
El 21 de noviembre de 2023, Anthropic lanzó Claude 2.1, con mejoras notables que permiten un razonamiento más avanzado y reducen el contenido alucinado. Uno de los focos principales ha sido reforzar la fiabilidad mediante una mayor honestidad. Ahora Claude 2.1 es más transparente sobre las lagunas en su base de conocimiento en lugar de inventar información.
Incluye una ventana de contexto mayor, de 200K, que permite a Claude referenciar y contrastar contenidos extensos como artículos de investigación para mantener la consistencia factual en resúmenes o análisis largos.
Claude 2.1 también ha introducido el uso experimental de herramientas. Permite a Claude 2 recuperar y procesar datos de fuentes adicionales con alta precisión, invocar funciones y realizar acciones.
Configuración de Claude 2
El acceso a la API de Anthropic está actualmente restringido a un grupo selecto de personas y organizaciones. Si quieres estar entre los primeros en probarla, puedes completar el formulario de solicitud disponible en su web. Anthropic está concediendo acceso gradualmente para garantizar la seguridad y la escalabilidad de la API. Ten en cuenta que, debido al alto volumen de solicitudes, puede llevar tiempo obtener acceso.
Cuando recibas el correo de aprobación de Anthropic y crees tu cuenta, se te redirigirá al panel de control. El panel incluye un enlace al workbench, similar a OpenAI Playground, donde puedes alternar entre modelos y analizar respuestas. Además, contiene enlaces para generar claves de API y a la documentación.

Imagen del panel de control
Para crear una clave de API, haz clic en el botón "Get API Keys" e introduce el nombre de la clave. Una vez hecho, recibirás una clave que podrás usar para generar respuestas con la API de Claude 2.

Imagen de Anthropic
Para configurar una clave de API como variable de entorno, puedes usar un comando de Bash o establecerla en un cuaderno de DataLab. Primero, lanza un cuaderno nuevo y ve al botón "Environment" en el panel izquierdo. Haz clic en el icono de más y añade el nombre y el valor de la variable. Por último, pulsa guardar para aplicar los cambios.

Imagen de DataLab
Nota: puedes aplicar la clave de API directamente en la función de Python, pero no es nada recomendable por motivos de seguridad.
Para acceder a la API de Anthropic en Python, primero debes instalar el Anthropic SDK for Python con PIP.
pip install anthropicAcceder a la API de Claude 2
En esta parte, aprenderemos a acceder a la API de Anthropic para generar respuestas con el modelo Claude 2.1. Puedes seguir el código creando una copia de este cuaderno: Primeros pasos con Claude 2 y la API de Claude 2.
Cargaremos os para acceder a la clave de API y la librería anthropic para crear el flujo de IA conversacional usando la clave.
from anthropic import Anthropic, HUMAN_PROMPT, AI_PROMPTimport osanthropic_api_key = os.environ["ANTHROPIC_API_KEY"]anthropic = Anthropic( api_key= anthropic_api_key,)"HUMAN_PROMPT" y "AI_PROMPT" son cadenas que ayudan a construir la estructura correcta del prompt para la tubería de generación.

Ahora generaremos la respuesta indicando la versión del modelo, la longitud máxima de tokens y el prompt. Asegúrate de que tu prompt sigue la plantilla de Claude 2X.
completion = anthropic.completions.create( model="claude-2.1", max_tokens_to_sample=350, prompt=f"{HUMAN_PROMPT} How do I learn Python in a week?{AI_PROMPT}",)print(completion.completion)El resultado es muy bueno. Claude 2.1 nos da un plan detallado para aprender Python en una semana.

Anthropic admite tanto peticiones síncronas como asíncronas a la API.
Las APIs síncronas ejecutan las solicitudes de forma secuencial, bloqueando hasta recibir respuesta antes de invocar la siguiente llamada. Por su parte, las APIs asíncronas permiten múltiples peticiones concurrentes sin bloqueo y gestionan las respuestas a medida que llegan. Esto hace que las APIs asíncronas sean más eficientes y escalables que las síncronas.
Para llamar a la API de forma asíncrona, importa AsyncAnthropic en lugar de Anthropic. Define una función con sintaxis async y usa await en cada llamada a la API.
from anthropic import AsyncAnthropicanthropic = AsyncAnthropic()async def main(): completion = await anthropic.completions.create( model="claude-2.1", max_tokens_to_sample=300, prompt=f"{HUMAN_PROMPT}How many moons does Jupiter have?{AI_PROMPT}", ) print(completion.completion)await main()El resultado es casi exacto. Algunas fuentes dicen 79, pero la NASA indica que Júpiter tiene 95 lunas.
Nota: usa asyncio.run(main()) en lugar de await main() cuando ejecutes el código en un archivo .py de Python en vez de en un Jupyter Notebook.
Streaming con LLM en Claude 2
El streaming se ha vuelto esencial en los grandes modelos de lenguaje, con varias ventajas frente al procesamiento tradicional. En lugar de esperar a la respuesta completa, permite procesar la salida en cuanto está disponible. Así se reduce la latencia percibida al devolver la salida del modelo token a token, en vez de toda de golpe.
Para activar el streaming, establece el argumento 'stream' en `True` en la función de completion.
anthropic = Anthropic()stream = anthropic.completions.create( prompt=f"{HUMAN_PROMPT}Could you please write a Python code to train a simple classification model?{AI_PROMPT}", max_tokens_to_sample=350, model="claude-2.1", stream=True,)for completion in stream: print(completion.completion, end="", flush=True)Parece que recibimos la respuesta línea a línea mucho más rápido, como si Claude 2.1 la estuviera escribiendo.

De forma similar, también podemos ejecutar streaming en modo `async`. Fíjate en que solo hemos añadido `await` delante de la función de completion y `async` antes del bucle for.
anthropic = AsyncAnthropic()stream = await anthropic.completions.create( prompt=f"{HUMAN_PROMPT}Please write a blog post on Neural Networks and use Markdown format. Kindly make sure that you proofread your work for any spelling, grammar, or punctuation errors.{AI_PROMPT}", max_tokens_to_sample=350, model="claude-2.1", stream=True,)async for completion in stream: print(completion.completion, end="", flush=True)Nuestra IA generativa hace un buen trabajo escribiendo un artículo decente.

Echa un vistazo a la lista de 7 herramientas esenciales de IA generativa que pueden ayudarte a crear chatbots totalmente funcionales y con contexto.
Funciones avanzadas y personalización
La API de Anthropic ofrece varias funciones avanzadas y opciones de personalización más allá de la generación básica de respuestas:
- Gestión de errores: tipos de excepciones específicas como APIConnectionError y APIStatusError permiten gestionar con claridad problemas de conexión y errores HTTP.
- Encabezados por defecto: el encabezado anthropic-version se envía automáticamente para identificar el cliente. Puedes personalizarlo cambiando el argumento
default_headersen el objetoanthropic. - Registro (logging): puedes habilitar el registro de depuración estableciendo la variable de entorno ANTHROPIC_LOG. Esto ayuda en la resolución de problemas.
- Cliente HTTP: el cliente HTTPX que gestiona las peticiones se puede configurar para proxies, transports y funciones avanzadas adicionales.
- Gestión de recursos: puedes cerrar el cliente manualmente con el método
.close()o usar un context manager que lo cierra automáticamente al salir. - Técnicas de prompting: la documentación de la API ofrece varias palabras clave para optimizar tus entradas para texto, documentos estructurados, fragmentos de código y resultados de RAG.
- Validación de prompts: la API realiza una sanitización y validación básicas del prompt para asegurar que está optimizado para el modelo Claude 2.
Para saber más sobre funciones avanzadas, consulta la documentación de la API de Anthropic.
Aplicaciones prácticas de la API de Claude 2
La API de Claude 2 tiene aplicaciones prácticas en muchos sectores y dominios. En la creación de contenido y copywriting, puede ayudar a redactar artículos de calidad, materiales de marketing y textos creativos. Además, en:
- Traducción automática: puedes crear aplicaciones que ofrezcan traducción en tiempo real aprovechando sus avanzadas capacidades multilingües.
- Educación: es excelente para el aprendizaje personalizado. El alumnado puede aprovecharla para comprender antes temas complejos.
- Atención al cliente: ofrece respuestas con mayor contexto, más precisas y naturales.
- Asistencia a la programación: genera fragmentos de código, depura y explica conceptos complejos para acelerar el desarrollo.
- Artes creativas: colabora con artistas para generar contenido como composiciones musicales.
- Legal/compliance: redacta documentos, resume normativas y ayuda a garantizar el cumplimiento regulatorio.
Conclusión
La API de Python ofrece una forma potente de acceder a los modelos de IA conversacional de última generación de Anthropic. Hemos visto lo básico para configurar claves de acceso, hacer llamadas síncronas y asíncronas, respuestas en streaming y algunas funciones avanzadas. Además, hemos repasado aplicaciones prácticas de Claude 2.
Aunque el acceso a la API sigue siendo limitado, Anthropic lo está ampliando de forma gradual. A medida que Claude 2 avance, la API de Python permitirá a los desarrolladores integrar fácilmente sus capacidades punteras en una amplia variedad de productos y servicios.
¡Espero que esta introducción a la API de Claude 2 te haya resultado útil! Anímate a experimentar con los ejemplos de código para ver de primera mano las impresionantes habilidades de Claude 2. Aquí tienes una lista de 5 proyectos que puedes crear con modelos de IA generativa para inspirarte en tu próximo proyecto con Claude 2.
Soy un científico de datos certificado que disfruta creando aplicaciones de aprendizaje automático y escribiendo blogs sobre ciencia de datos. Actualmente me centro en la creación de contenidos, la edición y el trabajo con grandes modelos lingüísticos.





