Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core workflow 3.0 > ACLs/Berechtigungen im Workflow setzen > DATEV XML-Schnittstelle online > Übersicht vorhandener Knoten


Chat OpenAI GPT

Hinweis: Diese Dokumentation bezieht sich auf die aktuellste Version des Plugins agorum core ai llm. Aktualisieren Sie das hier beschriebene Plugin, um die Dokumentation verwenden zu können.

Interne ID: agorum.ai.llm.chat.openai.gpt

Mit diesem Knoten sprechen Sie die Chat-API von OpenAI an, indem Sie über den Knoten Prompt-Befehle an die KI senden und Antworten von der KI erhalten.

Der Knoten nutzt den LLM Client (agorum.ai.llm.client) und ruft die „chat“-Funktion mit dem Endpoint openai auf.

Aussehen des Knotens

Verhaltensweise


Erreicht das System den Knoten im Workflow, prüft es die gesetzten Parameter und sendet die Prompt-Befehle, die Sie als Parameter angegeben haben, an die KI. Die KI antwortet in Form eines JavaScript-Objekts in der Datenvariable.

Endpoints


Standard Veränderbar? Weitere Endpoints möglich?
Default (Inlet) Nein, kann nur ausgeblendet werden. nein, nicht nötig
Default (Outlet) Nein, kann nur ausgeblendet werden. nein, nicht nötig

Parameter


Parameter Beschreibung Beispiel
API-Key Definiert den zu verwendenden API-Key.

Wenn Sie keinen API-Key angeben, verwendet das System den API-Key unter >  Administration > KI-LLM einstellen.
API-Time-out Definiert in Millisekunden, nach welcher Zeit die API die Verbindung zum Service abbricht, wenn das System keine Verbindung zum Service herstellen kann oder die Antwort zu lange dauert.

Wenn Sie keinen Wert angeben, verwendet das System den eingestellten Wert unter >  Administration > KI-LLM einstellen.
Kontext Definiert den Kontext, den das System an die KI mitgibt.
  • Der Kontext unterstützt die KI dabei, Ihre Befehle und Anweisungen umzusetzen, indem Sie der KI etwa ein bestimmtes Szenario mitgeben.
  • Wenn Sie den Kontext als Datei mitgeben (über den Parameter Kontext-Datei), ignoriert das System diesen Parameter.
Kontext-Datei Definiert den Kontext als Datei, d. h. der Kontext steht in der Datei.

Wenn Sie diesen Parameter verwenden, ignoriert das System den Parameter Kontext.
Pre-Prompt Definiert den Pre-Prompt, den das System vor dem eigentlichen Prompt einfügt.

Verwenden Sie den Pre-Prompt, wenn der eigentliche Prompt eine Variable ist und davor noch ein fester Text hinterlegt werden soll.
Prompt Definiert den Prompt für die KI, d. h. eine konkrete Anweisung oder Frage.
Post-Prompt Definiert den Post-Prompt, den das System nach dem eigentlichen Prompt einfügt.

Verwenden Sie den Post-Prompt, wenn der eigentliche Prompt eine Variable ist und dahinter noch ein fester Text folgen soll.
Modell Definiert die ID des zu verwendenden Modells.

Einzelheiten, welche Modelle mit der Chat-API funktionieren, finden Sie in der Tabelle zur Kompatibilität der Modell-Endpunkte.

Wenn Sie keinen Wert angeben, verwendet das System den eingestellten Wert unter >  Administration > KI-LLM einstellen.
Temperatur Definiert die Sampling-Temperatur (Bereich: zwischen 0 und 2).
  • Werte über 0,8 machen die Ausgabe zufälliger, während Werte unter 0,2 sie gezielter und deterministischer machen.
  • Ändern Sie entweder diesen Wert oder den Wert im Feld top_p, jedoch nicht beide Werte.
  • Wenn Sie keinen Wert angeben, verwendet das System den eingestellten Wert unter >  Administration > KI-LLM einstellen.
