Cursus
Anthropic heeft onlangs Claude 3.5 Sonnet uitgebracht, een krachtig model dat GPT-4o en Gemini Pro 1.5 in diverse benchmarks heeft overtroffen.
Vooral de visuele redeneercapaciteiten van Claude 3.5 Sonnet zijn indrukwekkend, en je wilt die misschien inzetten in je ontwikkelworkflow via de API van Claude 3.5 Sonnet.
In dit artikel help ik je op weg met de API van Claude 3.5 Sonnet en geef ik je een stapsgewijze handleiding voor het gebruik van Claude 3.5 Sonnet via de API van Anthropic.
Als je een overzicht van Claude 3.5 Sonnet wilt, raad ik dit artikel aan: Wat is Claude 3.5 Sonnet.
Wat is Claude 3.5 Sonnet?
Claude 3.5 Sonnet is een groot taalmodel ontwikkeld door Anthropic. Het maakt deel uit van de bredere Claude 3.5-familie—later dit jaar brengt Anthropic Claude 3.5 Opus en Claude 3.5 Haiku uit.
Claude 3.5 Sonnet laat opvallende verbeteringen zien in beeldbegrip en -generatie en presteert sterk in benchmarks, met name bij codeer- en redeneertaken, vergeleken met andere modellen zoals GPT-4o, Gemini 1.5 Pro of Llama-400b.

Daarnaast introduceert het een nieuwe functie, Artifacts, voor beter informatiebeheer binnen gesprekken. Meer over Artifacts lees je in dit introductieartikel over Claude Sonnet 3.5.
Claude 3.5 Sonnet API: Hoe verbind je met de API van Antrophic
Om de Claude 3.5 Sonnet API te gebruiken, moet je je aanmelden voor een Anthropic API-account en de client van Anthropic instellen. Laten we het stap voor stap doornemen.
API-toegang verkrijgen
Stap 1: Aanmelden
Ga naar de Anthropic Console en maak een account aan. Je moet basisinformatie opgeven en je e-mailadres verifiëren.
Stap 2: API-sleutel
Zodra je account is ingesteld, ga je naar de sectie Get API keys en klik je op Create Key om je API-sleutel te genereren.
Je omgeving instellen
Om de client van Anthropic te initialiseren, moet je eerst de bibliotheek anthropic installeren als volgt:
pip install anthropic
Zodra je de bibliotheek hebt geïnstalleerd, kun je de client van Anthropic initialiseren met je API-sleutel.
import anthropic
# Create an instance of the Anthropics API client
client = anthropic.Anthropic(api_key='your_api_key_here')
Met de anthropic-bibliotheek geïnstalleerd en je Anthropic-client geïnitialiseerd met je API, kunnen we nu de mogelijkheden van Claude 3.5 Sonnet gaan verkennen.
Claude API: Messages API vs. Text Completions API
De API van Claude 3.5 Sonnet biedt krachtige functies, met name de Messages API, die is ontworpen voor het creëren van rijke, dynamische interacties.
Let op: de Text Completions API wordt nu als legacy beschouwd. Hoewel die basisfunctionaliteit voor aanvulling biedt, mist die de geavanceerde functies en flexibiliteit van de Messages API.
Gebruikers worden aangemoedigd om over te stappen op de Messages API voor meer functionaliteit en toekomstige ondersteuning.
Artifacts zijn momenteel ook niet toegankelijk via de API. Om met Artifacts te werken, gebruik je de webinterface van Claude.ai, die volledig ondersteuning biedt voor het bewerken, refereren en downloaden van door Claude 3.5 Sonnet gegenereerde content.
Claude 3.5 Sonnet API: Messages API
Met de Messages API kun je een gestructureerde lijst met invoerberichten met tekst- of beeldinhoud sturen, waarna het model het volgende bericht in het gesprek genereert.
Deze API ondersteunt zowel enkele vragen als stateless gesprekken met meerdere beurten.
Om een bericht te maken, kun je de Python-bibliotheek anthropic gebruiken en de methode messages.create aanroepen met de vereiste parameters. De belangrijkste parameters zijn het model, de berichten en diverse optionele instellingen om de output te sturen.
Vereiste parameters
Laten we de vereiste parameters bekijken:
model: Het te gebruiken model (bijv. "claude-3-5-sonnet-20240620").
messages: Een lijst met invoerberichten. Elk bericht moet een rol ("user" of "assistant") en content hebben.
Op het moment van schrijven zijn dit de modellen die beschikbaar zijn via de API van Anthropic:

