Accéder au contenu principal

Démarrer avec Claude 3 et l'API Claude 3

Découvrez les modèles Claude 3, les tests de performance détaillés et la manière d'y accéder. En outre, découvrez la nouvelle API Python de Claude 3 pour la génération de texte, l'accès aux capacités de vision et la diffusion en continu.
Actualisé 14 nov. 2024

La guerre de l'IA se poursuit, avec Gemini et Gemma de Google qui ont récemment fait parler d'eux, mais aujourd'hui, Claude 3 d'Anthropic s'est imposé comme un concurrent puissant, surpassant GPT-4 et Gemini Ultra dans tous les benchmarks.

Dans ce tutoriel, nous explorerons les modèles Claude 3, les critères de performance et la manière d'y accéder. Nous comparerons également Claude 3 avec son prédécesseur, Claude 2.1, et ChatGPT. Enfin, nous découvrirons l'API Python de Claude 3 pour générer du texte, accéder aux capacités de vision, diffuser des réponses en continu et l'utiliser de manière asynchrone.

Qu'est-ce que Claude 3 ?

Anthropic a récemment introduit une nouvelle famille de modèles d'IA appelée Claude 3. Ces modèles constituent des références dans l'industrie pour diverses tâches cognitives. Les modèles Claude 3 comprennent trois modèles de pointe : Haïku, Sonnet et Opus. Ces modèles peuvent alimenter les discussions en temps réel avec les clients, les complétions automatiques et les tâches d'extraction de données.

Actuellement, Opus et Sonnet sont disponibles pour claude.ai et l'API Claude, tandis que le modèle plus petit Haiku sera bientôt disponible. Les modèles Claude 3 sont plus performants pour suivre des instructions complexes en plusieurs étapes, respecter la voix de la marque et les directives de réponse, et générer des résultats structurés dans des formats tels que JSON.

Par rapport aux précédents modèles de Claude, ces nouveaux modèles font preuve d'une meilleure compréhension du contexte, ce qui se traduit par une diminution des refus inutiles.

Ils offrent une fenêtre contextuelle de 200K mais peuvent traiter des entrées dépassant 1 million de jetons. Plus précisément, Claude 3 Opus a obtenu un rappel presque parfait, avec une précision de plus de 99 %.

Pour garantir la fiabilité des modèles, Anthropic dispose d'équipes dédiées au cursus et à l'atténuation d'un large spectre de risques.

Détails du modèle

Claude 3 propose trois modèles avec un équilibre entre l'intelligence, la vitesse et le coût pour diverses applications.

Claude 3 Opus

Opus est conçu pour des tâches complexes et de haute intelligence, excellant dans la résolution de problèmes ouverts et l'analyse stratégique, avec une fenêtre contextuelle importante et un coût plus élevé reflétant ses capacités avancées.

Le prix : Les jetons d'entrée à 15 dollars par million et les jetons de sortie à 75 dollars par million.

Claude 3 Sonnet

Sonnet offre un équilibre optimal entre performance et coût, idéal pour les charges de travail d'entreprise impliquant le traitement des données, l'optimisation des ventes et les déploiements d'IA évolutifs. Il est abordable et s'accompagne d'une grande fenêtre contextuelle.

Le prix : Les jetons d'entrée à 3 dollars par million et les jetons de sortie à 15 dollars par million.

Claude 3 Haiku

Haiku se distingue par sa rapidité et son efficacité, répondant aux besoins de réponse en temps réel du service client, de la modération de contenu et des tâches de réduction des coûts, ce qui en fait le modèle le plus abordable et le plus réactif de la suite.

Le prix : Les jetons d'entrée à 0,25 $ par million et les jetons de sortie à 1,25 $ par million.

Comment accéder à Claude 3

Il y a trois façons d'accéder aux modèles Claude 3.

Claude Chat

Si vous cherchez un moyen simple et gratuit d'essayer les modèles d'IA de Claude, vous pouvez vous inscrire à claude.ai/chats, qui est similaire à ChatGPT. L'interface de chat est interactive et facile à utiliser.

