Zephyrnet-Logo

Erste Schritte mit Claude 3 Opus, das gerade GPT-4 und Gemini zerstört hat – KDnuggets

Datum:

Erste Schritte mit Claude 3 Opus, das gerade GPT-4 und Gemini zerstört hat
Bild vom Autor 

Anthropic hat kürzlich eine neue Serie von KI-Modellen auf den Markt gebracht, die in Benchmark-Tests sowohl GPT-4 als auch Gemini übertroffen haben. Da die KI-Branche schnell wächst und sich weiterentwickelt, machen Claude-3-Modelle als das nächste große Ding im Bereich Large Language Models (LLMs) große Fortschritte.

In diesem Blogbeitrag werden wir die Leistungsbenchmarks der drei Modelle von Claude untersuchen. Wir werden auch etwas über die neue Python-API erfahren, die die einfache, asynchrone und Stream-Antwortgenerierung sowie ihre erweiterten Vision-Funktionen unterstützt.

Claude 3 ist ein bedeutender Fortschritt auf dem Gebiet der KI-Technologie. Es übertrifft modernste Sprachmodelle bei verschiedenen Bewertungsbenchmarks, darunter MMLU, GPQA und GSM8K, und demonstriert ein nahezu menschliches Verständnis und eine flüssige Beherrschung komplexer Aufgaben.

Die Claude 3-Modelle gibt es in drei Varianten: Haiku, Sonett und Opus, jedes mit seinen einzigartigen Fähigkeiten und Stärken.

  1. Haiku ist das schnellste und kostengünstigste Modell, das in der Lage ist, informationsreiche Forschungsarbeiten in weniger als drei Sekunden zu lesen und zu verarbeiten.
  2. Sonett ist 2x schneller als Claude 2 und 2.1 und eignet sich hervorragend für Aufgaben, die schnelle Reaktionen erfordern, wie z. B. Wissensabruf oder Vertriebsautomatisierung.
  3. opus Bietet ähnliche Geschwindigkeiten wie Claude 2 und 2.1, jedoch mit viel höherer Intelligenz.

Laut der folgenden Tabelle übertraf Claude 3 Opus GPT-4 und Gemini Ultra in allen LLM-Benchmarks und ist damit der neue Marktführer in der KI-Welt.

Erste Schritte mit Claude 3 Opus, das gerade GPT-4 und Gemini zerstört hat
Tabelle aus Klaus 3 

Eine der wesentlichen Verbesserungen der Claude 3-Modelle ist ihre starke Sehfähigkeit. Sie können verschiedene visuelle Formate verarbeiten, darunter Fotos, Diagramme, Grafiken und technische Diagramme.

Erste Schritte mit Claude 3 Opus, das gerade GPT-4 und Gemini zerstört hat
Tabelle aus Klaus 3 

Sie können mit der Verwendung des neuesten Modells beginnen, indem Sie auf gehen https://www.anthropic.com/claude und ein neues Konto erstellen. Im Vergleich zum OpenAI-Spielplatz ist es recht einfach.

Erste Schritte mit Claude 3 Opus, das gerade GPT-4 und Gemini zerstört hat 

  1. Bevor wir das Python-Paket installieren, müssen wir zu gehen https://console.anthropic.com/dashboard und holen Sie sich den API-Schlüssel. 
    Erste Schritte mit Claude 3 Opus, das gerade GPT-4 und Gemini zerstört hat 
  2. Anstatt den API-Schlüssel direkt zum Erstellen des Clientobjekts bereitzustellen, können Sie die Umgebungsvariable „ANTHROPIC_API_KEY“ festlegen und als Schlüssel bereitstellen.
  3. Installieren Sie das Python-Paket „anthropic“ mit PIP.
pip install anthropic
  1. Erstellen Sie das Clientobjekt mit dem API-Schlüssel. Wir werden den Client für die Textgenerierung, die Zugriffssichtfähigkeit und das Streaming verwenden.
import os
import anthropic
from IPython.display import Markdown, display

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

Probieren wir die alte Python-API aus, um zu testen, ob sie noch funktioniert oder nicht. Wir stellen der Vervollständigungs-API den Modellnamen, die maximale Tokenlänge und die Eingabeaufforderung zur Verfügung.

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)

Der Fehler zeigt, dass wir die alte API nicht für das Modell „claude-3-opus-20240229“ verwenden können. Wir müssen stattdessen die Nachrichten-API verwenden.

Erste Schritte mit Claude 3 Opus, das gerade GPT-4 und Gemini zerstört hat 

Lassen Sie uns die Nachrichten-API verwenden, um die Antwort zu generieren. Anstelle einer Eingabeaufforderung müssen wir dem Argument „messages“ eine Liste von Wörterbüchern bereitstellen, die die Rolle und den Inhalt enthalten.

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)

Bei Verwendung von IPython Markdown wird die Antwort im Markdown-Format angezeigt. Das bedeutet, dass Aufzählungspunkte, Codeblöcke, Überschriften und Links sauber angezeigt werden.

Erste Schritte mit Claude 3 Opus, das gerade GPT-4 und Gemini zerstört hat 

Wir können auch eine Systemaufforderung bereitstellen, um Ihre Antwort anzupassen. In unserem Fall bitten wir Claude 3 Opus, in Urdu-Sprache zu antworten.

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)

