Zum Hauptinhalt springen

AnthropicAiQuery@1

Der Node AnthropicAiQuery@1 wird verwendet, um Claude (Anthropic AI) abzufragen und Informationen aus Daten in der Pipeline zu extrahieren oder zu analysieren. Dieser Node sendet Daten an die API von Claude und kann strukturierte Informationen extrahieren, Fragen beantworten oder Inhalte auf Basis der KI-Analyse transformieren.

Adapter-Voraussetzungen​

API-Key-Konfiguration (empfohlen)​

Anstatt den API-Key in die Pipeline-Definition (apiKey) einzutragen, referenzieren Sie über apiKeyConfigurationName eine System.Communication/AiConfiguration-Entität. Die Konfigurationsentität trägt die Anmeldedaten und die Modell-Standardwerte:

AttributBeschreibung
ApiKeyDer Anthropic-API-Key
AiModelDie Claude-Modell-ID (seit System.Communication 3.24.0 verpflichtend; bevorzugen Sie aktuelle IDs wie claude-sonnet-4-6 – gepinnte, datierte Snapshots werden abgekündigt)
MaxTokensStandardmäßige maximale Anzahl an Antwort-Tokens
TemperatureStandard-Temperatur
McpServerUrlBasis-URL des OctoMesh MCP-Servers (nur erforderlich, wenn MCP-Tools verwendet werden)

Die Auflösung erfordert sowohl apiKeyConfigurationName am Node als auch eine System.Communication/Uses-Assoziation von der Pipeline zur AiConfiguration-Entität – ohne die Assoziation schlägt der Node mit AiConfiguration '<name>' not found or has no ApiKey fehl:

- rtId: <pipelineRtId>
ckTypeId: System.Communication/Pipeline
associations:
- roleId: System.Communication/Uses
targetRtId: <aiConfigurationRtId>
targetCkTypeId: System.Communication/AiConfiguration

Node-Konfiguration​

Für die Felder path, targetPath, targetValueWriteMode und targetValueKind siehe Überblick.

transformations:
- type: AnthropicAiQuery@1
path: $.ExtractedText # The path to the main content to analyze
targetPath: $.AiExtractedData # The path where the AI response will be stored
targetValueWriteMode: Overwrite # The target value write mode
targetValueKind: Simple # The target value kind
apiKeyConfigurationName: AnthropicAiConfig # rtWellKnownName of the AiConfiguration entity (recommended; requires the Uses association, see above)
model: "claude-sonnet-4-6" # Optional override of the Claude model; defaults to the AiConfiguration's AiModel
question: "Extract invoice details from this document" # The question/prompt to ask the AI about the data
dataPaths: # Optional additional context data paths to include in the query
- $.DocumentMetadata
- $.AdditionalContext
systemPrompt: "You are a helpful AI assistant that extracts specific information from documents. Always provide accurate, structured responses based only on the information provided." # System prompt to set the context for the AI
maxTokens: 1000 # Maximum tokens for the response (default: 1000)
temperature: 0.1 # Temperature for response generation (0.0 to 1.0, default: 0.1)
responseFormat: "json" # Expected response format ("json" or "text", default: "json")
includeRawResponse: false # Whether to include the raw AI response in the output (default: false)
rawResponseOutputPath: $.RawAiResponse # Output path for the raw AI response if includeRawResponse is true
continueOnError: false # Whether to continue processing if the AI query fails (default: false)
jsonFormatSample: | # Sample JSON format for structured responses
{
"transactionDate": "2024-01-15",
"companyAddress": "Main St, City, Country",
"grossTotal": 1200.00,
"netTotal": 1000.00,
"taxAmount": 200.00
}

Konfigurationsparameter​

ParameterTypErforderlichStandardBeschreibung
apiKeyConfigurationNamestringNein¹-rtWellKnownName der AiConfiguration-Entität, die den API-Key und die Modell-Standardwerte enthält (empfohlen; die Pipeline benötigt eine Uses-Assoziation zur Entität)
apiKeystringNein¹-Der Anthropic-API-Key inline in der Pipeline-Definition – bevorzugen Sie apiKeyConfigurationName, um den Key nicht offenzulegen
modelstringNeinAiConfiguration AiModelOptionales Override des Claude-Modells
questionstringJa-Die Frage/der Prompt, die an die KI zu den Daten gestellt wird
dataPathsstring[]Nein-Zusätzliche Kontextdatenpfade, die in die Abfrage einbezogen werden
systemPromptstringNeinStandard-System-PromptSystem-Prompt, um den Kontext für die KI festzulegen
maxTokensintNein1000Maximale Anzahl an Tokens für die Antwort
temperaturedoubleNein0.1Temperatur für die Antwortgenerierung (0.0 bis 1.0)
responseFormatstringNeinjsonErwartetes Antwortformat (json oder text)
includeRawResponseboolNeinfalseOb die rohe KI-Antwort einbezogen werden soll
rawResponseOutputPathstringNein$.RawAiResponseAusgabepfad für die rohe KI-Antwort
continueOnErrorboolNeinfalseOb die Verarbeitung fortgesetzt werden soll, wenn die Abfrage fehlschlägt
jsonFormatSamplestringNeinBeispiel-JSONBeispiel-JSON-Format für strukturierte Antworten
mcpServerUrlstringNeinAiConfiguration McpServerUrlBasis-URL des OctoMesh MCP-Servers für die Tool-Nutzung
mcpToolNamesstring[]Nein-MCP-Tools, die Claude aufrufen darf (z. B. query_entities_simple, navigate_associations)
maxToolRoundsintNein10Maximale Anzahl an Tool-Call-Runden, bevor das Modell antworten muss
mcpServiceAccountConfigNamestringNein-rtWellKnownName einer ServiceAccountConfiguration, die zur Authentifizierung der MCP-Tool-Aufrufe verwendet wird (erforderlich, da der MCP-Server eine Authentifizierung erzwingt)
mcpDelegateToCallerboolNeinfalseFührt die MCP-Tool-Aufrufe unter der delegierten Identität des aufrufenden Benutzers statt des Service Accounts aus, sodass die KI nur die Daten sieht, die dieser Benutzer sehen darf. Erfordert einen tokentragenden Trigger wie FromHttpRequest@2. Siehe Delegation
conversationHistoryPathstringNein-Pfad zu einem Konversationsverlauf, um einen mehrschrittigen Austausch fortzusetzen

