Logo Zéphyrnet

Premiers pas avec Claude 3 Opus qui vient de détruire GPT-4 et Gemini

Date :

Premiers pas avec Claude 3 Opus qui vient de détruire GPT-4 et Gemini
Image par auteur 

Anthropic a récemment lancé une nouvelle série de modèles d'IA qui ont surpassé GPT-4 et Gemini lors des tests de référence. Avec la croissance et l'évolution rapide de l'industrie de l'IA, les modèles Claude 3 font des progrès significatifs en tant que prochaine grande nouveauté dans les grands modèles linguistiques (LLM).

Dans cet article de blog, nous explorerons les critères de performance des 3 modèles de Claude. Nous découvrirons également la nouvelle API Python qui prend en charge la génération de réponses simples, asynchrones et en continu, ainsi que ses capacités de vision améliorées.

Claude 3, constitue une avancée significative dans le domaine de la technologie de l'IA. Il surpasse les modèles linguistiques de pointe sur divers critères d'évaluation, notamment MMLU, GPQA et GSM8K, démontrant des niveaux de compréhension et de maîtrise proches de ceux des humains dans des tâches complexes.

Les modèles Claude 3 se déclinent en trois variantes : Haïku, Sonnet et Opus, chacun avec ses capacités et ses atouts uniques.

  1. Haiku est le modèle le plus rapide et le plus rentable, capable de lire et de traiter des documents de recherche riches en informations en moins de trois secondes.
  2. Sonnet est 2 fois plus rapide que Claude 2 et 2.1, excellant dans les tâches exigeant des réponses rapides, comme la récupération de connaissances ou l'automatisation des ventes.
  3. Opus offre des vitesses similaires à celles de Claude 2 et 2.1 mais avec des niveaux d'intelligence beaucoup plus élevés.

Selon le tableau ci-dessous, Claude 3 Opus a surpassé GPT-4 et Gemini Ultra sur tous les benchmarks LLM, ce qui en fait le nouveau leader dans le monde de l'IA.

Premiers pas avec Claude 3 Opus qui vient de détruire GPT-4 et Gemini
Table de Claudie 3 

L'une des améliorations significatives des modèles Claude 3 réside dans leurs fortes capacités de vision. Ils peuvent traiter divers formats visuels, notamment des photos, des tableaux, des graphiques et des diagrammes techniques.

Premiers pas avec Claude 3 Opus qui vient de détruire GPT-4 et Gemini
Table de Claudie 3 

Vous pouvez commencer à utiliser le dernier modèle en allant sur https://www.anthropic.com/claude et créer un nouveau compte. C'est assez simple par rapport au terrain de jeu OpenAI.

Premiers pas avec Claude 3 Opus qui vient de détruire GPT-4 et Gemini 

  1. Avant d'installer le package Python, nous devons aller sur https://console.anthropic.com/dashboard et obtenez la clé API. 
    Premiers pas avec Claude 3 Opus qui vient de détruire GPT-4 et Gemini 
  2. Au lieu de fournir la clé API directement pour créer l'objet client, vous pouvez définir la variable d'environnement `ANTHROPIC_API_KEY` et la fournir comme clé.
  3. Installez le package Python `anthropic` à l'aide de PIP.
pip install anthropic
  1. Créez l'objet client à l'aide de la clé API. Nous utiliserons le client pour la génération de texte, la capacité de vision d'accès et le streaming.
import os
import anthropic
from IPython.display import Markdown, display

client = anthropic.Anthropic(
    api_key=os.environ["ANTHROPIC_API_KEY"],
)

Essayons l'ancienne API Python pour tester si elle fonctionne toujours ou non. Nous fournirons à l'API de complétion le nom du modèle, la longueur maximale du jeton et l'invite.

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)

L'erreur montre que nous ne pouvons pas utiliser l'ancienne API pour le modèle `claude-3-opus-20240229`. Nous devons plutôt utiliser l'API Messages.

Premiers pas avec Claude 3 Opus qui vient de détruire GPT-4 et Gemini 

Utilisons l'API Messages pour générer la réponse. Au lieu d'une invite, nous devons fournir à l'argument messages une liste de dictionnaires contenant le rôle et le contenu.

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)

L'utilisation d'IPython Markdown affichera la réponse au format Markdown. Cela signifie qu'il affichera les puces, les blocs de code, les titres et les liens de manière claire.

Premiers pas avec Claude 3 Opus qui vient de détruire GPT-4 et Gemini 

Nous pouvons également fournir une invite système pour personnaliser votre réponse. Dans notre cas nous demandons à Claude 3 Opus de répondre en langue ourdou.

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)

Le modèle Opus est plutôt bon. Je veux dire, je peux le comprendre très clairement.

Premiers pas avec Claude 3 Opus qui vient de détruire GPT-4 et Gemini 

Les API synchrones exécutent les requêtes API de manière séquentielle, en bloquant jusqu'à ce qu'une réponse soit reçue avant d'appeler l'appel suivant. Les API asynchrones, quant à elles, autorisent plusieurs requêtes simultanées sans blocage, ce qui les rend plus efficaces et évolutives.

  1. Nous devons créer un client Async Anthropic.
  2. Créez la fonction principale avec async.
  3. Générez la réponse en utilisant la syntaxe wait.
  4. Exécutez la fonction principale en utilisant la syntaxe wait.
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()

Premiers pas avec Claude 3 Opus qui vient de détruire GPT-4 et Gemini 

Remarque: Si vous utilisez async dans Jupyter Notebook, essayez d'utiliser wait main() au lieu de asyncio.run(main())

Le streaming est une approche qui permet de traiter la sortie d'un modèle de langage dès qu'il est disponible, sans attendre la réponse complète. Cette méthode minimise la latence perçue en renvoyant la sortie jeton par jeton, au lieu de tout en une seule fois.

Au lieu de « messages.create », nous utiliserons « messages.stream » pour le streaming des réponses et utiliserons une boucle pour afficher plusieurs mots de la réponse dès qu'ils seront 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)

Comme nous pouvons le constater, nous générons une réponse assez rapidement.

Premiers pas avec Claude 3 Opus qui vient de détruire GPT-4 et Gemini 

Nous pouvons également utiliser une fonction asynchrone avec le streaming. Il vous suffit d'être créatif et de les combiner.

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()

Premiers pas avec Claude 3 Opus qui vient de détruire GPT-4 et Gemini 

Claude 3 Vision s'est amélioré au fil du temps, et pour obtenir la réponse, il suffit de fournir l'image de type base64 à l'API des messages.

Dans cet exemple, nous utiliserons tulipes (Image 1) et Flamants (Image 2) photos de Pexel.com pour générer la réponse en posant des questions sur l'image.

Premiers pas avec Claude 3 Opus qui vient de détruire GPT-4 et Gemini 

Nous utiliserons la bibliothèque `httpx` pour récupérer les deux images sur pexel.com et les convertir en codage 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")

Nous fournissons des images codées en base64 à l'API de messages dans des blocs de contenu d'image. Veuillez suivre le modèle de codage indiqué ci-dessous pour générer avec succès la réponse.

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)

Nous avons un beau poème sur les tulipes.

Premiers pas avec Claude 3 Opus qui vient de détruire GPT-4 et Gemini 

Essayons de charger plusieurs images dans la même API de messages 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)

Nous avons une courte histoire sur un jardin de tulipes et de flamants roses.

Premiers pas avec Claude 3 Opus qui vient de détruire GPT-4 et Gemini 

Si vous rencontrez des difficultés pour exécuter le code, voici un Espace de travail Deepnote où vous pouvez consulter et exécuter le code vous-même.

Je pense que le Claude 3 Opus est un modèle prometteur, même s'il n'est peut-être pas aussi rapide que le GPT-4 et le Gemini. Je pense que les utilisateurs payants peuvent avoir de meilleures vitesses.

Dans ce didacticiel, nous avons découvert la nouvelle série de modèles d'Anthropic appelée Claude 3, examiné son benchmark et testé ses capacités de vision. Nous avons également appris à générer des réponses simples, asynchrones et en continu. Il est trop tôt pour dire s'il s'agit du meilleur LLM du marché, mais si nous regardons les tests de référence officiels, nous avons un nouveau roi sur le trône de l'IA.

 
 

Abid Ali Awan (@1abidaliawan) est un spécialiste des données certifié qui aime créer des modèles d'apprentissage automatique. Actuellement, il se concentre sur la création de contenu et la rédaction de blogs techniques sur les technologies d'apprentissage automatique et de science des données. Abid est titulaire d'une maîtrise en gestion de la technologie et d'un baccalauréat en génie des télécommunications. Sa vision est de créer un produit d'IA utilisant un réseau de neurones graphiques pour les étudiants aux prises avec une maladie mentale.

spot_img

Dernières informations

spot_img