claude api integreren in je eigen applicatie
Claude Api Integreren In Je Eigen Applicatie
Claude API integreren in je eigen applicatie
Dit artikel legt uit hoe je de Claude API via de officiële Anthropic SDK in een applicatie koppelt, inclusief authenticatie, modelkeuze en foutafhandeling.
1. VEREISTEN
- Python 3.8+ en `pip` (of Node.js 18+ voor JavaScript/TypeScript) - API-sleutel uit de [Anthropic Console](https://console.anthropic.com) - Omgevingsvariabele `CLAUDE_API_KEY` ingesteld op je API-sleutel - Gebruik de Messages API, niet de verouderde Text Completions API.
2. STAPPEN
1. Installeer de Anthropic SDK
```bash pip install anthropic ```
Voor JavaScript/TypeScript:
```bash npm install @anthropic-ai/sdk ```
2. Initialiseer de client
De SDK leest automatisch `CLAUDE_API_KEY` uit de omgeving.
```python from anthropic import Anthropic
client = Anthropic() api_key wordt automatisch gelezen uit omgevingsvariabele ```
3. Stel de modelversie vast
Gebruik een exacte model-ID. Gebruik geen `"claude-latest"` – dat wijzigt onverwachts.
```python MODEL_ID = "claude-sonnet-4-20250514" of "claude-3-5-haiku-20241022" ```
4. Roep de API aan
Verplichte parameters: `model`, `max_tokens`, en `messages`.
```python message = client.messages.create( model=MODEL_ID, max_tokens=1024, messages=[ {"role": "user", "content": "Wat is de hoofdstad van Frankrijk?"} ] ) ```
5. Lees het antwoord uit
```python antwoord = message.content[0].text print(antwoord) ```
6. Voeg error handling en retries toe
Bouw retry-logica in met exponentiële backoff voor 429 (rate limit) en 500-serie fouten.
```python import time from anthropic import APIError, RateLimitError
for attempt in range(3): try: message = client.messages.create( model=MODEL_ID, max_tokens=1024, messages=[{"role": "user", "content": "Vraag"}] ) break except RateLimitError: time.sleep(2 attempt) except APIError as e: print(f"API error: {e}") break ```
7. (Optioneel) Bereken tokens vooraf
Gebruik de token counting API om kosten te beheren en contextlimieten te vermijden.
```python token_count = client.beta.messages.count_tokens( model=MODEL_ID, messages=[{"role": "user", "content": "Je prompt hier"}] ) print(token_count.input_tokens) ```
8. (Optioneel) Gebruik tools voor function calling
De correcte term is `tools`, niet `skills`.
```python tools = [ { "name": "get_weather", "description": "Haal het huidige weer voor een stad op", "input_schema": { "type": "object", "properties": {"location": {"type": "string"}}, "required": ["location"] } } ] ```
3. VERIFICATIE
Voer het script uit. Je ziet het antwoord van Claude verschijnen.
```bash python jouw_script.py ```
Als je de token counting API hebt gebruikt, verschijnt het aantal tokens in de console.
4. VEELGESTELDE PROBLEMEN
Probleem: `AuthenticationError` - Oorzaak: API-sleutel niet ingesteld of ongeldig. - Oplossing: Controleer of `CLAUDE_API_KEY` correct is ingesteld in je omgevingsvariabelen.
Probleem: `RateLimitError` - Oorzaak: Te veel verzoeken binnen korte tijd. - Oplossing: Voeg retry-logica toe met exponentiële backoff (zie stap 6).
Probleem: Model-ID werkt niet - Oorzaak: Je gebruikt een alias zoals `"claude-latest"` of een verouderde versie. - Oplossing: Gebruik exacte model-ID's uit de [Anthropic-documentatie](https://docs.anthropic.com/en/docs/models-overview).
Als je Claude via Microsoft Foundry ontsluit, vervang je de API-sleutel door Entra ID-authenticatie en gebruik je de Foundry-endpoint. Voor enterprise governance en gecentraliseerd beheer is dat de aangewezen route.