Top P Definiert das Nukleus-Sampling, bei dem das Modell die Ergebnisse der Token mit der Wahrscheinlichkeitsmasse top_p berücksichtigt.
  • Ein Wert von 0,1 bedeutet, dass nur die Token mit der höchsten Wahrscheinlichkeitsmasse von 10 % berücksichtigt werden.
  • Ändern Sie entweder diesen Wert oder den Wert im Parameter Temperatur, jedoch nicht beide Werte.
  • Wenn Sie keinen Wert angeben, verwendet das System den eingestellten Wert unter >  Administration > KI-LLM einstellen.
Maximale Tokens Definiert die maximale Anzahl an Token, die das System in der Chatvervollständigung erzeugt.
  • Die Gesamtlänge der eingegebenen und generierten Token ist durch die Kontextlänge des Modells begrenzt.
  • Wenn Sie den Wert auf 0 stellen, macht das System dem Modell keine Vorgabe, sondern verwendet den Maximalwert des Modells.
  • Wenn Sie keinen Wert angeben, verwendet das System den eingestellten Wert unter >  Administration > KI-LLM einstellen.
presence_penalty Definiert eine Zahl zwischen -2,0 und 2,0.

Positive Werte bestrafen neue Token basierend darauf, ob sie bisher im Text vorkommen, und erhöhen die Wahrscheinlichkeit, dass das Modell über neue Themen spricht.

Wenn Sie keinen Wert angeben, verwendet das System den eingestellten Wert unter >  Administration > KI-LLM einstellen.
frequency_penalty Definiert eine Zahl zwischen -2,0 und 2,0.

Positive Werte bestrafen neue Token auf der Grundlage ihrer bisherigen Häufigkeit im Text und verringern die Wahrscheinlichkeit, dass das Modell dieselbe Zeile wortwörtlich wiederholt.

Wenn Sie keinen Wert angeben, verwendet das System den eingestellten Wert unter >  Administration > KI-LLM einstellen.
Eingangsvariable verwenden Aktiviert
Übergibt die Dokumente der Eingangsvariablen als zusätzlichen Kontext an die KI. Auf diese Art kann die KI Daten von Dokumenten verarbeiten.

Deaktiviert
Übergibt keine Eingangsvariable.
Eingangsvariable Definiert die Variable, in der die Dokumente für den zusätzlichen Kontext für die KI enthalten sind.
  • Das System verwendet dabei den Text der Dokumente.
  • Wenn Sie die Variable nicht angeben, verwendet das System automatisch die Anhänge des Workflows aus der internen Variable sys_acw_attachments.

Hinweis: Die Eingangsvariable darf nicht die Prompt-Befehle enthalten, sondern nur den Kontext.

Eingangsvariable
Datenvariable Definiert die Variable, in der das Ergebnis der KI als JavaScript-Struktur enthalten ist.
  • Die Datenvariable ist ein Pflichtfeld.
  • Das Ergebnis enthält die Antwort der KI auf die gesendete Anfrage, die Historie des Chats und extrahierte Informationen, etwa XML, JSON oder sonstigen Code.
Datenvariable

Tipp: Verwenden Sie die Variablenauswahl, um einen Überblick über alle nutzbaren Variablen zu erhalten.

Eingangsvariable

Für generelle Schreibweise von Variablen im Editor oder als Expression siehe Schreibweise von Variablen.


Im Editor

Im Editor geben Sie den Namen der Workflow-Variable an. Das System platziert die Variable automatisch in der Variable des Tokens (token.variables).

inputVariable


Als Expression

Wenn Sie diesen Parameter als Expression angeben, geben Sie den vollständigen Pfad zur Variable an, von der das System den eigentlichen Namen der gewünschten Variable lesen soll.

'token.variables.nameOfInputVariable'

Datenvariable

Für generelle Schreibweise von Variablen im Editor oder als Expression siehe Schreibweise von Variablen.


Im Editor

Im Editor geben Sie den Namen der Workflow-Variable an. Das System platziert die Variable automatisch in der Variable des Tokens (token.variables).

dataVariable


Als Expression

