Integra la API Claude de Anthropic en tus aplicaciones Delphi
sgcWebSockets delivers a production-ready Delphi component for the full Anthropic Claude API — from text generation and vision to tool use, extended thinking, and beyond.
Anthropic Claude is one of the most advanced AI model families available today, renowned for its exceptional reasoning, safety-first design, and versatile capabilities across text, code, vision, and structured data. For Delphi developers looking to harness these capabilities, sgcWebSockets provides TsgcHTTP_API_Anthropic — a comprehensive, native component that wraps the entire Anthropic API surface.
Ya sea que estés construyendo chatbots inteligentes, automatizando el análisis de documentos, orquestando pipelines complejos de herramientas o procesando miles de solicitudes en lote, este componente te da acceso directo a cada caracterÃstica de Claude mediante código Delphi limpio y con tipado seguro. Sin boilerplate REST. Sin lidiar con JSON. Simplemente coloca el componente, configura tu clave API y empieza a construir.
Cobertura completa de la API
Cada caracterÃstica principal de la API Claude de Anthropic está soportada de fábrica.
| Mensajes y streaming EnvÃa mensajes con system prompts, recibe respuestas sÃncronamente o en streaming en tiempo real vÃa Server-Sent Events. |
Visión Analiza imágenes en formatos JPEG, PNG, GIF y WebP. Claude describe, interpreta y razona sobre contenido visual. |
Tool Use Define herramientas personalizadas con JSON Schema y deja que Claude las invoque. Construye flujos agénticos con function calling. |
| Pensamiento extendido Habilita razonamiento paso a paso para tareas complejas. Ideal para matemáticas, análisis y resolución de problemas multietapa. |
Procesamiento de documentos EnvÃa documentos PDF y archivos de texto para análisis, resumen y respuesta a preguntas con soporte de citas. |
Salidas estructuradas Obliga a Claude a devolver JSON válido conforme a tu esquema. Respuestas garantizadas parseables y con tipado seguro. |
| Búsqueda web Deja que Claude busque en la web información en tiempo real durante las conversaciones usando herramientas integradas del lado del servidor. | Prompt caching Cachea system prompts, bloques de contenido y definiciones de herramientas. Reduce costes hasta un 90% en contexto repetido. | Lotes de mensajes Procesa miles de solicitudes de forma asÃncrona. Perfecto para generación masiva de contenido y pipelines de procesamiento de datos. |
| API de Files Sube, lista, descarga y gestiona archivos en los servidores de Anthropic. Referéncialos en múltiples conversaciones. | Conector MCP Conecta Claude con servidores externos Model Context Protocol. AmplÃa las capacidades con herramientas y servicios de terceros. | Conteo de tokens Cuenta tokens antes de enviar solicitudes. Estima costes con precisión y gestiona los presupuestos de la ventana de contexto. |
Primeros pasos
Integra Claude en tu proyecto Delphi en menos de un minuto. Coloca el componente, configura tu clave API y envÃa tu primer mensaje.
// 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;
Mensajes y streaming
La API Messages es la base de cada interacción con Claude. EnvÃa texto con system prompts opcionales y recibe respuestas sÃncronamente o en streaming en tiempo real.
System promptsControla el comportamiento de Claude proporcionando un system prompt que define el contexto, la personalidad o las restricciones de la conversación.
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 en tiempo real
Para interfaces de usuario responsivas, recibe la respuesta de Claude token a token usando Server-Sent Events. Asigna el manejador de evento OnHTTPAPISSE y llama a _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 tipada avanzada
For full control over request parameters — temperature, top-p, stop sequences, metadata — use the typed request and response classes.
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 — Image Understanding
Claude puede analizar y razonar sobre imágenes. EnvÃa fotografÃas, capturas, diagramas o gráficos y recibe descripciones detalladas, extracción de datos o Q&A visuales.
Los formatos soportados incluyen JPEG, PNG, GIF y WebP. Las imágenes se envÃan como bloques de contenido codificados en 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
Define herramientas personalizadas con JSON Schema y Claude decidirá cuándo y cómo invocarlas. Es la base para construir flujos agénticos multietapa.
El flujo de tool use sigue un patrón claro: define herramientas, envÃa una solicitud, detecta tool_use en la respuesta, ejecuta la función localmente y devuelve el resultado a Claude para la respuesta final.
// 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;
Procesamiento de documentos y citas
EnvÃa documentos PDF y archivos de texto a Claude para análisis, resumen y respuesta a preguntas. Habilita citas para recibir referencias verificables al material fuente.
// 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');
Citas
Habilita las citas en los bloques de contenido de documento para recibir referencias de fuente — incluyendo números de página, rangos de caracteres y texto citado — en la respuesta de 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;
Conector MCP
Connect Claude to external Model Context Protocol (MCP) servers to extend its capabilities with third-party tools and services — databases, CRMs, internal APIs, and more.
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');
Servidores MCP autenticados
Para servidores que requieren autenticación, la API tipada soporta tokens 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';
