Anthropic Claude
Anthropic ist ein Unternehmen für KI-Sicherheit, das zuverlässige, interpretierbare und steuerbare KI-Systeme entwickelt. Ihre Flaggschiff-Modellfamilie ist Claude, die sich durch durchdachten Dialog, Inhaltserstellung, komplexes Schlussfolgern, Codierung und mehr auszeichnet.
Die sgcWebSockets-Bibliothek stellt eine Delphi-Komponente TsgcHTTP_API_Anthropic bereit, um mit der Anthropic Claude API zu interagieren.
Anthropic API
Die Anthropic API bietet Zugriff auf Claude-Modelle zum Erstellen KI-gestützter Anwendungen. Die API unterstützt Textgenerierung, Vision (Bildverständnis), Tool-Nutzung (Function Calling), Extended Thinking, Dokument-/PDF-Verarbeitung, Prompt Caching, Citations, Websuche, Streaming, Token-Zählung und Nachrichten-Batches.
Features
Konfiguration
Die Anthropic-API verwendet API-Schlüssel zur Authentifizierung. Besuchen Sie Ihre Seite API Keys in der Anthropic Console, um den API-Schlüssel abzurufen, den Sie in Ihren Anfragen verwenden.
Denken Sie daran, dass Ihr API Key ein Geheimnis ist! Geben Sie ihn nicht an andere weiter und legen Sie ihn nicht in clientseitigem Code offen.
Dieser API Key muss in der Eigenschaft AnthropicOptions.ApiKey der Komponente konfiguriert werden. Die Eigenschaft AnthropicOptions.AnthropicVersion gibt die API-Version an (Standard: 2023-06-01).
Anthropic := TsgcHTTP_API_Anthropic.Create(nil);
Anthropic.AnthropicOptions.ApiKey := 'YOUR_API_KEY';
Properties
AnthropicOptions
- ApiKey: Der API-Schlüssel für die Authentifizierung bei der Anthropic-API.
- AnthropicVersion: Die API-Versionszeichenkette (Standard: 2023-06-01).
- BetaHeaders: Optionale Beta-Feature-Header, um Vorab-API-Funktionen zu aktivieren (z. B. files-api-2025-04-14, mcp-client-2025-11-20).
- HttpOptions: HTTP-Verbindungseinstellungen.
- ReadTimeout: Timeout in Millisekunden für das Lesen von HTTP-Antworten. Standard ist 0 (kein Timeout).
- LogOptions: Konfiguration der Protokollierung.
- Enabled: Wenn True, werden HTTP-Anfragen und -Antworten in eine Datei protokolliert.
- FileName: Der Dateipfad, in den die Protokollausgabe geschrieben wird.
- RetryOptions: Konfiguration für automatische Wiederholungsversuche fehlgeschlagener API-Anfragen.
- Enabled: Wenn True, werden fehlgeschlagene Anfragen automatisch wiederholt.
- Retries: Maximale Anzahl der Wiederholungsversuche.
- Wait: Wartezeit in Millisekunden zwischen den Wiederholungsversuchen.
Messages
Senden Sie eine strukturierte Liste von Eingabenachrichten mit Text- und/oder Bildinhalt, und das Modell generiert die nächste Nachricht im Gespräch.
- CreateMessage: Erstellt eine Nachricht mit dem angegebenen Modell und den angegebenen Parametern.
- Model: Das zu verwendende Modell (z. B. claude-sonnet-4-20250514).
- Message: Der Inhalt der Benutzernachricht.
- MaxTokens: Die maximale Anzahl der zu generierenden Tokens (erforderlich, Standard 4096).
- CreateMessageWithSystem: Erstellt eine Nachricht mit einem System-Prompt.
- System: System-Prompt, der das Verhalten des Assistenten festlegt.
- CreateMessageStream: Erstellt eine Nachricht mit aktiviertem Streaming (SSE). Ereignisse werden über den OnHTTPAPISSE-Ereignishandler zugestellt.
- CreateMessageJSON: Erstellt eine Nachricht, die strukturiertes JSON gemäß einem bereitgestellten JSON-Schema zurückgibt.
- Schema: Eine JSON-Schema-Zeichenfolge, die das Ausgabeformat definiert.
- CreateMessageWithThinking: Erstellt eine Nachricht mit aktiviertem erweitertem Denken.
- BudgetTokens: Maximales Token-Budget für das Denken (Minimum 1024).
- CreateDocumentMessage: Erstellt eine Nachricht mit einem base64-Dokument (PDF oder Text).
- DocumentBase64: Die base64-codierten Dokumentdaten.
- MediaType: Der MIME-Typ (z. B. application/pdf).
Vision
Claude kann Bilder verstehen, die als base64-codierte Inhaltsblöcke in Nachrichten übergeben werden.
- CreateVisionMessage: Sendet ein Bild mit einem Text-Prompt.
- ImageBase64: Die base64-codierten Bilddaten.
- MediaType: Der MIME-Typ (image/jpeg, image/png, image/gif, image/webp).
- Prompt: Der Text-Prompt, der das Bild begleitet.
Tool Use
Claude kann Werkzeuge (Function Calling) verwenden, um mit externen Systemen zu interagieren. Sie definieren Werkzeuge mit ihren Namen, Beschreibungen und Eingabeschemata, und Claude generiert tool_use-Inhaltsblöcke, wenn es ein Werkzeug aufrufen möchte.
Models
Listet die verfügbaren Claude-Modelle auf und beschreibt sie.
- GetModels: Listet alle verfügbaren Modelle auf.
- GetModel: Ruft Informationen über ein bestimmtes Modell ab.
- ModelId: Die ID des abzurufenden Modells.
Extended Thinking
Extended Thinking ermöglicht es Claude, Schritt für Schritt zu schlussfolgern, bevor es antwortet, was die Qualität für komplexe Aufgaben wie Mathematik, Programmierung und Analyse verbessert.
- ThinkingType: Setzen Sie auf 'enabled', um das Denken zu aktivieren, 'disabled', um es auszuschalten.
- ThinkingBudgetTokens: Token-Budget für das Denken (mindestens 1024, muss kleiner als MaxTokens sein).
- CreateMessageWithAdaptiveThinking: Erstellt eine Nachricht mit adaptivem Thinking und überlässt es Claude, die Thinking-Tiefe automatisch zu bestimmen.
Documents
Claude kann PDF-Dokumente und Textdateien verarbeiten, die als Content-Blöcke gesendet werden. Unterstützt die Quelltypen base64, text und URL.
- CreateDocumentMessage: Sendet ein Dokument mit einem Text-Prompt.
- DocumentBase64: Die base64-codierten Dokumentdaten.
- MediaType: Der MIME-Typ (application/pdf, text/plain).
Prompt Caching
Zwischenspeichern von häufig verwendetem Kontext (System-Prompts, Inhaltsblöcke, Tool-Definitionen) zwischen API-Aufrufen, um die Kosten bei Cache-Lesevorgängen um bis zu 90 % zu senken.
- SystemCacheControl: Setzen Sie dies in der Anfrage auf True, um den System-Prompt zwischenzuspeichern.
- CacheControl: Auf 'ephemeral' bei Content-Blocks oder Tool-Definitionen setzen.
- BetaHeaders: Optionale Beta-Feature-Header in AnthropicOptions.
Citations
Wenn Dokumente mit aktivierten Zitaten gesendet werden, fügt Claude Quellenverweise in seine Antwort ein. Zu den Zitattypen gehören char_location (Text), page_location (PDF), content_block_location (benutzerdefinierter Inhalt) und web_search_result_location (Websuche).
Web Search
Claude kann das Web nach Echtzeitinformationen durchsuchen, indem es das integrierte web_search-Tool verwendet. Weitere integrierte Tools umfassen code_execution und Computer Use.
- CreateMessageWithWebSearch: Erstellt eine Nachricht mit aktivierter Websuche.
- Model: Das zu verwendende Modell.
- Message: Die Benutzerabfrage.
Token Counting
Zählen Sie die Anzahl der Tokens in einer Nachricht, bevor Sie sie senden.
- CountTokens: Zählt die Anzahl der Eingabe-Token für eine Nachricht.
- Model: Das für die Token-Zählung zu verwendende Modell.
- Message: Der Nachrichteninhalt, für den Token gezählt werden sollen.
Message Batches
Die Message Batches API ermöglicht Ihnen, große Mengen von Nachrichten asynchron zu verarbeiten.
- ListBatches: Listet alle Nachrichten-Batches auf.
- GetBatch: Ruft einen bestimmten Batch anhand der ID ab.
- CancelBatch: Storniert einen Batch, der noch verarbeitet wird.
- GetBatchResults: Ruft die Ergebnisse eines abgeschlossenen Batches ab.
Structured Outputs
Zwingt Claude, gültiges JSON zurückzugeben, das einem bereitgestellten JSON Schema entspricht. Kombinieren Sie dies mit dem Effort-Parameter, um die Ausgabequalität gegenüber den Kosten zu steuern.
- CreateMessageJSON: Erstellt eine Nachricht mit JSON-Schema-Ausgabe.
- Schema: Eine JSON-Schema-Zeichenkette, die das Ausgabeformat definiert.
- OutputFormatSchema: (Request-Eigenschaft) JSON-Schema für strukturierte Ausgabe.
- Effort: (Request-Eigenschaft) Steuert Qualität vs. Kosten: 'low', 'medium', 'high', 'max'.
- Strict: (Tool-Eigenschaft) Wenn True, ist garantiert, dass Tool-Eingaben dem input_schema entsprechen.
Files API
Dateien hochladen, auflisten, abrufen, herunterladen und löschen. Hochgeladene Dateien können in Nachrichten über Document-Content-Blöcke mit dem File-Source-Typ referenziert werden. Erfordert den Beta-Header files-api-2025-04-14.
- UploadFile: Lädt eine lokale Datei hoch. Gibt Datei-Metadaten zurück.
- ListFiles: Listet hochgeladene Dateien mit Paginierung auf.
- GetFile: Ruft Metadaten für eine bestimmte Datei ab.
- DownloadFile: Lädt Dateiinhalt herunter.
- DeleteFile: Löscht eine Datei dauerhaft.
Request Parameters
Zusätzliche Anfrageparameter, die in der Messages-API verfügbar sind.
- ServiceTier: Steuert die Nutzung der Prioritätsstufe: 'auto' (Standard) oder 'standard_only'.
- InferenceGeo: Steuert die Inferenz-Geografie: 'global' (Standard) oder 'us'.
- Container: Container-ID zur Wiederverwendung von Codeausführungsumgebungen über Anfragen hinweg.
- IsError: (Content-Block-Eigenschaft) Auf tool_result-Blöcken auf True gesetzt, um einen Fehler bei der Tool-Ausführung anzuzeigen.
- CacheTTL: Erweiterte Cache-Time-to-Live: '5m' (Standard) oder '1h'.
- ThinkingType: Setzen Sie auf 'adaptive', damit Claude die Denktiefe automatisch entscheidet.
MCP Connector
Verbindet Claude mit externen MCP-Servern (Model Context Protocol), um auf Drittanbieter-Tools zuzugreifen. Erfordert den Beta-Header mcp-client-2025-11-20.
- CreateMessageWithMCP: Erstellt eine Nachricht mit einer MCP-Serververbindung.
- MCPServerUrl: HTTPS-URL des MCP-Servers.
- MCPServerName: Eindeutiger Name für den Server.
- MCPServers: (Request-Eigenschaft) Array von MCP-Server-Definitionen mit ServerType, Url, Name, AuthorizationToken.
- MCPServerName: (Tool-Eigenschaft) Referenziert einen MCP-Server, wenn ToolType 'mcp_toolset' ist.