Wenn Sie diesen Parameter als Expression angeben, geben Sie den vollständigen Pfad zur Variable an, von der das System den eigentlichen Namen der gewünschten Variable lesen soll.

'token.variables.nameOfDataVariable'


Aufbau einer Datenvariable

Die Datenvariable ist wie folgt aufgebaut:

{
  "parsed": {
    "code": [
      "function addiereZweiZahlen(num1, num2) {\n  var sum = num1 + num2;\n  return sum;\n}\n\nvar sum = addiereZweiZahlen(5, 7);\nconsole.log('Die Summe ist: ' + sum);"
    ],
    "xml": [],
    "json": []
  },
  "text": "Ein einfaches Beispiel, wie man zwei Zahlen in JavaScript addiert.\n\n```javascript\nfunction addiereZweiZahlen(num1, num2) {\n  var sum = num1 + num2;\n  return sum;\n}\n\nvar sum = addiereZweiZahlen(5, 7);\nconsole.log('Die Summe ist: ' + sum);\n```\n\nIn diesem Beispiel haben wir die Funktion \"addiereZweiZahlen\" definiert, die zwei Zahlen als Argumente nimmt und ihre Summe zurückgibt. Dann rufen wir die Funktion auf, indem wir 5 und 7 als Argumente übergeben, speichern das Ergebnis in der Variablen \"sum\" und zeigen das Ergebnis in der Konsole.",
  "history": [
    {
      "role": "user",
      "content": "Erstelle ein Beispiel-JavaScript, das 2 Zahlen addiert.",
      "timestamp": "2023-08-29T15:25:28.756Z"
    },
    {
      "role": "assistant",
      "content": "Ein einfaches Beispiel, wie man zwei Zahlen in JavaScript addiert.\n\n```javascript\nfunction addiereZweiZahlen(num1, num2) {\n  var sum = num1 + num2;\n  return sum;\n}\n\nvar sum = addiereZweiZahlen(5, 7);\nconsole.log('Die Summe ist: ' + sum);\n```\n\nIn diesem Beispiel haben wir die Funktion \"addiereZweiZahlen\" definiert, die zwei Zahlen als Argumente nimmt und ihre Summe zurückgibt. Dann rufen wir die Funktion auf, indem wir 5 und 7 als Argumente übergeben, speichern das Ergebnis in der Variablen \"sum\" und zeigen das Ergebnis in der Konsole.",
      "timestamp": "2023-08-29T15:25:45.833Z"
    }
  ],
  "userId": "714614d0-ce62-11e0-b47a-0800276e2399",
  "timestamp": "2023-08-29T15:25:45.837Z"
}
Parameter Beschreibung
parsed Enthält die von einem Parser analysierten Codeblöcke aus dem Antwort-Text in Form eines Objekts mit den Feldern:
  • code
  • xml
  • json
Jedes dieser Felder enthält eine Liste von Codestücken im entsprechenden Format.
   code Enthält eine Liste von Codeblöcken.

Jeder Eintrag in der Liste ist ein String, der ein Stück Code darstellt.
   xml Enthält eine Liste XML-Codeblöcken.
   json Enthält eine Liste JSON-Codeblöcken.
text Enthält die Antwort der KI als Text.
history Enthält eine Liste von Interaktionen, die zwischen dem Benutzer und dem Assistenten stattgefunden haben.

Jeder Eintrag ist ein Objekt, das Folgendes enthält:
  • die Rolle (Benutzer oder Assistent) (role)
  • den Inhalt der Nachricht (content)
  • einen Zeitstempel (timestamp)
   role Enthält die Rolle der Person (user) oder des Systems (assistant), die die Nachricht gesendet hat.
   content Enthält den Inhalt der gesendeten Nachricht.
   timestamp Enthält den Zeitpunkt, an dem die Nachricht gesendet wurde (ISO-8691-Format).
userId Enthält die eindeutige ID des Benutzers, die der Anfrage gesendet hat.
timestamp Enthält den Zeitpunkt, an dem die gesamte JSON-Struktur erstellt wurde (ISO-8601-Format).