Actuellement, Claude 3 Sonnet est proposé gratuitement, mais pour accéder à Claude 3 Opus, vous devez souscrire un abonnement mensuel à Claude Pro.

Claude Chat

Claude Chat

Établi

Pour accéder gratuitement à Claude 3 Opus, vous devez vous inscrire à l'API d'Anthropic : console.anthropic.com.

Suivez les étapes simples pour vous inscrire gratuitement et commencer à utiliser le modèle Opus en cliquant sur l'onglet Workbench et en sélectionnant le modèle "claude-3-opus-20240229".

Établi anthropique

Établi anthropique

API et SDK

Le troisième moyen d'accéder aux modèles Claude 3 est l'API. Antropic propose des kits de développement logiciel (SDK) pour Python et Typescript. Vous pouvez également accéder au modèle via l'API REST en utilisant la commande curl dans le terminal.

curl https://api.anthropic.com/v1/messages \
     --header "x-api-key: $ANTHROPIC_API_KEY" \
     --header "anthropic-version: 2023-06-01" \
     --header "content-type: application/json" \
     --data \
'{
    "model": "claude-3-opus-20240229",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": "How many moons does Jupiter have?"}
    ]
}'

Une plongée dans les critères de référence

Les modèles Claude 3 ont été comparés aux grands modèles linguistiques (LLM) les plus performants et ont montré des améliorations significatives dans différents tests.

Claude 3 Opus, en particulier, a surpassé GPT-4 et Gemini Ultra sur certains des critères d'évaluation les plus courants, notamment MMLU, GPQA et GSM8K. Il présente des niveaux de compréhension et de fluidité proches de ceux de l'homme dans des tâches complexes, ce qui en fait la première étape vers la réalisation de l'intelligence générale.

Découvrez le LLM à la pointe de l'OpenAI en lisant l'article de DataCamp sur Qu'est-ce que le GPT-4 et pourquoi est-ce important ? Découvrez également le rival du chatGPT de Google, Google Gemini, en consultant le site Qu'est-ce que Google Gemini ? Tout ce que vous devez savoir à ce sujet.

Les modèles de Claude 3 se sont améliorés en matière d'analyse et de prévision, de génération de codes et de réponses dans des langues autres que l'anglais, comme le montrent les données de référence ci-dessous :

Claude 3 Points de repère

Image Source

Les capacités visuelles du modèle Claude 3 ont été considérablement améliorées, ce qui lui permet de comprendre des photos, des diagrammes et des graphiques complexes. Cette avancée profite aux entreprises dont les bases de connaissances se présentent sous différents formats, tels que les PDF, les organigrammes et les diapositives de présentation.

Claude 3 Critères de référence de la vision

Image Source

Les modèles Claude 3 ont également considérablement amélioré la réduction des refus inutiles et la précision par rapport aux générations précédentes de modèles.

Claude 3 comparaison des refus incorrects

Image Source

Enfin, nous pouvons constater que les modèles de Claude 3 présentent une précision deux fois supérieure à celle de Claude 2.1 pour les questions ouvertes. En outre, les nouveaux modèles présentent des niveaux réduits de réponses incorrectes.

Claude 3 Opus vs Claude 2.1

Dans cette section, nous allons comparer les réponses de Claude 3 Opus et de Claude 2.1 sur trois tâches communes afin de comprendre leurs performances respectives.

Q&A

Prompt : Je parle sans bouche et j'entends sans oreilles. Je n'ai pas de corps, mais je m'anime avec le vent. Qu'est-ce que je suis ?

Claude 3 Q&R

Claude 2.1 a refusé de répondre à la question, invoquant un manque de contenu. Cependant, l'utilisateur posait une énigme et Claude Opus a fourni la bonne réponse.

Générer du code

Prompt : Créez une application web FastAPI pour un modèle de classification Scikit-learn simple.

Claude 3 vs Claude 2.1 générer du code

Le code de Claude 2.1 semble avoir fonctionné initialement, mais une erreur s'est produite après la saisie des valeurs de l'échantillon. Après enquête, nous avons découvert que le code n'était pas optimisé et que la fonction d'inférence comportait des erreurs.

