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.
- 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.
- 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.
- 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.
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.
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.
- Bevor wir das Python-Paket installieren, müssen wir zu gehen https://console.anthropic.com/dashboard und holen Sie sich den API-Schlüssel.
- 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.
- Installieren Sie das Python-Paket „anthropic“ mit PIP.
pip install anthropic
- 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.
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.
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.
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.
- Wir müssen einen Async Anthropic-Client erstellen.
- Erstellen Sie die Hauptfunktion mit Async.
- Generieren Sie die Antwort mithilfe der Wait-Syntax.
- 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()
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.
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()
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.
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.
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.
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.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- PlatoData.Network Vertikale generative KI. Motiviere dich selbst. Hier zugreifen.
- PlatoAiStream. Web3-Intelligenz. Wissen verstärkt. Hier zugreifen.
- PlatoESG. Kohlenstoff, CleanTech, Energie, Umwelt, Solar, Abfallwirtschaft. Hier zugreifen.
- PlatoHealth. Informationen zu Biotechnologie und klinischen Studien. Hier zugreifen.
- Quelle: 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