Skip to content

Erweiterungen

Erweiterungen sind eine Möglichkeit, den Cognigy Flow Editor um neue Nodes zu erweitern. Erweiterungen enthalten mehrere Flow-Knoten, die nach der Installation im Flow-Editor angezeigt werden.

Erweiterungs-Marktplatz
Eine Vielzahl von vorgefertigten Erweiterungen kann mit einem einzigen Klick aus dem Cognigy Extension Marketplace installiert werden, sofern konfiguriert.

Marktplatz für Erweiterungen
  • Wenn Sie eine Erweiterung aus dem Marketplace-Bereich auswählen, werden weitere Informationen angezeigt - ähnlich wie bei der Auswahl einer bereits installierten Erweiterung.
  • Sie können die URL kopieren und in einem anderen Tab öffnen, auch beim Neuladen der Seite.
  • Sie können über das Feld Suchen nach Erweiterungen suchen.
  • Sie können installierte Erweiterungen deinstallieren.

Sie können die verfügbaren Marketplace-Erweiterungen auch online auf dem Cognigy.AI Marketplace durchsuchen.

Entwickeln Sie eine benutzerdefinierte Erweiterung
Cognigy ermöglicht es jedem, die Möglichkeiten von Cognigy.AI zu erweitern, indem er seine eigenen Erweiterungen entwickelt. Erweiterungen sind JavaScript- oder TypeScript-Module, die als Flow-Knoten innerhalb Cognigy.AI verfügbar gemacht werden können. Erweiterungen können für die Integration mit APIs von Drittanbietern, für die Ausführung komplexer Logik, für die Durchführung von Berechnungen mit langer Laufzeit oder für die Erstellung von Komfortknoten mit verschiedenen npm-Modulen verwendet werden.

Sehen Sie sich unsere Cognigy Sessions-Episode über Erweiterungen an, um einen technischen Einblick zu erhalten.