En revanche, lorsque nous l'avons comparé avec l'Opus Claude 3, nous avons constaté que le code fonctionnait sans problème et fournissait des prédictions précises, comme le montre le graphique ci-dessous.

Claude 3 vs Claude 2.1 générer du code réponses

Un problème complexe

Prompt : Quelle est la comparaison entre un réseau neuronal à une couche, une entrée et une sortie, et une régression logistique ?

Claude 3 vs Claude 2.1 Problèmes complexes

Les deux modèles ont fourni des réponses similaires, mais la réponse de Claude 3 Opus était plus détaillée et plus lisible.

Claude 3 Opus vs ChatGPT 4

Comparons Claude 3 Opus et ChatGPT 4 sur des tâches similaires à celles décrites ci-dessus pour montrer comment Claude 3 a un petit avantage sur le modèle GPT-4.

Q&A

Prompt : Combien de lunes Jupiter possède-t-elle ?

Claude 3 Opus vs ChatGPT 4 Q&R

Les deux affirmations sont incorrectes. Au 5 février 2024, Jupiter compte 95 lunes. Cette invite est utile pour comprendre la période de coupure des ensembles de données. Il apparaît que Claude 3 Opus a été entraîné sur un jeu de données plus ancien, datant de 2021, tandis que ChatGPT a été mis à jour pour la dernière fois en avril 2023.

Générer du code

Prompt : Création d'une application web Gradio pour un modèle de classification Scikit-learn simple.

Claude 3 Opus vs ChatGPT 4 Générer du code

Le code généré par le modèle Claude 3 a fonctionné sans problème, mais le code généré par GPT-4 n'a pas fonctionné en raison d'erreurs multiples et d'hallucinations.

Un problème complexe

Prompt : Il y a quatre personnes dans un ascenseur et quatre étages dans un bâtiment. Quelle est la probabilité que chaque personne descende à un étage différent ?

Claude 3 Opus vs ChatGPT 4 Problème complexe

Les deux modèles ont donné la bonne réponse à la fameuse question des probabilités. L'un a fourni le travail mathématique, l'autre a généré et exécuté le code Python pour afficher la même réponse. Dans ce cas, les deux sont gagnants.

SDK Python de Claude 3

Dans cette partie, nous allons découvrir le SDK Python de Claude 3 et comment nous pouvons l'utiliser pour générer des réponses personnalisées.

Pour commencer

1. Installez le paquetage Python anthropic à l'aide de PIP.

pip install anthropic

2. Avant d'installer le paquet Python, nous devons nous rendre sur le site https://console.anthropic.com/dashboard et obtenir la clé API.

Claude 3 Clé API

3. Définissez la variable d'environnement ANTHROPIC_API_KEY et indiquez la valeur de la clé API. La configuration et l'accès à la variable d'environnement sont assez faciles dans DataLab, le carnet de données doté d'IA de DataCamp.

Claude 3 Ajouter des variables d'environnement

4. Créez l'objet client à l'aide de la clé API. Nous utiliserons ce client pour la génération de texte, la capacité de vision d'accès et la diffusion en continu.

import os
import anthropic

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

Claude 2 API sur les achèvements

Il est important de noter que le nouveau modèle Claude 3 n'utilise pas l'API d'achèvement. Si vous tentez d'utiliser cette API pour les modèles Claude 3, vous obtiendrez une erreur et il vous sera conseillé d'utiliser l'API Messages à la place.

from IPython.display import Markdown, display
from anthropic import HUMAN_PROMPT, AI_PROMPT

completion = client.completions.create(
    model="claude-2.1",
    max_tokens_to_sample=300,
    prompt=f"{HUMAN_PROMPT} What is Matthew effect? {AI_PROMPT}",
)
Markdown(completion.completion)

Claude 3 Exemple

Si vous souhaitez en savoir plus sur l'API Python de Claude, moins chère, lisez Prise en main de l'API Claude 2 et Anthropic.

Claude 3 API Messages

Pour clarifier, nous allons tester l'API Messages Anthropiques pour le modèle Claude 3 Opus. Cette API est similaire à l'API de complétion, mais elle requiert un argument messages qui doit être fourni sous la forme d'une liste de dictionnaires contenant le rôle et le contenu.