Das Opus-Modell ist ziemlich gut. Ich meine, ich kann es ganz klar verstehen.

Erste Schritte mit Claude 3 Opus, das gerade GPT-4 und Gemini zerstört hat 

Synchrone APIs führen API-Anfragen nacheinander aus und blockieren, bis eine Antwort empfangen wird, bevor der nächste Aufruf aufgerufen wird. Asynchrone APIs hingegen ermöglichen mehrere gleichzeitige Anfragen ohne Blockierung, wodurch sie effizienter und skalierbarer werden.

  1. Wir müssen einen Async Anthropic-Client erstellen.
  2. Erstellen Sie die Hauptfunktion mit Async.
  3. Generieren Sie die Antwort mithilfe der Wait-Syntax.
  4. Führen Sie die Hauptfunktion mit der Wait-Syntax aus.
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()

Erste Schritte mit Claude 3 Opus, das gerade GPT-4 und Gemini zerstört hat 

Hinweis: Wenn Sie async im Jupyter-Notebook verwenden, versuchen Sie es mit „await main()“ anstelle von „asyncio.run(main()“).

Streaming ist ein Ansatz, der es ermöglicht, die Ausgabe eines Sprachmodells zu verarbeiten, sobald sie verfügbar ist, ohne auf die vollständige Antwort warten zu müssen. Diese Methode minimiert die wahrgenommene Latenz, indem das Ausgabe-Token für jedes Token und nicht alle auf einmal zurückgegeben wird.

Anstelle von „messages.create“ verwenden wir „messages.stream“ für das Antwort-Streaming und verwenden eine Schleife, um mehrere Wörter aus der Antwort anzuzeigen, sobald sie verfügbar sind.

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)

Wie wir sehen, generieren wir die Antwort recht schnell.

Erste Schritte mit Claude 3 Opus, das gerade GPT-4 und Gemini zerstört hat 

Wir können eine asynchrone Funktion auch beim Streaming verwenden. Sie müssen nur kreativ sein und sie kombinieren.

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

Erste Schritte mit Claude 3 Opus, das gerade GPT-4 und Gemini zerstört hat 

Claude 3 Vision ist mit der Zeit immer besser geworden, und um die Antwort zu erhalten, müssen Sie der Nachrichten-API lediglich den Bildtyp base64 bereitstellen.

In diesem Beispiel verwenden wir Tulpen (Bild 1) und Flamingos (Bild 2) Fotos von Pexel.com, um die Antwort zu generieren, indem Fragen zum Bild gestellt werden.

Erste Schritte mit Claude 3 Opus, das gerade GPT-4 und Gemini zerstört hat 

Wir werden die „httpx“-Bibliothek verwenden, um beide Bilder von pexel.com abzurufen und sie in die Base64-Kodierung zu konvertieren.

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

Wir stellen der Nachrichten-API base64-codierte Bilder in Bildinhaltsblöcken zur Verfügung. Bitte befolgen Sie das unten gezeigte Codierungsmuster, um die Antwort erfolgreich zu generieren.

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)

Wir haben ein wunderschönes Gedicht über die Tulpen bekommen.

Erste Schritte mit Claude 3 Opus, das gerade GPT-4 und Gemini zerstört hat 

Versuchen wir, mehrere Bilder in dieselbe Claude 3-Nachrichten-API zu laden.

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)

Wir haben eine Kurzgeschichte über einen Garten voller Tulpen und Flamingos.

Erste Schritte mit Claude 3 Opus, das gerade GPT-4 und Gemini zerstört hat 

Wenn Sie Probleme beim Ausführen des Codes haben, finden Sie hier eine Deepnote-Arbeitsbereich Hier können Sie den Code selbst überprüfen und ausführen.

Ich denke, das Claude 3 Opus ist ein vielversprechendes Modell, auch wenn es möglicherweise nicht so schnell ist wie GPT-4 und Gemini. Ich glaube, dass zahlende Benutzer möglicherweise bessere Geschwindigkeiten haben.

In diesem Tutorial haben wir etwas über die neue Modellreihe von Anthropic namens Claude 3 erfahren, ihre Benchmark überprüft und ihre Sehfähigkeiten getestet. Wir haben auch gelernt, einfache, asynchrone und Stream-Antworten zu generieren. Es ist noch zu früh, um zu sagen, ob es das beste LLM auf dem Markt ist, aber wenn wir uns die offiziellen Testbenchmarks ansehen, haben wir einen neuen König auf dem Thron der KI.

 
 

Abid Ali Awan (@1abidaliawan) ist ein zertifizierter Datenwissenschaftler, der es liebt, Modelle für maschinelles Lernen zu erstellen. Derzeit konzentriert er sich auf die Erstellung von Inhalten und schreibt technische Blogs zu maschinellem Lernen und Data-Science-Technologien. Abid hat einen Master-Abschluss in Technologiemanagement und einen Bachelor-Abschluss in Telekommunikationstechnik. Seine Vision ist es, ein KI-Produkt mit einem grafisch-neuronalen Netzwerk für Schüler zu entwickeln, die mit psychischen Erkrankungen zu kämpfen haben.

spot_img

Neueste Intelligenz

spot_img