Integreer de Anthropic Claude-API in je Delphi-toepassingen
sgcWebSockets levert een productieklare Delphi-component voor de volledige Anthropic Claude-API — van tekstgeneratie en vision tot tool-use, extended thinking en meer.
Anthropic Claude is een van de meest geavanceerde AI-modelfamilies die vandaag beschikbaar zijn, bekend om zijn uitzonderlijke redeneervermogen, safety-first-design en veelzijdige mogelijkheden voor tekst, code, vision en gestructureerde data. Voor Delphi-ontwikkelaars die deze mogelijkheden willen benutten, biedt sgcWebSockets TsgcHTTP_API_Anthropic — een uitgebreide, native component die het gehele oppervlak van de Anthropic-API omvat.
Of je nu intelligente chatbots bouwt, documentanalyse automatiseert, complexe tool-pipelines orkestreert of duizenden requests in batch verwerkt: deze component geeft je directe toegang tot elke Claude-functie via heldere, type-veilige Delphi-code. Geen REST-boilerplate. Geen geworstel met JSON. Plaats gewoon de component, stel je API-sleutel in en begin met bouwen.
Volledige API-dekking
Elke belangrijke functie van de Anthropic Claude-API wordt out-of-the-box ondersteund.
| Messages en streaming Verstuur berichten met system-prompts, ontvang antwoorden synchroon of in realtime gestreamd via Server-Sent Gebeurtenissen. |
Vision Analyseer afbeeldingen in JPEG-, PNG-, GIF- en WebP-formaat. Claude beschrijft, interpreteert en redeneert over visuele inhoud. |
Tool use Definieer custom tools met JSON Schema en laat Claude ze aanroepen. Bouw agentic workflows met function calling. |
| Extended thinking Schakel stapsgewijs redeneren in voor complexe taken. Ideaal voor wiskunde, analyse en multi-step problem solving. |
Documentverwerking Verstuur PDF-documenten en tekstbestanden voor analyse, samenvatting en vraag-en-antwoord met citation-ondersteuning. |
Gestructureerde outputs Forceer Claude om geldige JSON terug te geven volgens jouw schema. Gegarandeerd parseerbare, type-veilige antwoorden. |
| Web search Laat Claude tijdens gesprekken het web doorzoeken naar realtime-informatie met behulp van ingebouwde server-side tools. | Prompt caching Cache system-prompts, content-blocks en tool-definities. Verlaag kosten met tot 90% op herhaalde context. | Message batches Verwerk asynchroon duizenden requests. Perfect voor bulk content-generatie en data processing-pipelines. |
| Files-API Upload, lijst op, download en beheer bestanden op de servers van Anthropic. Verwijs ernaar in meerdere gesprekken. | MCP-connector Verbind Claude met externe Model Context Protocol-servers. Breid mogelijkheden uit met tools en diensten van derden. | Token counting Tel tokens voordat je requests verstuurt. Schat nauwkeurig kosten in en beheer je context window-budget. |
Aan de slag
Integreer Claude binnen een minuut in je Delphi-project. Plaats de component, configureer je API-sleutel en verstuur je eerste bericht.
// Create the component and configure the API key
var
Anthropic: TsgcHTTP_API_Anthropic;
vResponse: string;
begin
Anthropic := TsgcHTTP_API_Anthropic.Create(nil);
Try
Anthropic.AnthropicOptions.ApiKey := 'YOUR_API_KEY';
// Send a simple message to Claude
vResponse := Anthropic._CreateMessage(
'claude-sonnet-4-20250514', 'Hello, Claude!');
ShowMessage(vResponse);
Finally
Anthropic.Free;
End;
end;
Messages en streaming
De Messages-API vormt de basis van elke Claude-interactie. Verstuur tekst met optionele system-prompts en ontvang antwoorden synchroon of in realtime gestreamd.
System-promptsStuur het gedrag van Claude door een system-prompt op te geven die de context, persoonlijkheid of beperkingen voor het gesprek vastlegt.
vResponse := Anthropic._CreateMessageWithSystem( 'claude-sonnet-4-20250514', 'You are a helpful assistant that responds in Spanish.', 'What is the capital of France?'); // Returns: "La capital de Francia es París."
Realtime streaming
Voor responsieve gebruikersinterfaces stream je het antwoord van Claude token-voor-token via Server-Sent Gebeurtenissen. Wijs de event-handler OnHTTPAPISSE toe en roep _CreateMessageStream aan.
// Enable streaming via SSE
Anthropic.OnHTTPAPISSE := OnSSEEvent;
Anthropic._CreateMessageStream('claude-sonnet-4-20250514',
'Tell me a story about a brave explorer.');
procedure TForm1.OnSSEEvent(Sender: TObject;
const aEvent, aData: string; var Cancel: Boolean);
begin
// aEvent: event type (e.g., content_block_delta)
// aData: JSON payload for this event
Memo1.Lines.Add(aData);
end;
Geavanceerde getypeerde API
Voor volledige controle over request-parameters — temperature, top-p, stop sequences, metadata — gebruik je de getypeerde request- en response-klassen.
var
oRequest: TsgcAnthropicClass_Request_Messages;
oMessage: TsgcAnthropicClass_Request_Message;
oResponse: TsgcAnthropicClass_Response_Messages;
begin
oRequest := TsgcAnthropicClass_Request_Messages.Create;
Try
oRequest.Model := 'claude-sonnet-4-20250514';
oRequest.MaxTokens := 1024;
oRequest.System := 'You are a helpful assistant.';
oRequest.Temperature := 0.7;
oMessage := TsgcAnthropicClass_Request_Message.Create;
oMessage.Role := 'user';
oMessage.Content := 'Explain quantum computing in simple terms.';
// ... add message to request, send, and process response
oResponse := Anthropic.CreateMessage(oRequest);
Try
if Length(oResponse.Content) > 0 then
ShowMessage(oResponse.Content[0].Text);
Finally
oResponse.Free;
End;
Finally
oMessage.Free;
oRequest.Free;
End;
end;
Vision — afbeeldingen begrijpen
Claude kan afbeeldingen analyseren en erover redeneren. Verstuur foto's, screenshots, diagrammen of grafieken en ontvang gedetailleerde beschrijvingen, data-extractie of visuele vraag-en-antwoord.
Ondersteunde formaten zijn onder andere JPEG, PNG, GIF en WebP. Afbeeldingen worden verzonden als base64-gecodeerde content-blocks.
// Load an image and ask Claude to describe it
var
vBase64: string;
begin
vBase64 := sgcBase64Encode(LoadFileToBytes('product-photo.png'));
ShowMessage(Anthropic._CreateVisionMessage(
'claude-sonnet-4-20250514',
'Describe this product image for an e-commerce listing.',
vBase64, 'image/png'));
end;
Tool use — function calling
Definieer custom tools met JSON Schema, en Claude bepaalt wanneer en hoe deze aan te roepen. Dit is de basis voor het bouwen van agentic, multi-step workflows.
De tool-use-flow volgt een duidelijk patroon: definieer tools, verstuur een request, detecteer tool_use in het antwoord, voer de functie lokaal uit en geef het resultaat terug aan Claude voor het uiteindelijke antwoord.
// Define a weather tool with JSON Schema input
oTool := TsgcAnthropicClass_Request_Tool.Create;
oTool.Name := 'get_weather';
oTool.Description := 'Get the current weather in a given location';
oTool.InputSchema :=
'{"type":"object","properties":{"location":{"type":"string",' +
'"description":"The city and state"}},"required":["location"]}';
// Send request with tools defined
oResponse := Anthropic.CreateMessage(oRequest);
// Check if Claude wants to call a tool
if oResponse.StopReason = 'tool_use' then
begin
for i := 0 to Length(oResponse.Content) - 1 do
begin
if oResponse.Content[i].ContentType = 'tool_use' then
begin
vToolUseId := oResponse.Content[i].Id;
vToolName := oResponse.Content[i].Name;
vToolInput := oResponse.Content[i].Input;
// Execute the tool and return the result to Claude
end;
end;
end;
Documentverwerking en citations
Verstuur PDF-documenten en tekstbestanden naar Claude voor analyse, samenvatting en vraag-en-antwoord. Schakel citations in om verifieerbare verwijzingen terug naar het bronmateriaal te ontvangen.
// Send a PDF and ask Claude to summarize it
vBase64 := sgcBase64Encode(LoadFileToBytes('annual-report.pdf'));
vResponse := Anthropic._CreateDocumentMessage(
'claude-sonnet-4-20250514',
'Summarize the key findings of this report.',
vBase64, 'application/pdf');
Citations
Schakel citations in op document-content-blocks om bronverwijzingen — inclusief paginanummers, tekenreeksen en geciteerde tekst — te ontvangen in het antwoord van Claude.
oDocBlock := TsgcAnthropicClass_Request_Content_Block.Create; oDocBlock.ContentType := 'document'; oDocBlock.SourceType := 'base64'; oDocBlock.MediaType := 'application/pdf'; oDocBlock.Data := vBase64; oDocBlock.Title := 'Annual Report'; oDocBlock.CitationsEnabled := True;
MCP-connector
Verbind Claude met externe Model Context Protocol (MCP)-servers om zijn mogelijkheden uit te breiden met tools en diensten van derden — databases, CRM's, interne API's en meer.
Anthropic.AnthropicOptions.BetaHeaders := 'mcp-client-2025-11-20'; // Connect to an MCP server with one method call vResponse := Anthropic._CreateMessageWithMCP( 'claude-sonnet-4-20250514', 'What tools are available?', 'https://my-mcp-server.example.com/sse', 'my-mcp-server');
Geauthenticeerde MCP-servers
Voor servers die authenticatie vereisen, ondersteunt de getypeerde API OAuth Bearer-tokens.
oServer := TsgcAnthropicClass_Request_MCPServer.Create; oServer.ServerType := 'url'; oServer.Url := 'https://my-mcp-server.example.com/sse'; oServer.Name := 'my-server'; oServer.AuthorizationToken := 'OAUTH_TOKEN'; oTool := TsgcAnthropicClass_Request_Tool.Create; oTool.ToolType := 'mcp_toolset'; oTool.MCPServerName := 'my-server';
