API de Anthropic para Delphi

· Componentes

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 prompts

Controla 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';