Imagen del autor
Anthropic lanzó recientemente una nueva serie de modelos de IA que superaron a GPT-4 y Gemini en las pruebas comparativas. Con la industria de la IA creciendo y evolucionando rápidamente, los modelos Claude 3 están logrando avances significativos como la próxima gran novedad en modelos de lenguajes grandes (LLM).
En esta publicación de blog, exploraremos los puntos de referencia de rendimiento de los 3 modelos de Claude. También aprenderemos sobre la nueva API de Python que admite la generación de respuestas simples, asincrónicas y de flujo, junto con sus capacidades de visión mejoradas.
Claude 3 supone un importante avance en el campo de la tecnología de inteligencia artificial. Supera a los modelos de lenguaje de última generación en varios puntos de referencia de evaluación, incluidos MMLU, GPQA y GSM8K, lo que demuestra niveles casi humanos de comprensión y fluidez en tareas complejas.
Los modelos Claude 3 se presentan en tres variantes: Haiku, soneto y opus, cada uno con sus capacidades y fortalezas únicas.
- Haiku es el modelo más rápido y rentable, capaz de leer y procesar artículos de investigación con gran densidad de información en menos de tres segundos.
- Soneto es 2 veces más rápido que Claude 2 y 2.1, sobresaliendo en tareas que exigen respuestas rápidas, como la recuperación de conocimientos o la automatización de ventas.
- Opus Ofrece velocidades similares a las de Claude 2 y 2.1 pero con niveles de inteligencia mucho más altos.
Según la siguiente tabla, Claude 3 Opus superó a GPT-4 y Gemini Ultra en todos los puntos de referencia de LLM, lo que lo convierte en el nuevo líder en el mundo de la IA.
Tabla de claudio 3
Una de las mejoras significativas de los modelos Claude 3 es su sólida capacidad de visión. Pueden procesar varios formatos visuales, incluidas fotografías, cuadros, gráficos y diagramas técnicos.
Tabla de claudio 3
Puede comenzar a utilizar el último modelo yendo a https://www.anthropic.com/claude y crear una nueva cuenta. Es bastante simple en comparación con el campo de juego OpenAI.
- Antes de instalar el paquete Python, debemos ir a https://console.anthropic.com/dashboard y obtenga la clave API.
- En lugar de proporcionar la clave API directamente para crear el objeto de cliente, puede configurar la variable de entorno `ANTHROPIC_API_KEY` y proporcionarla como clave.
- Instale el paquete Python `anthropic` usando PIP.
pip install anthropic
- Cree el objeto de cliente utilizando la clave API. Usaremos el cliente para la generación de texto, la capacidad de acceso a la visión y la transmisión.
import os
import anthropic
from IPython.display import Markdown, display
client = anthropic.Anthropic(
api_key=os.environ["ANTHROPIC_API_KEY"],
)
Probemos la antigua API de Python para comprobar si todavía funciona o no. Proporcionaremos la API de finalización con el nombre del modelo, la longitud máxima del token y el mensaje.
from anthropic import HUMAN_PROMPT, AI_PROMPT
completion = client.completions.create(
model="claude-3-opus-20240229",
max_tokens_to_sample=300,
prompt=f"{HUMAN_PROMPT} How do I cook a original pasta?{AI_PROMPT}",
)
Markdown(completion.completion)
El error muestra que no podemos usar la API anterior para el modelo `claude-3-opus-20240229`. En su lugar, necesitamos utilizar la API de mensajes.
Usemos la API de mensajes para generar la respuesta. En lugar de solicitarlo, debemos proporcionar al argumento de los mensajes una lista de diccionarios que contengan la función y el contenido.
Prompt = "Write the Julia code for the simple data analysis."
message = client.messages.create(
model="claude-3-opus-20240229",
max_tokens=1024,
messages=[
{"role": "user", "content": Prompt}
]
)
Markdown(message.content[0].text)
El uso de IPython Markdown mostrará la respuesta en formato Markdown. Lo que significa que mostrará viñetas, bloques de código, encabezados y enlaces de forma limpia.
También podemos proporcionar un mensaje del sistema para personalizar su respuesta. En nuestro caso le pedimos a Claude 3 Opus que responda en idioma urdu.
client = anthropic.Anthropic(
api_key=os.environ["ANTHROPIC_API_KEY"],
)
Prompt = "Write a blog about neural networks."
message = client.messages.create(
model="claude-3-opus-20240229",
max_tokens=1024,
system="Respond only in Urdu.",
messages=[
{"role": "user", "content": Prompt}
]
)
Markdown(message.content[0].text)
El modelo Opus es bastante bueno. Quiero decir que puedo entenderlo con bastante claridad.
Las API síncronas ejecutan solicitudes de API de forma secuencial, bloqueándose hasta que se recibe una respuesta antes de invocar la siguiente llamada. Las API asincrónicas, por otro lado, permiten múltiples solicitudes simultáneas sin bloquearlas, lo que las hace más eficientes y escalables.
- Tenemos que crear un cliente Async Anthropic.
- Crea la función principal con async.
- Genere la respuesta utilizando la sintaxis de espera.
- Ejecute la función principal usando la sintaxis de espera.
import asyncio
from anthropic import AsyncAnthropic
client = AsyncAnthropic(
api_key=os.environ["ANTHROPIC_API_KEY"],
)
async def main() -> None:
Prompt = "What is LLMOps and how do I start learning it?"
message = await client.messages.create(
max_tokens=1024,
messages=[
{
"role": "user",
"content": Prompt,
}
],
model="claude-3-opus-20240229",
)
display(Markdown(message.content[0].text))
await main()
Nota: Si está utilizando async en Jupyter Notebook, intente usar await main(), en lugar de asyncio.run(main())
La transmisión por secuencias es un enfoque que permite procesar la salida de un modelo de lenguaje tan pronto como esté disponible, sin esperar la respuesta completa. Este método minimiza la latencia percibida al devolver la salida token por token, en lugar de todos a la vez.
En lugar de `messages.create`, usaremos `messages.stream` para la transmisión de respuestas y usaremos un bucle para mostrar varias palabras de la respuesta tan pronto como estén disponibles.
from anthropic import Anthropic
client = anthropic.Anthropic(
api_key=os.environ["ANTHROPIC_API_KEY"],
)
Prompt = "Write a mermaid code for typical MLOps workflow."
completion = client.messages.stream(
max_tokens=1024,
messages=[
{
"role": "user",
"content": Prompt,
}
],
model="claude-3-opus-20240229",
)
with completion as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
Como podemos ver, estamos generando la respuesta bastante rápido.
También podemos usar una función asíncrona con transmisión. Sólo necesitas ser creativo y combinarlos.
import asyncio
from anthropic import AsyncAnthropic
client = AsyncAnthropic()
async def main() -> None:
completion = client.messages.stream(
max_tokens=1024,
messages=[
{
"role": "user",
"content": Prompt,
}
],
model="claude-3-opus-20240229",
)
async with completion as stream:
async for text in stream.text_stream:
print(text, end="", flush=True)
await main()
Claude 3 Vision ha mejorado con el tiempo y, para obtener la respuesta, solo tienes que proporcionar el tipo de imagen base64 a la API de mensajes.
En este ejemplo, usaremos tulipanes (Imagen 1) y Flamingos (Imagen 2) fotos de Pexel.com para generar la respuesta haciendo preguntas sobre la imagen.
Usaremos la biblioteca `httpx` para recuperar ambas imágenes de pexel.com y convertirlas a codificación base64.
import anthropic
import base64
import httpx
client = anthropic.Anthropic()
media_type = "image/jpeg"
img_url_1 = "https://images.pexels.com/photos/20230232/pexels-photo-20230232/free-photo-of-tulips-in-a-vase-against-a-green-background.jpeg"
image_data_1 = base64.b64encode(httpx.get(img_url_1).content).decode("utf-8")
img_url_2 = "https://images.pexels.com/photos/20255306/pexels-photo-20255306/free-photo-of-flamingos-in-the-water.jpeg"
image_data_2 = base64.b64encode(httpx.get(img_url_2).content).decode("utf-8")
Proporcionamos imágenes codificadas en base64 a la API de mensajes en bloques de contenido de imágenes. Siga el patrón de codificación que se muestra a continuación para generar correctamente la respuesta.
message = client.messages.create(
model="claude-3-opus-20240229",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": media_type,
"data": image_data_1,
},
},
{
"type": "text",
"text": "Write a poem using this image."
}
],
}
],
)
Markdown(message.content[0].text)
Tenemos un hermoso poema sobre los tulipanes.
Intentemos cargar varias imágenes en la misma API de mensajes de Claude 3.
message = client.messages.create(
model="claude-3-opus-20240229",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "Image 1:"
},
{
"type": "image",
"source": {
"type": "base64",
"media_type": media_type,
"data": image_data_1,
},
},
{
"type": "text",
"text": "Image 2:"
},
{
"type": "image",
"source": {
"type": "base64",
"media_type": media_type,
"data": image_data_2,
},
},
{
"type": "text",
"text": "Write a short story using these images."
}
],
}
],
)
Markdown(message.content[0].text)
Tenemos una historia corta sobre un Jardín de Tulipanes y Flamencos.
Si tiene problemas para ejecutar el código, aquí tiene una Espacio de trabajo de notas profundas donde puedes revisar y ejecutar el código tú mismo.
Creo que el Claude 3 Opus es un modelo prometedor, aunque puede que no sea tan rápido como GPT-4 y Gemini. Creo que los usuarios pagos pueden tener mejores velocidades.
En este tutorial, conocimos la nueva serie de modelos de Anthropic llamada Claude 3, revisamos sus puntos de referencia y probamos sus capacidades de visión. También aprendimos a generar respuestas simples, asíncronas y en flujo. Es demasiado pronto para decir si es el mejor LLM que existe, pero si miramos los puntos de referencia de las pruebas oficiales, tenemos un nuevo rey en el trono de la IA.
Abid Ali Awan (@ 1abidaliawan) es un profesional científico de datos certificado al que le encanta crear modelos de aprendizaje automático. Actualmente, se está enfocando en la creación de contenido y escribiendo blogs técnicos sobre aprendizaje automático y tecnologías de ciencia de datos. Abid tiene una Maestría en Gestión de Tecnología y una licenciatura en Ingeniería de Telecomunicaciones. Su visión es construir un producto de IA utilizando una red neuronal gráfica para estudiantes que luchan contra enfermedades mentales.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- PlatoData.Network Vertical Generativo Ai. Empodérate. Accede Aquí.
- PlatoAiStream. Inteligencia Web3. Conocimiento amplificado. Accede Aquí.
- PlatoESG. Carbón, tecnología limpia, Energía, Ambiente, Solar, Gestión de residuos. Accede Aquí.
- PlatoSalud. Inteligencia en Biotecnología y Ensayos Clínicos. Accede Aquí.
- Fuente: https://www.kdnuggets.com/getting-started-with-claude-3-opus-that-just-destroyed-gpt-4-and-gemini?utm_source=rss&utm_medium=rss&utm_campaign=getting-started-with-claude-3-opus-that-just-destroyed-gpt-4-and-gemini