▶️
Sehen Sie sich diese Folge von Cognigy Sessions an, um einen technischen Einblick zu erhalten
Wenn Sie sofort mit der Entwicklung von Erweiterungen beginnen möchten, lesen Sie unsere Dokumentation zu den ersten Schritten.
📘
Artikel im Cognigy Help Center
Alle erforderlichen Ressourcen zum Erstellen und Hochladen der Erweiterung auf Cognigy.AI finden Sie in der Readme-Datei unseres @cognigy/extension-tools-Pakets.
Verweis auf das Cognigy-Repository auf GitHub
Wenn Sie Beispiele für Erweiterungen sehen möchten, besuchen Sie unser GitHub-Repository.
Verweis auf das Cognigy-Repository auf GitHub
!!! Tipp "Extension Development Suite" [Cognigy Hammer] (https://github.com/tgbv/cognigy-hammer/), erstellt von der Cognigy-Gemeinschaft ist eine Entwicklungssuite für Erweiterungen, die für Cognigy.AI entwickelt wurde. Es bietet verschiedene Tools und Funktionen, die bei der Entwicklung von Cognigy Extensions helfen. Beachten Sie, dass Cognigy Hammer kein Produkt von Cognigy ist und nicht für den Unternehmenssupport qualifiziert ist.

Behandeln von Zeitüberschreitungen in einer Erweiterung

Erweiterungen haben eine Standardzeitüberschreitung von 20 Sekunden, d. h., wenn die Zeit, die für den Abschluss der Erweiterung benötigt wird, mehr als 20 Sekunden beträgt, wird die Erweiterung beendet und ein Fehler an den Flow zurückgegeben. Die Flow-Ausführung wird fortgesetzt, und der Fehler kann unter "input.extensionError.message" aufgerufen werden.

Extension Timeout

Erweiterungen haben ein Standardtimeout von 20 Sekunden. Das Timeout kann bei dedizierten Cognigy.AI-Installationen geändert werden.

Installieren einer benutzerdefinierten Erweiterung
Sie können eine benutzerdefinierte Erweiterung aus dem Extension Marketplace installieren, indem Sie die Schaltfläche Erweiterung hochladen oder per Drag & Drop verwenden.

Installieren einer benutzerdefinierten Erweiterung

Aktualisieren einer benutzerdefinierten Erweiterung
[! [Versions-Abzeichen] (https://img.shields.io/badge/Added in-v4.25.0-blue.svg)] (https://docs.cognigy.com/de/)

Sie können eine benutzerdefinierte Erweiterung aktualisieren, indem Sie die Erweiterung entweder im Abschnitt Marketplace oder im Abschnitt Installiert auswählen und auf Aktualisieren klicken. Wenn Sie im Abschnitt Marketplace eine Erweiterung auswählen, wird die installierte Erweiterung durch die neueste Version aus dem Marketplace für Erweiterungen ersetzt. Wenn Sie die Erweiterung im Abschnitt Installiert auswählen, werden Sie aufgefordert, die aktualisierte Erweiterung hochzuladen.

[Vertrauenswürdige Erweiterungen] (#make-an-extension-trusted) kann nur von Administratoren oder Mitgliedern mit der Projektrolle "extension_trust_admin" aktualisiert werden.

Aktualisieren einer benutzerdefinierten Erweiterung

Veröffentlichen einer Erweiterung
Wenn Sie möchten, dass wir Ihre entwickelte Erweiterung genehmigen und auf dem Extension Marketplace veröffentlichen, befolgen Sie das Genehmigungsverfahren, das in der Readme-Datei unseres GitHub-Repositorys erläutert wird.

Erweiterungs-Performance
[! [Versions-Abzeichen] (https://img.shields.io/badge/Added in-v4.1.6-blue.svg)] (https://docs.cognigy.com/de/)

Cognigy.AI betrachtet den Code innerhalb einer Erweiterung als "nicht vertrauenswürdig", was bedeutet, dass der Code standardmäßig in einer sicheren und zusätzlich gehärteten Umgebung ausgeführt wird. Es gibt einen gewissen Overhead beim Bootstrapping dieser sicheren Umgebung pro Ausführung - daher werden Flow Nodes von Extensions in der Regel langsamer ausgeführt als unsere eingebauten (z.B. unser "Say"-Node).

Mit Cognigy.AI v4.1.6 haben wir die Möglichkeit eingeführt, dem Code einer Extension zu "vertrauen", indem wir Kunden entscheiden lassen, ob sie den Code in einer sicheren Umgebung oder in der normalen Ausführungsumgebung ausführen möchten, in der unsere eigenen Flow Nodes laufen.

Verfügbarkeit von Funktionen

Diese Funktion ist nur für unsere On-Premise-Kunden oder dedizierte SaaS-Kunden mit eigener Cognigy.AI Installation verfügbar.

Um die Funktion zu aktivieren, kann die folgende zusätzliche Umgebungsvariable verwendet werden:

'''txt FEATURE_ALLOW_TRUSTED_CODE_CONFIGURATION=wahr '''

Unsere Kunden erreichen dies in der Regel, indem sie ihrer "config-map_patch.yaml" im "Kubernetes"-Repository, in dem sich die Manifestdateien für die Bereitstellung befinden, Folgendes hinzufügen:

'''YML - op: hinzufügen Pfad: /data/FEATURE_ALLOW_TRUSTED_CODE_CONFIGURATION Wert: "true" '''

Wenn Sie die Funktion aktivieren, ändert sich nicht automatisch etwas. Sobald die Funktion aktiviert wurde, kann ein zusätzlicher API-Endpunkt (siehe unsere RESTful API-Dokumentation) verwendet werden, um die Eigenschaft "trustedCode" einer Erweiterung zu aktualisieren.

Sicherheitsüberlegungen

Es gibt einen Grund, warum Erweiterungen und ihr Code standardmäßig in der sicheren Umgebung ausgeführt werden! Vertrauen Sie niemals dem Code einer Erweiterung, ohne den darin enthaltenen Code ordnungsgemäß zu überprüfen! Erweiterungen können externe Pakete von NPM verwenden, die schädlichen Code und Routinen enthalten können - sobald eine Erweiterung im "nativen Kontext" ausgeführt wird, kann sie möglicherweise sensible Informationen stehlen. Stellen Sie sicher, dass Sie sich dieser Auswirkungen bewusst sind, bevor Sie den Ausführungskontext ändern.

Eine Erweiterung als vertrauenswürdig einstufen

[! [Versions-Abzeichen] (https://img.shields.io/badge/Added in-v4.46-blue.svg)] (.. /.. /.. /release-notes/4.46.md)

Alle vertrauenswürdigen Erweiterungen sind mit dem speziellen Symbol gekennzeichnet! [trust-extensions] (.. /images/icons/trusted-extension.svg).

Sie können Ihre hochgeladenen Erweiterungen als vertrauenswürdig einstufen. Es kann sich um eine vorinstallierte Erweiterung oder eine benutzerdefinierte Erweiterung handeln. Damit Benutzer Erweiterungen als vertrauenswürdig einstufen und aktualisieren können, muss ein Administrator die Rolle "extension_trust_admin" im Projekt des virtuellen Agenten hinzufügen. Der Projektadministrator hat diese Rolle standardmäßig.

Gehen Sie folgendermaßen vor, um eine Erweiterung als vertrauenswürdig zu markieren:

  1. Installieren Sie auf der Seite "Erweiterungen" die vorhandene Erweiterung aus dem Marketplace oder fügen Sie eine benutzerdefinierte hinzu.
  2. Öffnen Sie den Bereich Erweiterung, indem Sie auf die Karte Erweiterung klicken.
  3. Klicken Sie im rechten Bereich auf ! [vertikale-Auslassungspunkte] (.. /.. /.. /assets/icons/vertical-ellipsis.svg), dann Trust Extension. Die Erweiterung wird als vertrauenswürdig markiert.

Um eine Erweiterung als nicht vertrauenswürdig zu markieren, klicken Sie auf ! [vertikale-Auslassungspunkte] (.. /.. /assets/icons/vertical-ellipsis.svg), dann Untrust Extension.

Eine Erweiterung als vertrauenswürdig einstufen

Erweiterung organisationsweit einbettbar
[! [Versions-Abzeichen] (https://img.shields.io/badge/Added in-v4.8.0-blue.svg)] (https://docs.cognigy.com/de/)

Mit Cognigy.AI v4.8 haben wir die Möglichkeit für On-Premise-Kunden eingeführt, bestimmte Erweiterungen organisationsweit einzubetten.

Um die Funktion zu aktivieren, kann die folgende zusätzliche Umgebungsvariable verwendet werden, um die GitHub-Datei config.map zu aktualisieren:

Umgebungsvariable für organisationsweite Erweiterungen '''txt FEATURE_ADDITIONAL_SYSTEM_WIDE_EXTENSIONS_PATH '''

[! [Versions-Abzeichen] (https://img.shields.io/badge/Added in-v4.8.0-blue.svg)] (https://docs.cognigy.com/de/)

Cache-Erweiterungen im lokalen Verzeichnis
Ab Version v4.8 können Erweiterungen im lokalen Verzeichnis zwischengespeichert werden, was die Ladeleistung verbessert.

Der Pfad zu diesem Cache wird zusammen mit einem Zeitstempel in einer Erweiterungszuordnung gespeichert.

Wenn die maximale Verzeichnisgröße von einer Erweiterung überschritten wird, werden die letzten X-Erweiterungen (derzeit 10 - editierbar über eine Umgebungsvariable) sowohl aus der Erweiterungszuordnung als auch aus dem lokalen Dateisystem gelöscht.

Bei Bedarf können Sie das Verhalten anpassen, indem Sie Umgebungsvariablen hinzufügen und konfigurieren:

'''txt MAX_EXTENSIONS_CACHE_DIR_SIZE_IN_MB '''

Der Standardwert von 'MAX_EXTENSIONS_CACHE_DIR_SIZE_IN_MB' ist 512 MB.

Der Cache befindet sich innerhalb des Kubernetes-Pods der Dienstausführung. Es macht also keinen Unterschied, ob Sie On-Premises oder Testversionen, Apps usw. verarbeiten.

'''txt EXCEED_DIR_SIZE_AMOUNT_TO_DROP_FROM_MAP '''

Dynamische Felder
[! [Versions-Abzeichen] (https://img.shields.io/badge/Added in-v4.9.0-blue.svg)] (https://docs.cognigy.com/de/)

Cognigy.AI v4.9.0 bietet neue Funktionen, die es unseren Kunden ermöglichen, ein neues dynamisches Auswahlfeld als neuen Feldtyp in ihren Erweiterungen zu verwenden. Die Funktion kann verwendet werden, um den Inhalt eines Auswahlfelds dynamisch abzurufen, z. B. durch einen externen API-Aufruf.

Lokalisierung für Erweiterungen
[! [Versions-Abzeichen] (https://img.shields.io/badge/Added in-v4.12.0-blue.svg)] (https://docs.cognigy.com/de/)

Cognigy.AI v4.12.0 bietet neue Funktionen, mit denen Erweiterungsersteller optional lokalisierte Variationen für benutzerseitige Texte einschließen können, z. B. Standardknotenbeschriftungen oder Knotenfeldbeschreibungen. Wenn konfiguriert, wird Benutzern die lokalisierte Version für die von ihnen ausgewählte Benutzeroberflächensprache angezeigt.

Diese Lokalisierungsoptionen sind optional und können bei Bedarf Text für Text konfiguriert werden. Wenn keine Lokalisierung konfiguriert wurde, die der vom Benutzer ausgewählten Sprache der Benutzeroberfläche entspricht, wird dem Benutzer eine (obligatorische) Standardoption angezeigt.

Entwickler können der Localization for Extensions Documentation folgen, um loszulegen.