Integra l'API Anthropic Claude nelle tue applicazioni Delphi
sgcWebSockets offre un componente Delphi pronto per la produzione per l'intera API Anthropic Claude: dalla generazione di testo e dalla visione all'uso di strumenti, all'extended thinking e oltre.
Anthropic Claude è una delle famiglie di modelli IA più avanzate oggi disponibili, rinomata per il suo ragionamento eccezionale, il design orientato alla sicurezza e le capacità versatili su testo, codice, visione e dati strutturati. Per gli sviluppatori Delphi che vogliono sfruttare queste capacità, sgcWebSockets fornisce TsgcHTTP_API_Anthropic: un componente nativo e completo che incapsula l'intera superficie dell'API Anthropic.
Che tu stia costruendo chatbot intelligenti, automatizzando l'analisi di documenti, orchestrando pipeline di tool complesse o elaborando migliaia di richieste in batch, questo componente ti dà accesso diretto a ogni funzionalità di Claude attraverso codice Delphi pulito e type-safe. Niente boilerplate REST. Niente JSON da gestire manualmente. Basta inserire il componente, impostare la tua API key e iniziare a costruire.
Copertura API completa
Ogni funzionalità principale dell'API Anthropic Claude è supportata pronta all'uso.
| Messaggi e streaming Invia messaggi con system prompt, ricevi risposte in modo sincrono o in streaming in tempo reale tramite Server-Sent Events. |
Vision Analizza immagini nei formati JPEG, PNG, GIF e WebP. Claude descrive, interpreta e ragiona sui contenuti visivi. |
Tool use Definisci tool personalizzati con JSON Schema e lascia che Claude li chiami. Costruisci workflow agentici con function calling. |
| Extended Thinking Abilita il ragionamento passo-passo per task complessi. Ideale per matematica, analisi e risoluzione di problemi multi-step. |
Elaborazione di documenti Invia documenti PDF e file di testo per analisi, sintesi e domande/risposte con supporto delle citazioni. |
Output strutturati Forza Claude a restituire JSON valido conforme al tuo schema. Risposte garantite parsabili e type-safe. |
| Web search Lascia che Claude cerchi sul web informazioni in tempo reale durante le conversazioni usando strumenti server-side integrati. | Prompt caching Memorizza in cache system prompt, content block e definizioni di tool. Riduci i costi fino al 90% sul contesto ripetuto. | Message Batches Elabora migliaia di richieste in modo asincrono. Perfetto per la generazione di contenuti in massa e per pipeline di elaborazione dati. |
| API Files Carica, elenca, scarica e gestisci file sui server di Anthropic. Riferisciti ad essi in più conversazioni. | MCP Connector Collega Claude a server Model Context Protocol esterni. Estendi le capacità con tool e servizi di terze parti. | Conteggio token Conta i token prima di inviare le richieste. Stima accuratamente i costi e gestisci i budget della context window. |
Per iniziare
Integra Claude nel tuo progetto Delphi in meno di un minuto. Inserisci il componente, configura la tua API key e invia il tuo primo messaggio.
// 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;
Messaggi e streaming
L'API Messages è il fondamento di ogni interazione con Claude. Invia testo con system prompt opzionali e ricevi risposte in modo sincrono o in streaming in tempo reale.
System promptControlla il comportamento di Claude fornendo un system prompt che imposta il contesto, la personalità o i vincoli della conversazione.
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."
Streaming in tempo reale
Per interfacce utente reattive, ricevi la risposta di Claude token per token via Server-Sent Events. Assegna il gestore di eventi OnHTTPAPISSE e chiama _CreateMessageStream.
// 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;
API tipizzata avanzata
Per il pieno controllo sui parametri della richiesta (temperature, top-p, stop sequence, metadata) usa le classi tipizzate di richiesta e risposta.
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: comprensione delle immagini
Claude può analizzare e ragionare sulle immagini. Invia fotografie, screenshot, diagrammi o grafici e ricevi descrizioni dettagliate, estrazione di dati o Q&A visivi.
I formati supportati includono JPEG, PNG, GIF e WebP. Le immagini vengono inviate come content block codificati in base64.
// 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
Definisci tool personalizzati con JSON Schema e Claude deciderà quando e come invocarli. Questo è il fondamento per costruire workflow agentici multi-step.
Il flusso di tool use segue uno schema chiaro: definisci i tool, invia una richiesta, rileva tool_use nella risposta, esegui la funzione localmente e restituisci il risultato a Claude per la risposta finale.
// 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;
Elaborazione di documenti e citazioni
Invia documenti PDF e file di testo a Claude per analisi, sintesi e domande/risposte. Abilita le citazioni per ricevere riferimenti verificabili al materiale di origine.
// 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');
Citazioni
Abilita le citazioni sui content block di tipo documento per ricevere riferimenti alla fonte (inclusi numeri di pagina, range di caratteri e testo citato) nella risposta di 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
Collega Claude a server Model Context Protocol (MCP) esterni per estenderne le capacità con tool e servizi di terze parti: database, CRM, API interne e altro.
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');
Server MCP autenticati
Per i server che richiedono autenticazione, l'API tipizzata supporta i token OAuth Bearer.
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';