Prompt = "Write the Go 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 de IPython Markdown permet d'afficher 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.

Créer du code en markdown avec Claude 3

Le code fonctionne parfaitement et l'explication est suffisamment claire pour que tout le monde comprenne ce qui se passe.

Ajout d'une invite système

Nous pouvons personnaliser la réponse en fournissant l'invite du système. Nous lui avons demandé de convertir toutes les réponses en suédois.

Prompt = "Write a report on climate change."

message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    system="Respond only in Svenska.",
    messages=[
        {"role": "user", "content": Prompt} 
    ]
)

Markdown(message.content[0].text)

Il a parfaitement généré un rapport sur le changement climatique en Svenska.

Claude 3 Sortie (suédois)

Claude 3 Bloc Vision

L'API Messages comprend des fonctionnalités de vision. Dans cette section, nous utiliserons deux photos de Pexels.com pour générer une réponse.

Claude 3 Bloc Vision

Nous chargerons les images à l'aide du paquetage httpx et les convertirons en encodage base64.

import base64
import httpx

media_type = "image/jpeg"

url_1 = "https://images.pexels.com/photos/20433278/pexels-photo-20433278/free-photo-of-indian-blue-jay.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2"

image_encode_1 = base64.b64encode(httpx.get(url_1).content).decode("utf-8")

url_2 = "https://images.pexels.com/photos/772429/pexels-photo-772429.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2"

image_encode_2 = base64.b64encode(httpx.get(url_2).content).decode("utf-8")

Vision avec une seule image

Pour obtenir des informations sur les images, nous devons fournir à Claude 3 API les données de l'image, le type d'encodage et le type de média. L'image et l'invite font partie du dictionnaire de contenu de l'argument message.

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_encode_1,
                    },
                },
                {
                    "type": "text",
                    "text": "Describe the image."
                }
            ],
        }
    ],
)
Markdown(message.content[0].text)

Claude 3 Résultats du bloc vision

Vision avec des images multiples

L'ajout de plusieurs images peut être complexe, mais si vous suivez le modèle de code dans l'exemple de code, vous comprendrez comment cela fonctionne.

Il suffit de créer un texte qui indique l'image 1 et l'image 2, puis de poser des questions sur ces deux images.

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_encode_1,
                    },
                },
                {
                    "type": "text",
                    "text": "Image 2:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": media_type,
                        "data": image_encode_2,
                    },
                },
                {
                    "type": "text",
                    "text": "What do these images have in common?"
                }
            ],
        }
    ],
)
Markdown(message.content[0].text)

Parfait. Les deux images représentent des oiseaux.

Claude 3 Résultats du bloc vision 2

Claude 3 API de diffusion en continu

Le streaming fait référence au processus de génération de sorties de texte de manière continue, plutôt que d'attendre que la séquence entière soit générée avant de renvoyer une sortie. Avec cette technique, la sortie est générée jeton par jeton, ce qui permet de minimiser la latence perçue.

Au lieu de create, nous utiliserons la fonction stream pour générer la réponse en continu.

Pour afficher les résultats, nous utiliserons la syntaxe with et for loop pour imprimer les jetons dès qu'ils sont disponibles.

Prompt = "Write a Python code for typical data engineering 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)

Claude 3 Streaming Response

Claude 3 API asynchrone

Les API synchrones exécutent les demandes de manière séquentielle et les bloquent jusqu'à ce qu'une réponse soit reçue avant de lancer l'appel suivant. En revanche, les API asynchrones permettent d'effectuer plusieurs requêtes simultanées sans blocage, ce qui les rend plus efficaces et plus évolutives.

Nous allons initialiser le client asynchrone à l'aide de la commande AsyncAnthropic. Ensuite, nous créerons la fonction main à l'aide du mot-clé async et nous exécuterons la fonction à l'aide de la fonction asyncio.run.

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

import asyncio
from anthropic import AsyncAnthropic

async_client = AsyncAnthropic(
    api_key=os.environ["ANTHROPIC_API_KEY"],
)