Optionele parameters
Optionele parameters zijn onder andere:
max_tokens: Het maximumaantal tokens om te genereren.temperature: Bepaalt de mate van willekeur in het antwoord.stop_sequences: Aangepaste tekstreeksen waarbij het model stopt met genereren.stream: Of het antwoord stapsgewijs gestreamd moet worden.system:Een systeemprompt met context en instructies.tools: Definities van tools die het model kan gebruiken.top_k: Alleen sampelen uit de top K-opties voor elk volgend token. Gebruikt om "long tail"-antwoorden met lage waarschijnlijkheid te verwijderen.top_p: Gebruik nucleus sampling om minder waarschijnlijke opties af te kappen wanneer de cumulatieve waarschijnlijkheid een drempel bereikt.
Claude 3.5 Sonnet API: Use-cases
Nu we alle parameters begrijpen, bekijken we praktische use-cases van de Messages API met Python en de anthropic-bibliotheek:
Enkel bericht-verzoek
Zo kun je een enkel bericht-verzoek doen:
response = client.messages.create(
model="claude-3-5-sonnet-20240620",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello, world"}]
)
Gesprek met meerdere beurten
Laten we nu een gesprek met meerdere beurten starten:
response = client.messages.create(
model="claude-3-5-sonnet-20240620",
max_tokens=512,
messages=[
{"role": "user", "content": "Hello there."},
{"role": "assistant", "content": "Hi, I'm Claude. How can I help you?"},
{"role": "user", "content": "Can you explain LLMs in plain English?"}
]
)
Afbeeldingsinhoud toevoegen
Vanaf de Claude 3-modellen kun je afbeeldingsinhoud opnemen in je berichten.
response = client.messages.create(
model="claude-3-5-sonnet-20240620",
max_tokens=512,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "media_file"
}
},
{
"type": "text",
"text": "What is in this image?"
}
]
}
]
)
System prompts en stopsequenties gebruiken
Zo kun je system prompts en stopsequenties gebruiken:
response = client.messages.create(
model="claude-3-5-sonnet-20240620",
max_tokens=1024,
messages=[{"role": "user", "content": "Write a short story."}],
system="You are a creative writing assistant.",
stop_sequences=["The end."],
temperature=0.9
)
Tooldefinities
Je kunt tools definiëren die het model tijdens interacties kan gebruiken. Dit omvat het specificeren van de naam, beschrijving en inputschema van de tool.
# Define the request parameters
model = "claude-3-5-sonnet-20240620"
messages = [{"role": "user", "content": "What's the S&P 500 at today?"}]
tools = [
{
"name": "get_stock_price",
"description": "Get the current stock price for a given ticker symbol.",
"input_schema": {
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "The stock ticker symbol, e.g., AAPL for Apple Inc."
}
},
"required": ["ticker"]
}
}
]
# Create a message with the defined parameters
response = client.messages.create(
model=model,
messages=messages,
tools=tools
)
Conclusie
In deze gids hebben we behandeld hoe je verbinding maakt met de API van Anthropic om het Claude 3.5 Sonnet-model te gebruiken. We hebben kernaspecten besproken zoals setup, authenticatie en het gebruik van de Messages API voor uiteenlopende taken.
Of je nu een chatbot, een contentgenerator of een andere AI-gestuurde applicatie bouwt, Claude 3.5 Sonnet kan een goede keuze zijn.
Wil je meer leren over Claude Sonnet en hoe het zich verhoudt tot ChatGPT, bekijk dan de artikelen hieronder:
FAQs
Wat zijn de belangrijkste verschillen tussen de legacy Text Completions API en de nieuwere Messages API in de API van Anthropic?
De Text Completions API biedt basisfunctionaliteit voor tekstaanvulling, terwijl de Messages API meer geavanceerde functies heeft, zoals de mogelijkheid om gesprekken met meerdere beurten te voeren, afbeeldingen op te nemen en system prompts en tools te gebruiken. De Messages API is ontworpen voor meer interactieve en dynamische interacties, terwijl de Text Completions API een eenvoudiger hulpmiddel is voor basale tekstgeneratie. Anthropic raadt aan om voor nieuwe projecten de Messages API te gebruiken en bestaande projecten te migreren vanaf de Text Completions API.
Kan ik Artifacts rechtstreeks via de Claude 3.5 Sonnet API gebruiken?
Artifacts zijn op dit moment niet direct toegankelijk via de API. Je kunt met Artifacts werken via de webinterface op Claude.ai, die ondersteuning biedt voor het bewerken, refereren en downloaden van door Claude gegenereerde content. In de toekomst kan Anthropic mogelijk API-ondersteuning voor Artifacts toevoegen.
Ryan is lead data scientist en gespecialiseerd in het bouwen van AI-toepassingen met LLM’s. Hij is promovendus in Natural Language Processing en Knowledge Graphs aan Imperial College London, waar hij ook zijn master in Computer Science heeft behaald. Buiten data science om schrijft hij een wekelijkse Substack-nieuwsbrief, The Limitless Playbook, waarin hij één toepasbaar idee van ’s werelds beste denkers deelt en af en toe schrijft over kernconcepten in AI.