¹ Genau eine der Optionen apiKeyConfigurationName (empfohlen) oder apiKey muss den Key bereitstellen.

Die KI-Abfragen als aufrufender Benutzer ausführen (Delegation)​

Wenn die KI MCP-Tools verwendet, um Daten nachzuschlagen, laufen diese Abfragen unter einer Identität. Standardmäßig ist das das Service Account der Pipeline (konfiguriert über mcpServiceAccountConfigName). Für benutzerorientierte Abläufe – etwa einen Anwendungs-Chat, in dem jeder Benutzer nur seine eigenen Daten sehen darf – setzen Sie mcpDelegateToCaller: true. Die MCP-Abfragen laufen dann unter der delegierten Identität des aufrufenden Benutzers, beschränkt auf die Schnittmenge aus den Rollen des Benutzers und den Rollen des Service Accounts.

Dies erfordert, dass die Pipeline mit dem Token des Aufrufers ausgelöst wird, unter Verwendung von FromHttpRequest@2. Die Delegation ist fail-closed: Ist das Flag gesetzt, aber kein Aufrufer-Token vorhanden, verweigert der Node die Ausführung, anstatt auf das Service Account zurückzufallen. Das vollständige Bild finden Sie unter Delegation.

Antwortverarbeitung​

Der Node verarbeitet die Antwort von Claude auf Basis des Parameters responseFormat:

  • JSON-Format: Der Node versucht, die Antwort als JSON zu parsen. Enthält die Antwort gemischte Inhalte (erläuternder Text mit eingebettetem JSON), extrahiert und parst er den JSON-Teil.
  • Textformat: Die Antwort wird als reiner Text zurückgegeben.

Kontextbeschränkungen​

Der Gesamtkontext (Hauptinhalt plus zusätzliche Datenpfade) ist auf 3000 Zeichen begrenzt. Überschreitet der kombinierte Kontext dieses Limit, löst der Node einen Fehler aus.

Fehlerbehandlung​

  • Ist continueOnError auf false gesetzt (Standard), stoppt die Pipeline, wenn die KI-Abfrage fehlschlägt
  • Ist continueOnError auf true gesetzt, werden Fehler protokolliert, die Pipeline läuft aber weiter
  • Häufige Fehler sind: fehlende Pflichtfelder, Fehlschläge bei der API-Authentifizierung, überschrittene Kontextgröße und ungültiges JSON-Parsing

Beispiel: Rechnungsdaten extrahieren​

triggers:
- type: FromHttpRequest@1
path: /extract/invoice
method: POST
transformations:
- type: AnthropicAiQuery@1
path: $.documentText
targetPath: $.extractedInvoiceData
apiKey: "sk-ant-api03-..."
question: "Extract the following from this invoice: invoice number, date, total amount, vendor name, and all line items"
responseFormat: "json"
jsonFormatSample: |
{
"invoiceNumber": "INV-001",
"date": "2024-01-15",
"totalAmount": 1500.00,
"vendorName": "ABC Company",
"lineItems": [
{
"description": "Product A",
"quantity": 2,
"unitPrice": 500.00,
"total": 1000.00
}
]
}

Beispiel: Dokument mit zusätzlichem Kontext analysieren​

transformations:
- type: AnthropicAiQuery@1
path: $.mainDocument
targetPath: $.analysis
apiKey: "sk-ant-api03-..."
question: "Analyze this document and identify any compliance issues based on the provided regulations"
dataPaths:
- $.regulatoryContext
- $.previousAnalysis
systemPrompt: "You are a compliance expert. Analyze documents for regulatory compliance issues."
maxTokens: 2000
responseFormat: "json"
includeRawResponse: true
rawResponseOutputPath: $.rawAnalysis

Verfügbare Modelle​

Gängige Claude-Modelle sind unter anderem:

  • claude-3-5-sonnet-20241022 – Am leistungsfähigsten, ausgewogene Performance
  • claude-3-haiku-20240307 – Am schnellsten, am kostengünstigsten
  • claude-opus-4-1-20250805 – Am leistungsstärksten für komplexe Aufgaben
  • claude-sonnet-4-20250514 – Neuestes Sonnet-Modell (Standard)

Aktuelle Informationen zu Modellen und deren Fähigkeiten finden Sie in der Dokumentation von Anthropic.