Prompt = "Could you explain what MLOps is and suggest some of the best tools to use for it?"

async def main() -> None:

    message = await async_client.messages.create(
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": Prompt,
            }
        ],
        model="claude-3-opus-20240229",
    )
    display(Markdown(message.content[0].text))


asyncio.run(main())

Claude 3 Async API

Combiner le streaming et l'API asynchrone

Nous pouvons facilement combiner le streaming avec les méthodes asynchrones en utilisant la fonction stream du client asynchrone. De cette manière, nous serons en mesure de recevoir plusieurs requêtes et de diffuser les réponses, ce qui rendra l'application d'IA évolutive et robuste.

async def main() -> None:
    
    completion = async_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)

asyncio.run(main())

Claude 3 Combiner le streaming avec l'API Async

Si vous avez des difficultés à exécuter le code, vous pouvez accéder à ce classeur DataLab où vous pouvez visualiser et exécuter le code vous-même (après en avoir fait une copie).

Apprenez à accéder aux grands modèles de langage d'OpenAI en suivant le tutoriel sur l' utilisation de GPT-3.5 et GPT-4 via l'API OpenAI en Python.

Réflexions finales

Anthropic est désormais une société publique et orientée vers les entreprises, à l'instar d'OpenAI. Elle donne accès à ses modèles à tout le monde, et dans certains cas gratuitement. Vous pouvez accéder à l'Opus Claude 3 LLM le plus performant par le biais d'un abonnement Pro ou d'un accès API. Cependant, Anthropic ne dispose pas de l'écosystème d'OpenAI, car il lui manque les modèles d'intégration, la génération d'images et de vidéos, la synthèse vocale et la reconnaissance vocale. Elle ne dispose pas non plus des fonctions de base offertes par l'API OpenAI.

Vous pouvez découvrir le nouveau modèle de conversion de texte en vidéo d'OpenAI qui a pris d'assaut les médias sociaux en consultant le site Qu'est-ce que Sora d'Open AI ? Comment ça marche, les cas d'utilisation, les alternatives et plus encore.

Dans ce tutoriel, nous avons découvert le modèle Claude 3, qui fait l'objet d'une grande attention dans le monde de l'IA. Nous l'avons comparé à Claude 2.1 et à GPT-4 dans diverses tâches. Enfin, nous avons utilisé le SDK Python d'Anthropic pour générer du texte, accéder aux capacités de vision, streamer la réponse token par token, et utiliser l'API de manière asynchrone.

Si vous êtes novice en matière d'IA et que vous souhaitez comprendre les rouages des LLM de pointe, vous devriez envisager de suivre le cursus de compétences "AI Fundamentals". Il vous fournira des connaissances pratiques sur des sujets d'IA populaires tels que le ChatGPT, les grands modèles de langage, l'IA générative, et bien plus encore.


Photo of Abid Ali Awan
Author
Abid Ali Awan
LinkedIn
Twitter

En tant que data scientist certifié, je suis passionné par l'utilisation des technologies de pointe pour créer des applications innovantes d'apprentissage automatique. Avec une solide expérience en reconnaissance vocale, en analyse de données et en reporting, en MLOps, en IA conversationnelle et en NLP, j'ai affiné mes compétences dans le développement de systèmes intelligents qui peuvent avoir un impact réel. En plus de mon expertise technique, je suis également un communicateur compétent, doué pour distiller des concepts complexes dans un langage clair et concis. En conséquence, je suis devenu un blogueur recherché dans le domaine de la science des données, partageant mes idées et mes expériences avec une communauté grandissante de professionnels des données. Actuellement, je me concentre sur la création et l'édition de contenu, en travaillant avec de grands modèles linguistiques pour développer un contenu puissant et attrayant qui peut aider les entreprises et les particuliers à tirer le meilleur parti de leurs données.

Sujets

Commencez dès aujourd'hui votre voyage d'apprentissage de l'IA !

cursus

Principes de l'IA

10 heures hr
Découvrez les fondamentaux de l'IA, plongez dans des modèles comme ChatGPT et décodez les secrets de l'IA générative pour naviguer dans le paysage dynamique de l'IA.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow