Anthropic Claude
Anthropic es una empresa de seguridad en IA que desarrolla sistemas de inteligencia artificial fiables, interpretables y controlables. Su familia de modelos principal es Claude, que destaca en el diálogo reflexivo, la creación de contenido, el razonamiento complejo, la programación y más.
La biblioteca sgcWebSockets proporciona un componente Delphi TsgcHTTP_API_Anthropic para interactuar con la API Anthropic Claude.
Anthropic API
La API de Anthropic proporciona acceso a los modelos Claude para crear aplicaciones con inteligencia artificial. La API admite generación de texto, visión (comprensión de imágenes), uso de herramientas (llamada a funciones), pensamiento extendido, procesamiento de documentos/PDF, caché de prompts, citas, búsqueda web, streaming, conteo de tokens y lotes de mensajes.
Características
Configuración
La API de Anthropic utiliza claves API para la autenticación. Visite su página de claves API en la consola de Anthropic para obtener la clave API que usará en sus solicitudes.
Recuerde que su clave API es confidencial. No la comparta con otras personas ni la exponga en código del lado del cliente.
Esta clave de API debe configurarse en la propiedad AnthropicOptions.ApiKey del componente. La propiedad AnthropicOptions.AnthropicVersion especifica la versión de la API (predeterminado: 2023-06-01).
Anthropic := TsgcHTTP_API_Anthropic.Create(nil);
Anthropic.AnthropicOptions.ApiKey := 'YOUR_API_KEY';
Propiedades
AnthropicOptions
- ApiKey: La clave de API para autenticarse con la API de Anthropic.
- AnthropicVersion: La cadena de versión de la API (por defecto: 2023-06-01).
- BetaHeaders: encabezados opcionales de funcionalidades beta para habilitar características API en versión preliminar (por ejemplo, files-api-2025-04-14, mcp-client-2025-11-20).
- HttpOptions: configuración de conexión HTTP.
- ReadTimeout: Tiempo de espera en milisegundos para leer respuestas HTTP. El valor predeterminado es 0 (sin tiempo de espera).
- LogOptions: Configuración de registro.
- Enabled: Cuando es True, las solicitudes y respuestas HTTP se registran en un archivo.
- FileName: La ruta del archivo donde se escribe la salida del registro.
- RetryOptions: Configuración de reintentos automáticos para solicitudes de API fallidas.
- Enabled: Cuando es True, las solicitudes fallidas se reintentan automáticamente.
- Retries: Número máximo de intentos de reintento.
- Wait: Tiempo de espera en milisegundos entre intentos de reintento.
Mensajes
Envíe una lista estructurada de mensajes de entrada con contenido de texto y/o imagen, y el modelo generará el siguiente mensaje en la conversación.
- CreateMessage: Crea un mensaje con el modelo y los parámetros especificados.
- Model: El modelo a utilizar (p. ej. claude-sonnet-4-20250514).
- Message: El contenido del mensaje del usuario.
- MaxTokens: El número máximo de tokens a generar (obligatorio, valor predeterminado 4096).
- CreateMessageWithSystem: Crea un mensaje con un prompt de sistema.
- System: Prompt de sistema que establece el comportamiento del asistente.
- CreateMessageStream: crea un mensaje con streaming (SSE) habilitado. Los eventos se entregan a través del controlador de eventos OnHTTPAPISSE.
- CreateMessageJSON: Crea un mensaje que devuelve JSON estructurado conforme a un JSON Schema proporcionado.
- Schema: Una cadena JSON Schema que define el formato de salida.
- CreateMessageWithThinking: Crea un mensaje con el pensamiento extendido habilitado.
- BudgetTokens: Presupuesto máximo de tokens para el pensamiento (mínimo 1024).
- CreateDocumentMessage: Crea un mensaje con un documento en base64 (PDF o texto).
- DocumentBase64: Los datos del documento codificados en base64.
- MediaType: El tipo MIME (p. ej. application/pdf).
Visión
Claude puede entender imágenes enviadas como bloques de contenido codificados en base64 dentro de los mensajes.
- CreateVisionMessage: Envía una imagen con un prompt de texto.
- ImageBase64: Los datos de la imagen codificados en base64.
- MediaType: El tipo MIME (image/jpeg, image/png, image/gif, image/webp).
- Prompt: El prompt de texto que acompaña a la imagen.
Uso de herramientas
Claude puede usar herramientas (llamadas a funciones) para interactuar con sistemas externos. Usted define las herramientas con sus nombres, descripciones y esquemas de entrada, y Claude generará bloques de contenido tool_use cuando desee llamar a una herramienta.
Modelos
Listar y describir los modelos Claude disponibles.
- GetModels: Lista todos los modelos disponibles.
- GetModel: Recupera información sobre un modelo específico.
- ModelId: El ID del modelo a recuperar.
Pensamiento Extendido
El pensamiento extendido permite a Claude razonar paso a paso antes de responder, mejorando la calidad en tareas complejas como matemáticas, codificación y análisis.
- ThinkingType: Establezca 'enabled' para activar el pensamiento, 'disabled' para desactivarlo.
- ThinkingBudgetTokens: Presupuesto de tokens para el razonamiento (mínimo 1024, debe ser menor que MaxTokens).
- CreateMessageWithAdaptiveThinking: Crea un mensaje con pensamiento adaptativo, permitiendo que Claude decida automáticamente la profundidad del razonamiento.
Documentos
Claude puede procesar documentos PDF y archivos de texto enviados como bloques de contenido. Admite tipos de origen base64, texto y URL.
- CreateDocumentMessage: envía un documento con un texto de solicitud.
- DocumentBase64: los datos del documento codificados en base64.
- MediaType: el tipo MIME (application/pdf, text/plain).
Prompt Caching
Almacene en caché el contexto de uso frecuente (prompts del sistema, bloques de contenido, definiciones de herramientas) entre llamadas a la API para reducir los costes hasta un 90% en lecturas de caché.
- SystemCacheControl: Establezca en True en la solicitud para cachear el prompt del sistema.
- CacheControl: Establézcalo en 'ephemeral' en bloques de contenido o definiciones de herramientas.
- BetaHeaders: Cabeceras opcionales de características beta en AnthropicOptions.
Citas
Cuando los documentos se envían con las citas habilitadas, Claude incluye referencias a las fuentes en su respuesta. Los tipos de cita incluyen char_location (texto), page_location (PDF), content_block_location (contenido personalizado) y web_search_result_location (búsqueda web).
Búsqueda web
Claude puede buscar información en tiempo real en la web utilizando la herramienta integrada web_search. Otras herramientas integradas incluyen code_execution y uso del ordenador.
- CreateMessageWithWebSearch: Crea un mensaje con búsqueda web habilitada.
- Model: El modelo a utilizar.
- Message: La consulta del usuario.
Conteo de tokens
Cuenta el número de tokens en un mensaje antes de enviarlo.
- CountTokens: Cuenta el número de tokens de entrada para un mensaje.
- Model: El modelo a usar para el conteo de tokens.
- Message: El contenido del mensaje para el que se cuentan los tokens.
Lotes de mensajes
La API de lotes de mensajes le permite procesar grandes volúmenes de mensajes de forma asíncrona.
- ListBatches: Lista todos los lotes de mensajes.
- GetBatch: Recupera un lote específico por ID.
- CancelBatch: Cancela un lote que todavía está en proceso.
- GetBatchResults: Recupera los resultados de un lote completado.
Structured Outputs
Fuerza a Claude a devolver JSON válido conforme a un esquema JSON proporcionado. Combínelo con el parámetro Effort para controlar la calidad de la salida frente al coste.
- CreateMessageJSON: Crea un mensaje con salida de esquema JSON.
- Schema: Una cadena de esquema JSON que define el formato de salida.
- OutputFormatSchema: (propiedad de solicitud) esquema JSON para salida estructurada.
- Effort: (propiedad de Request) Controla la calidad frente al coste: 'low', 'medium', 'high', 'max'.
- Strict: (Propiedad de herramienta) Cuando es True, se garantiza que las entradas de la herramienta coinciden con el input_schema.
Files API
Subir, listar, recuperar, descargar y eliminar archivos. Los archivos subidos pueden referenciarse en los mensajes mediante bloques de contenido de documento con tipo de fuente de archivo. Requiere el encabezado beta files-api-2025-04-14.
- UploadFile: Sube un archivo local. Devuelve metadatos del archivo.
- ListFiles: Lista los archivos subidos con paginación.
- GetFile: Recupera los metadatos de un archivo específico.
- DownloadFile: Descarga el contenido de un archivo.
- DeleteFile: Elimina un archivo de forma permanente.
Parámetros de solicitud
Parámetros de solicitud adicionales disponibles en la API de Messages.
- ServiceTier: Controla el uso del nivel de prioridad: 'auto' (predeterminado) o 'standard_only'.
- InferenceGeo: Controla la geografía de inferencia: 'global' (predeterminado) o 'us'.
- Container: ID de contenedor para reutilizar entornos de ejecución de código entre solicitudes.
- IsError: (Propiedad del bloque de contenido) Establecer True en bloques tool_result para indicar un fallo en la ejecución de la herramienta.
- CacheTTL: Tiempo de vida extendido de caché: '5m' (predeterminado) o '1h'.
- ThinkingType: Establezca en 'adaptive' para que Claude decida automáticamente la profundidad de razonamiento.
MCP Connector
Conecte Claude a servidores MCP (Model Context Protocol) externos para acceder a herramientas de terceros. Requiere el encabezado beta mcp-client-2025-11-20.
- CreateMessageWithMCP: Crea un mensaje con una conexión al servidor MCP.
- MCPServerUrl: URL HTTPS del servidor MCP.
- MCPServerName: Nombre único para el servidor.
- MCPServers: (propiedad Request) Array de definiciones de servidor MCP con ServerType, Url, Name, AuthorizationToken.
- MCPServerName: (propiedad Tool) hace referencia a un servidor MCP cuando ToolType es «mcp_toolset».