Anthropic Claude
Anthropic is een AI-veiligheidsbedrijf dat betrouwbare, interpreteerbare en stuurbare AI-systemen bouwt. Hun vlaggenschipmodelfamilie is Claude, die uitblinkt in doordachte dialogen, het maken van inhoud, complexe redenering, coderen en meer.
De sgcWebSockets-bibliotheek biedt een Delphi-component TsgcHTTP_API_Anthropic om met de Anthropic Claude API te communiceren.
Anthropic API
De Anthropic API biedt toegang tot Claude-modellen voor het bouwen van AI-applicaties. De API ondersteunt tekstgeneratie, vision (beeldverstaan), gebruik van tools (functieaanroepen), uitgebreid denken, document-/PDF-verwerking, promptcaching, citaten, webzoeken, streaming, tokentelling en berichtbatches.
Functies
Configuratie
De Anthropic API gebruikt API-sleutels voor authenticatie. Bezoek uw API-sleutels-pagina in de Anthropic Console om de API-sleutel op te halen die u in uw verzoeken gebruikt.
Onthoud dat uw API-sleutel geheim is! Deel het niet met anderen of stel het niet bloot in client-side code.
Deze API-sleutel moet worden geconfigureerd in de eigenschap AnthropicOptions.ApiKey van het component. De eigenschap AnthropicOptions.AnthropicVersion geeft de API-versie aan (standaard: 2023-06-01).
Anthropic := TsgcHTTP_API_Anthropic.Create(nil);
Anthropic.AnthropicOptions.ApiKey := 'YOUR_API_KEY';
Eigenschappen
AnthropicOptions
- ApiKey: De API-sleutel voor authenticatie bij de Anthropic API.
- AnthropicVersion: De API-versietekenreeks (standaard: 2023-06-01).
- BetaHeaders: Optionele bèta-functie-headers om pre-release API-functies in te schakelen (bijv. files-api-2025-04-14, mcp-client-2025-11-20).
- HttpOptions: HTTP-verbindingsinstellingen.
- ReadTimeout: Time-out in milliseconden voor het lezen van HTTP-responsen. Standaard is 0 (geen time-out).
- LogOptions: Logconfiguratie.
- Enabled: Wanneer True worden HTTP-verzoeken en -antwoorden naar een bestand gelogd.
- FileName: Het bestandspad waar de loguitvoer naartoe wordt geschreven.
- RetryOptions: Automatische herpoging configuratie voor mislukte API-verzoeken.
- Enabled: Als True, worden mislukte verzoeken automatisch opnieuw geprobeerd.
- Retries: Maximum aantal herpogingen.
- Wait: Wachttijd in milliseconden tussen herpogingen.
Berichten
Stuur een gestructureerde lijst van invoerberichten met tekst- en/of afbeeldingsinhoud, en het model zal het volgende bericht in het gesprek genereren.
- CreateMessage: Maakt een bericht aan met het opgegeven model en parameters.
- Model: Het te gebruiken model (bijv. claude-sonnet-4-20250514).
- Message: De inhoud van het gebruikersbericht.
- MaxTokens: Het maximale aantal te genereren tokens (vereist, standaard 4096).
- CreateMessageWithSystem: Creëert een bericht met een system prompt.
- System: System prompt die het gedrag van de assistant bepaalt.
- CreateMessageStream: Maakt een bericht aan met streaming (SSE) ingeschakeld. Gebeurtenissen worden afgeleverd via de OnHTTPAPISSE-gebeurtenishandler.
- CreateMessageJSON: Maakt een bericht aan dat gestructureerde JSON retourneert conform een opgegeven JSON-schema.
- Schema: Een JSON-schemastring die het uitvoerformaat definieert.
- CreateMessageWithThinking: Maakt een bericht aan met uitgebreid denken ingeschakeld.
- BudgetTokens: Maximaal tokenbudget voor denken (minimaal 1024).
- CreateDocumentMessage: Maakt een bericht aan met een base64-document (PDF of tekst).
- DocumentBase64: De base64-gecodeerde documentgegevens.
- MediaType: Het MIME-type (bijv. application/pdf).
Visie
Claude kan afbeeldingen begrijpen die als base64-gecodeerde inhoudsblokken in berichten zijn opgenomen.
- CreateVisionMessage: Stuurt een afbeelding met een tekstprompt.
- ImageBase64: De base64-gecodeerde afbeeldingsgegevens.
- MediaType: Het MIME-type (image/jpeg, image/png, image/gif, image/webp).
- Prompt: De tekstprompt die bij de afbeelding hoort.
Tool gebruiken
Claude kan tools gebruiken (function calling) om te interageren met externe systemen. U definieert tools met hun namen, beschrijvingen en invoerschema's, en Claude genereert tool_use-inhoudsblokken wanneer het een tool wil aanroepen.
Modellen
Geef een lijst van en beschrijf de beschikbare Claude-modellen.
- GetModels: Geeft een lijst van alle beschikbare modellen.
- GetModel: Haalt informatie op over een specifiek model.
- ModelId: De id van het op te halen model.
Uitgebreid denken
Extended thinking stelt Claude in staat om stap voor stap te redeneren voordat er wordt geantwoord, wat de kwaliteit verbetert voor complexe taken zoals wiskunde, programmeren en analyse.
- ThinkingType: Stel in op 'enabled' om denken te activeren, 'disabled' om het uit te schakelen.
- ThinkingBudgetTokens: Tokenbudget voor denken (min. 1024, moet kleiner zijn dan MaxTokens).
- CreateMessageWithAdaptiveThinking: Maakt een bericht aan met adaptief denken, waardoor Claude de denkdiepte automatisch kan bepalen.
Documenten
Claude kan PDF-documenten en tekstbestanden verwerken die als inhoudsblokken zijn verzonden. Ondersteunt base64-, tekst- en URL-brontypen.
- CreateDocumentMessage: Stuurt een document met een tekstprompt.
- DocumentBase64: De base64-gecodeerde documentgegevens.
- MediaType: Het MIME-type (application/pdf, text/plain).
Prompt-caching
Sla veelgebruikte context (systeemprompts, inhoudsblokken, tooldefinities) op in de cache tussen API-aanroepen door om kosten te verlagen met tot 90% op cache-reads.
- SystemCacheControl: Stel dit in op True bij het verzoek om de systeemprompt te cachen.
- CacheControl: Stel in op 'ephemeral' voor inhoudsblokken of tooldefinities.
- BetaHeaders: Optionele bèta-functieheaders in AnthropicOptions.
Citaties
Wanneer documenten worden verzonden met citaten ingeschakeld, bevat Claude bronreferenties in zijn antwoord. Citatietypen zijn onder andere char_location (tekst), page_location (PDF), content_block_location (aangepaste inhoud) en web_search_result_location (webzoekopdracht).
Webzoeken
Claude kan op het web zoeken naar realtime informatie met behulp van de ingebouwde web_search-tool. Andere ingebouwde tools zijn code_execution en computer use.
- CreateMessageWithWebSearch: Maakt een bericht aan met webzoeken ingeschakeld.
- Model: Het te gebruiken model.
- Message: De gebruikersquery.
Tokens tellen
Tel het aantal tokens in een bericht vóórdat u het verzendt.
- CountTokens: Telt het aantal invoertokens voor een bericht.
- Model: Het te gebruiken model voor het tellen van tokens.
- Message: De berichtinhoud waarvoor tokens worden geteld.
Berichtbatches
De Message Batches API stelt u in staat grote hoeveelheden berichten asynchroon te verwerken.
- ListBatches: Geeft een lijst van alle berichtbatches weer.
- GetBatch: Haalt een specifieke batch op aan de hand van de ID.
- CancelBatch: Cancels a batch that is still processing.
- GetBatchResults: Haalt de resultaten op van een voltooide batch.
Gestructureerde uitvoer
Dwingt Claude geldige JSON te retourneren die voldoet aan een opgegeven JSON Schema. Combineer met de Effort-parameter om de uitvoerkwaliteit versus kosten te regelen.
- CreateMessageJSON: Maakt een bericht aan met JSON-schema-uitvoer.
- Schema: Een JSON-schema-tekenreeks die het uitvoerformaat definieert.
- OutputFormatSchema: (Verzoek-eigenschap) JSON Schema voor gestructureerde uitvoer.
- Effort: (aanvraageigenschap) Beheert kwaliteit versus kosten: 'low', 'medium', 'high', 'max'.
- Strict: (Tool-eigenschap) Wanneer True, wordt gegarandeerd dat tool-invoer overeenkomt met het input_schema.
Files API
Bestanden uploaden, weergeven, ophalen, downloaden en verwijderen. Geüploade bestanden kunnen worden verwezen in berichten via documentinhoudsblokken met bestandsbrontype. Vereist betaheader files-api-2025-04-14.
- UploadFile: Uploadt een lokaal bestand. Retourneert bestandsmetadata.
- ListFiles: Geeft een lijst van geüploade bestanden met paginering.
- GetFile: Retrieves metadata for a specific file.
- DownloadFile: Downloadt bestandsinhoud.
- DeleteFile: Verwijdert een bestand permanent.
Verzoekparameters
Aanvullende verzoekparameters beschikbaar op de Messages API.
- ServiceTier: Beheert gebruik van prioriteitstier: 'auto' (standaard) of 'standard_only'.
- InferenceGeo: Beheert inferentiegeografie: 'global' (standaard) of 'us'.
- Container: Container-ID voor het hergebruiken van code-uitvoeringsomgevingen bij meerdere verzoeken.
- IsError: (Content block property) Set True on tool_result blocks to indicate tool execution failure.
- CacheTTL: Uitgebreide cache-levensduur: '5m' (standaard) of '1h'.
- ThinkingType: Stel in op 'adaptive' om Claude de diepte van het denken automatisch te laten bepalen.
MCP-connector
Verbindt Claude met externe MCP (Model Context Protocol)-servers voor toegang tot tools van derden. Vereist de beta-header mcp-client-2025-11-20.
- CreateMessageWithMCP: Maakt een bericht aan met een MCP-serververbinding.
- MCPServerUrl: HTTPS-URL van de MCP-server.
- MCPServerName: Unieke naam voor de server.
- MCPServers: (Verzoek-eigenschap) Array van MCP-serverdefinities met ServerType, Url, Name, AuthorizationToken.
- MCPServerName: (Tool-eigenschap) Verwijst naar een MCP-server wanneer ToolType 'mcp_toolset' is.