Claude API integreren in uw eigen applicatie
Claude API integreren in uw eigen applicatie
Dit artikel legt uit hoe u de Claude API van Anthropic in uw eigen applicatie integreert, inclusief authenticatie, request handling en error handling. Gericht op ontwikkelaars die werken met Python 3.9+ of Node.js 18+.
Vereisten
- Een Anthropic account met API-toegang. Ga naar [console.anthropic.com](https://console.anthropic.com) om uw API-sleutel aan te maken. - Python 3.9 of hoger, of Node.js 18 of hoger. - De `anthropic` SDK. Installeer deze met pip of npm. - Basiskennis van REST-API's en JSON.
Stappen
1. Installeer de Anthropic SDK
Voor Python:
pip install anthropic==0.40.0
Voor Node.js:
npm install @anthropic-ai/sdk@0.32.1
De SDK-versie is belangrijk. Controleer de [Anthropic changelog](https://github.com/anthropics/anthropic-sdk-python/releases) voor de recentste versie.
2. Stel uw API-sleutel in als omgevingsvariabele
Sla uw API-sleutel niet op in code. Gebruik een omgevingsvariabele.
export ANTHROPIC_API_KEY="sk-ant-..."
Op Windows (PowerShell):
$env:ANTHROPIC_API_KEY="sk-ant-..."
3. Initialiseer de client
Python:
from anthropic import Anthropic</p><p>client = Anthropic()
De client leest automatisch de `ANTHROPIC_API_KEY` omgevingsvariabele. U kunt de sleutel ook expliciet meegeven:
client = Anthropic(api_key="sk-ant-...")
Node.js:
const Anthropic = require('@anthropic-ai/sdk');
const client = new Anthropic();4. Maak uw eerste API-call
Python:
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
messages=[
{"role": "user", "content": "Leg in één zin uit wat een API is."}
]
)</p><p>print(response.content[0].text)Node.js:
async function main() {
const response = await client.messages.create({
model: "claude-3-5-sonnet-20241022",
max_tokens: 1024,
messages: [
{ role: "user", content: "Leg in één zin uit wat een API is." }
]
});
console.log(response.content[0].text);
}</p><p>main();5. Voeg system prompts en parameters toe
U kunt het gedrag van het model sturen met een `system` prompt en parameters zoals `temperature`.
Python:
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
temperature=0.7,
system="U bent een behulpzame assistent die altijd in het Nederlands antwoordt.",
messages=[
{"role": "user", "content": "Wat is de hoofdstad van Frankrijk?"}
]
)6. Verwerk streaming responses
Voor lange responses gebruikt u streaming. Dit geeft een betere user experience.
Python:
with client.messages.stream(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
messages=[
{"role": "user", "content": "Schrijf een kort gedicht over de zee."}
]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)7. Implementeer error handling
De SDK gooit exceptions bij fouten. Vang ze af en log ze.
Python:
from anthropic import APIError, APIStatusError, APIConnectionError</p><p>try:
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
messages=[{"role": "user", "content": "Hallo"}]
)
except APIConnectionError as e:
print("Server could not be reached")
print(e.__cause__)
except APIStatusError as e:
print("Status code:", e.status_code)
print("Response:", e.response)
except APIError as e:
print("API error:", e)8. Beheer rate limits
Anthropic hanteert rate limits per account. De SDK retry automatisch bij rate limiet-fouten, maar u kunt het aantal retries configureren.
Python:
from anthropic import Anthropic</p><p>client = Anthropic(
max_retries=3, standaard is 2
timeout=60.0, time-out in seconden
)Verificatie
Controleer of uw integratie werkt met een minimale test. De response moet een `content` array bevatten met een `text` veld.
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=10,
messages=[{"role": "user", "content": "Zeg 'ok'"}]
)</p><p>assert response.content[0].text == "ok"
print("API-integratie werkt correct")U kunt ook de response inspecteren:
print(response.model) claude-3-5-sonnet-20241022
print(response.stop_reason) end_turn
print(response.usage) input_tokens en output_tokensVeelgestelde problemen
1. AuthenticationError: invalid x-api-key
Uw API-sleutel is onjuist of niet ingesteld. Controleer of de omgevingsvariabele correct is:
echo $ANTHROPIC_API_KEY
Als de sleutel leeg is, stel hem opnieuw in. Controleer ook of uw sleutel nog actief is in de Anthropic console.
2. Model niet gevonden
U gebruikt een modelnaam die niet bestaat of niet beschikbaar is voor uw account. Controleer de beschikbare modellen in de [Anthropic docs](https://docs.anthropic.com/en/docs/about-claude/models). De modelnaam moet exact overeenkomen, inclusief de datum suffix.
3. Rate limiet-fouten (429)
U overschrijdt het aantal requests per minuut. Verhoog het aantal retries in de clientconfiguratie:
client = Anthropic(max_retries=5)
Overweeg ook om requests te batchen of een wachtrij te implementeren voor productieomgevingen.
De integratie is nu compleet. U beschikt over een werkende verbinding met de Claude API, inclusief streaming, error handling en rate limit management. De volgende stap is het bouwen van een robuuste applicatielaag die deze API-calls verwerkt — maar die keuzes hangen af van uw specifieke use case en architectuur.