Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core Module und Plugins > ALBERT agorum core ai
Hinweise:
In den Chat-Anfragen können Sie KI-Voreinstellungen verwenden, die Sie über die Oberfläche über > Administration > Konfiguration > KI-Voreinstellungen konfiguriert haben (siehe agorum core ai KI-Voreinstellungen einrichten). Alternativ haben Sie auch die Möglichkeit, KI-Voreinstellungen mit der Bibliothek agorum.ai/js/lib/presets-settings programmatisch zu erstellen.
Sie können die KI-Voreinstellungen in der Oberfläche verwalten (siehe agorum core ai einrichten), aber auch programmatisch erstellen.
Wie in der Oberfläche können Sie Einstellungen erstellen, die den Zugriff auf das KI-Modell konfigurieren (Modelleinstellungen). Außerdem können Sie eher fachlich orientierte Einstellungen hinterlegen, die Einstellungen für KI-Modelle referenzieren (Benutzereinstellungen).
Binden Sie dazu die Bibliothek stets am Anfang eines Skripts ein:
let settings = require('/agorum/roi/customers/agorum.ai/js/lib/presets-settings');
Die folgenden Beispiele zeigen je die Einrichtung einer Modelleinstellung, die Benutzern nicht angezeigt werden soll, und einer Benutzereinstellung mit fachlichen Angaben, die anschließend für den Benutzer-Chat verwendet werden soll.
Beispiel für das Erstellen einer Modelleinstellung
let settings = require('/agorum/roi/customers/agorum.ai/js/lib/presets-settings'); let objects = require('common/objects'); let data = { id: settings.id, name: 'agorum_doc_test_-mypreset', projectName: 'agorum.doc.test', displayName: 'openai-settings', settings: { apiKey: '<API key>', model: 'gpt4o', // baseUrl: 'http://IP:PORT', //required for ollama }, provider: 'openai', // see MAIN_MODULE_MANAGEMENT/customers/agorum.ai/providers/[ agorum.ai ] userGroup: objects.find('group:GRP_agorum.ai_chat').UUID, parameters: { timeout: 100000, max_tokens: 10000, temperature: 1, // historyLimit: 5, // context: 'optional context' }, active: true, capabilities: { texts: true, images: true, tools: true, }, usableInChat: false, // can this preset be used in the user chat default: false, // is this the default preset that should be used in chat }; settings.set(data);
Dieses Beispiel zeigt, wie die Hilfsbibliothek agorum.ai/jb/lib/presets-settings verwendet wird, um eine KI-Voreinstellung (Preset) mit Verbindungseinstellungen zu einem Sprachmodell programmatisch einzurichten. Hier handelt sich um eine KI-Vorinstellung mit dem Namen "agorum_doc_test_-mypreset" für den Provider "openai" und das Sprachmodell "gpt4o".
Die wichtigsten Einstellungen für die Verbindungskonfiguration sind die Einstellungen in den Abschnitten provider und settings. Das Sprachmodell, zu dem Sie die Verbindung herstellen möchten, geben Sie für provider an, siehe Übersicht über die Standardanbieter/-modelle. Zusätzlich müssen Sie im Abschnitt settings Ihren API-Key und das Modell angeben, das Sie verwenden möchten. Wenn Sie ein selbstgehostetes ollama verwenden, wird zusätzlich die baseUrl benötigt.
In diesem Beispiel wird die KI-Voreinstellung nur als Modellkonfiguration verwendet, um die Verbindung herzustellen. Die Voreinstellung wird Benutzern im KI-Chat aber nicht direkt zur Auswahl angeboten (usableInChat: false).
Beispiel für das Erstellen einer Benutzereinstellung (mit Referenz auf eine andere Einstellung)
let settings = require('/agorum/roi/customers/agorum.ai/js/lib/presets-settings'); let objects = require('common/objects'); let dataRef = { id: refSettings.id, //provider: 'openai', // MAIN_MODULE_MANAGEMENT/customers/agorum.ai/providers/[ agorum.ai ] userGroup: objects.find('group:GRP_agorum.ai_chat').UUID, parameters: { timeout: 100000, max_tokens: 10000, temperature: 1, // historyLimit: 5, // context: 'optional context', }, active: true, displayName: 'user-chat-preset', usableInChat: true, isReference: true, reference: '3d458126-95e0-48dd-976f-ede517c4ae53', // uuid of the preset that is referenced }; settings.set(dataRef); refSettings;
Dieses Beispiel zeigt, wie die Hilfsbibliothek agorum.ai/jb/lib/presets-settings verwendet wird, um eine KI-Voreinstellung (Preset) mit fachlichen Einstellungen und einer Referenz auf eine andere KI-Voreinstellung einzurichten. Hier handelt sich um eine KI-Voreinstellung mit dem Namen "my-preset-reference", die auf die andere KI-Voreinstellung "my-openai-settings" über die UUID dieser Voreinstellung verweist (reference: <uuid>). Diese KI-Voreinstellung wird Benutzern im KI-Chat angezeigt (usableInChat: true).
Die Bibliothek agorum.ai/js/lib/presets-settings enthält Funktionen, die zur Verwaltung von KI-Voreinstellungen (auch genannt Presets) dienen.
Die Funktion create erstellt eine neue KI-Voreinstellung (Preset) mit den angegebenen Einstellungen. Sie erzeugt eine ID, falls keine bereitgestellt wurde, und speichert die neue KI-Voreinstellung im Workspace. Der API-Key wird ggf. verschlüsselt darin gespeichert.
Hinweis: Die Funktion testet nicht, ob eine Verbindung zum angegebenen Sprachmodell hergestellt werden kann.
Syntax
create(data)
Parameter des data-Objekts für die Voreinstellungen
Parameter | Beschreibung | Pflicht | Standard |
---|---|---|---|
id | Eindeutige Kennung der KI-Voreinstellung. Wenn Sie keine ID angeben, wird automatisch eine UUID generiert. | Nein | - |
name | Der Name der KI-Voreinstellung, der zur Identifizierung der KI-Voreinstellung verwendet wird. Die Anwendung prüft nicht, ob der Name bereits vorhanden ist. Sie sollten aber für jede Benutzergruppe (bzw. jeden Mandanten) nur eindeutige KI-Voreinstellungsnamen verwenden. | Ja | - |
settings | Ein Objekt, das die Basiseinstellungen der KI-Voreinstellung enthält:
|
Ja (bei Voreinstellungen, die nicht auf andere Voreinstellungen verweisen) | Ein leeres Objekt, wenn nicht angegeben |
parameters | Ein Objekt, das erweiterte Einstellungen enthält: Für weitere Informationen siehe Struktur des parameters-Objekts. |
Nein | Ein leeres Objekt, wenn nicht angegeben |
provider | Der Name des KI-Anbieters | Ja (bei Voreinstellungen, die nicht auf andere Voreinstellungen verweisen) | - |
userGroup | Benutzergruppe, die Zugriff auf die KI-Voreinstellung hat, auch für mandantenspezifische Einstellungen. | Nein | - |
active | Ein Boolescher Wert, der angibt, ob die KI-Voreinstellung aktiv ist und verwendet werden kann. | Nein | false |
default | Ein Boolescher Wert, der angibt, ob diese Voreinstellung die Standardauswahl im Benutzer-Chat ist (für die ausgewählte Benutzergruppe). Die Voreinstellung ist für die Benutzer vorausgewählt und wird in der Liste der Chat-Optionen mit blauem Chat-Symbol angezeigt. |
Nein | false |
usableInChat | Wenn Sie die Einstellung aktivieren, ist diese Voreinstellung unter dem angegebenen displayName im Benutzer-Chat verfügbar. | Nein | false |
displayName | Der Anzeigename der KI-Voreinstellung, der Benutzern angezeigt wird, wenn er vom Namen abweicht. | Nein | Wert von name (wenn nicht explizit angegeben) |
capabilities | Ein Platzhalter für zukünftige Erweiterungen, um die Fähigkeiten für die KI-Voreinstellung zu spezifizieren. | Nein | undefined |
isReference | Ein Boolescher Wert, der angibt, ob die KI-Voreinstellung auf eine andere KI-Voreinstellung verweist. | Nein | false |
reference | Die UUID einer anderen KI-Voreinstellung, auf die diese KI-Voreinstellung verweist. | Ja (nur wenn isReference: true) | Ein leeres Array, wenn nicht angegeben |
fallbackReferences | Eine Liste von UUIDs von alternativen KI-Voreinstellungen, die als Fallback verwendet werden können, wenn die unter reference angegebene KI-Voreinstellung nicht verfügbar ist. | Nein | Ein leeres Array, wenn nicht angegeben |
configGroup | Wenn Sie Benutzern im Chat viele Voreinstellungen zur Auswahl anbieten, kann es hilfreich sein, die Voreinstellungen zu gruppieren. Sie können dazu Gruppennamen frei definieren und KI-Voreinstellungen den Gruppen zuordnen. | Nein | undefined |
Beispiele
Rückgabewert
Die Funktion gibt das erstellte Einstellungsobjekt zurück. Beispiel:
{ "settings" : { "apiKey" : "BpdtgiwlRyD5l7kB+YXm+5fb4pBlQiZq3fAPr/UaKXGDbq0S5bpTLY4wnR9+sDsrqKcgTK4sI5im4yvyYBC4Aajmc+4jlYaNQM9Vrsl0ahjYWzNvb/nEBS9blUoC4MSTAPmjXJOvzJfVcGwmAcDfXvtfilFV/Hv0ZSrTm34x+F4HmBiUjd7ooCsGFC7Rjon9uDPgDPuYBeoRANQep08fflGet5NwS0Xyir0xQCHtrIXlzn9Smw6OxCHMMCEFiVjgXHzxhr6rCZTw450A4M9PK3NQ9pn1TRISYWAnKUhmSrCmb+yApiECxkVrwy4pPNNlC/o2r1IqhKaVxxj7cIttsg==", "model" : "gpt4o" }, "capabilities" : { "images" : true, "texts" : true, "tools" : true }, "configGroup" : null, "fallbackReferences" : null, "displayName" : "my-openai-settings", "active" : true, "tools" : null, "reference" : null, "default" : false, "usableInChat" : false, "provider" : "openai", "name" : "mypreset", "isReference" : null, "id" : "bd1663f2-e3f9-4c82-94a8-ff95ebb9c63b", "projectName" : null, "parameters" : { "max_tokens" : 10000, "temperature" : 1.0, "context" : "test context", "timeout" : 100000, "limitHistory" : 5 }, "userGroup" : "af258ae0-3160-11f0-8b8b-00007f000101", "connectionTested" : null }
Exceptions
Wenn der Name der KI-Voreinstellung, die erstellt werden soll, nicht angegeben ist, erhalten Sie folgenden Fehler:
Error: "name" is not defined
Die Funktion get ruft die gespeicherten Einstellungen einer KI-Voreinstellung basierend auf deren ID ab. Zusätzlich entschlüsselt sie den API-Key, sofern er in den Einstellungen vorhanden ist.
Syntax
get(id)
Parameter
Parameter | Beschreibung | Pflicht | Standard |
---|---|---|---|
id | Die eindeutige ID der KI-Voreinstellung. | Ja | - |
Beispiel
let settings = require('/agorum/roi/customers/agorum.ai/js/lib/presets-settings'); settings.get('bd1663f2-e3f9-4c82-94a8-ff95ebb9c63b');
Rückgabewert
Die Funktion gibt die KI-Voreinstellungen als Objekt zurück oder undefined, wenn keine entsprechende KI-Voreinstellung gefunden wird.
Die Funktion getConfigByName sucht eine KI-Voreinstellung anhand ihres Namens und kann optional die Referenzierung berücksichtigen, um die direkte oder die referenzierte KI-Voreinstellung zurückzugeben. Standardmäßig erhalten Sie die Einstellung der referenzierten KI-Voreinstellung zurück, also nicht unbedingt die Einstellungen der Voreinstellung mit dem angegebenen Namen.
Syntax
getConfigByName(name, direct, fallbackToUse)
Parameter
Parameter | Beschreibung | Pflicht | Standard |
---|---|---|---|
name (String) | Der Name der Voreinstellung, die gesucht werden soll. | Ja | - |
direct (Boolean) | Gibt an, ob die KI-Voreinstellung direkt abgerufen werden soll, ohne Referenzen. | Nein | false |
fallbackToUse (String) | ID der Fallback-Einstellung. | Nein | - |
Beispiel
let settings = require('/agorum/roi/customers/agorum.ai/js/lib/presets-settings'); settings.getConfigByName('mypreset');
Rückgabewert
Die Funktion gibt die KI-Voreinstellungen für den angegebenen Namen zurück oder undefined, wenn keine entsprechende Voreinstellung gefunden wird. Für eine Liste der Einstellungen siehe Parameter für die KI-Voreinstellungen.
Die Funktion getUserDefaultConfig ruft die für den Benutzer eingestellte Standard-KI-Voreinstellung für den Benutzer-Chat ab oder gibt undefined zurück, wenn keine KI-Voreinstellung für den Benutzer gefunden wird.
Die Standard-KI-Voreinstellung ist die erste KI-Voreinstellung mit der Einstellung default:true oder wenn keine entsprechende KI-Voreinstellung vorhanden ist, die erste KI-Voreinstellung für den Benutzer-Chat.
Syntax
getUserDefaultConfig(user)
Parameter
Parameter | Beschreibung | Pflicht | Standard |
---|---|---|---|
user (agorum.Object) | Der Benutzer, für den die abzufragenden Standard-KI-Voreinstellungen zutreffen. | nein | der aktuelle Benutzer |
Beispiel
let settings = require('/agorum/roi/customers/agorum.ai/js/lib/presets-settings'); settings = settings.getUserDefaultConfig();
Rückgabewert
Die Funktion gibt ein Objekt mit den Einstellungen der Standard-KI-Voreinstellung des Benutzers zurück oder undefined, wenn keine entsprechende Voreinstellung gefunden wird. Für eine Liste der Einstellungen siehe Parameter für die KI-Voreinstellungen.
Die Funktion getConfigObject sucht das Konfigurationsobjekt für eine bestimmte KI-Voreinstellung und gibt die ID des Objekts zurück. Sie dient als Grundlage, um auf die gespeicherten Einstellungen zuzugreifen.
Syntax
getConfigObject(id)
Parameter
Parameter | Beschreibung | Pflicht | Standard |
---|---|---|---|
id | Die eindeutige ID der KI-Voreinstellung. | Ja | - |
Beispiel
let settings = require('/agorum/roi/customers/agorum.ai/js/lib/presets-settings'); settings.getConfigObject('bd1663f2-e3f9-4c82-94a8-ff95ebb9c63b');
Rückgabewert
Die Funktion gibt die ID der Datei mit den Einstellungen zurück oder undefined, wenn keine entsprechende KI-Voreinstellung gefunden wird.
Die Funktion getUserConfigs ruft die für den angegebenen Benutzer sichtbaren und verwendbaren KI-Voreinstellungen ab. Dabei werden die KI-Voreinstellungen nach aktiven und im Chat verwendbaren Voreinstellungen gefiltert, also den Chats, die die Einstellungen active: true und usableInChat: true haben.
Syntax
getUserConfigs(user)
Parameter
Parameter | Beschreibung | Pflicht | Standard |
---|---|---|---|
user (agorum.Object) | Der Benutzer, für den die abzufragenden KI-Voreinstellungen zutreffen. | nein | der aktuelle Benutzer |
Beispiel
let settings = require('/agorum/roi/customers/agorum.ai/js/lib/presets-settings'); settings = settings.getUserConfigs();
Rückgabewert
Die Funktion gibt ein Array von Objekten zurück oder undefined, wenn keine Voreinstellung gefunden wird. Jedes Objekt enthält die Informationen zu einer KI-Voreinstellung. Für eine Liste der Einstellungen siehe Parameter für die KI-Voreinstellungen.
Beispiel:
[ { "default" : false, "configGroup" : null, "displayName" : "user-chat-preset", "name" : "agorum_doc_test_-myrefpreset", "id" : "716e4810-408b-11f0-955b-02420a0a0010", "uuid" : "716e4810-408b-11f0-955b-02420a0a0010" }, { "default" : false, "configGroup" : "Development", "displayName" : "Develop with agorum core", "name" : "agorum_ai_internal_dev_agorum_core_development", "id" : "7b765b60-3af8-11f0-af1d-02420a0a0018", "uuid" : "7b765b60-3af8-11f0-af1d-02420a0a0018" } ]
Die Funktion remove entfernt die angegebene KI-Voreinstellung.
Syntax
remove(id)
Parameter
Parameter | Beschreibung | Pflicht | Standard |
---|---|---|---|
id (String) | Die UUID der KI-Voreinstellung, die entfernt werden soll. | ja | - |
Beispiel
let settings = require('/agorum/roi/customers/agorum.ai/js/lib/presets-settings'); settings = settings.remove('3d458126-95e0-48dd-976f-ede517c4ae53');
Rückgabewert/Exceptions
Die Funktion löscht die KI-Voreinstellung mit der angegebenen UUID und gibt undefined zurück. Die Funktion remove wirft einen Fehler, wenn die angegebene UUID nicht gefunden wird. Beispiel:
Error: Preset 3d458126-95e0-48dd-976f-ede517c4ae52 is unknown
Die Funktion search durchsucht das agorum core System nach KI-Voreinstellungen basierend auf einer optionalen Abfrage und einer Begrenzung der Ergebnismenge.
Syntax
search(query, limit)
Parameter
Parameter | Beschreibung | Pflicht | Standard |
---|---|---|---|
query (String) | Eine optionale Abfrage, um nach sichtbaren Konfigurationen zu suchen. | nein | - |
limit (Number) | Begrenzung der Anzahl der Abfrageergebnisse. | nein | - |
Beispiele
Die folgende Anfrage gibt alle vorhandenen KI-Voreinstellungen zurück:
let settings = require('/agorum/roi/customers/agorum.ai/js/lib/presets-settings'); settings = settings.search('*');
Die folgende Anfrage gibt nur die angegebene Höchstzahl von KI-Voreinstellungen (hier 3) zurück:
let settings = require('/agorum/roi/customers/agorum.ai/js/lib/presets-settings'); settings = settings.search('*', 3);
Rückgabewert
Die Funktion search gibt ein Array von Objekten mit Basisinformationen zu den gefundenen KI-Voreinstellungen zurück. Beispiel:
[ { "displayName" : "my-openai-settings2", "name" : "mypreset", "id" : "009e3e8a-41f4-4d2b-bba1-ca6e7fd15de4" }, { "displayName" : "user-chat-preset", "name" : "my-preset-reference", "id" : "798a20ce-d69a-44e3-a644-7c85937fbcfa" }, { "displayName" : "my-openai-settings", "name" : "mypreset", "id" : "d4e71ee6-c8ad-4906-bcf5-72638ad7fcc3" } ]
Die Funktion set erstellt oder aktualisiert eine KI-Voreinstellung und speichert sie im Workspace. Falls ein neuer API-Schlüssel angegeben wird, wird dieser verschlüsselt darin gespeichert.
Hinweis: Die Funktion testet nicht, ob eine Verbindung zum angegebenen Sprachmodell hergestellt werden kann.
Syntax
set(data)
Parameter
Parameter | Beschreibung | Pflicht | Standard |
---|---|---|---|
data (Object) | Ein Objekt mit den Einstellungen für die KI-Voreinstellung. Für die Objekt-Parameter siehe Parameter des data-Objekts für die Voreinstellungen. | ja | - |
Beispiele
Rückgabewert
Die Funktion set gibt das neue oder aktualisierte Einstellungsobjekt zurück. Für eine Liste der Einstellungen siehe Parameter für die KI-Voreinstellungen.
Exceptions
Wenn der Name der KI-Voreinstellung, deren Einstellungen gesetzt werden sollen, nicht angegeben ist, erhalten Sie folgenden Fehler:
Error: "name" is not defined
Die Funktion setName aktualisiert den Namen einer vorhandenen KI-Voreinstellung anhand ihrer ID. Sie dient der Umbenennung von Voreinstellungen, um klare und beschreibende Namen sicherzustellen.
Syntax
setName(data)
Parameter des data-Objekts für die Namensänderung
Parameter | Beschreibung | Pflicht | Standard |
---|---|---|---|
id (String) | Die UUID der KI-Voreinstellung. | ja | - |
name (String) | Neuer Name der KI-Voreinstellung. | nein | - |
Beispiel
let settings = require('/agorum/roi/customers/agorum.ai/js/lib/presets-settings'); newNameSettings = settings.setName({ id: '009e3e8a-41f4-4d2b-bba1-ca6e7fd15de4', name: 'MyNewName' });
Rückgabewert
Die Funktion setName gibt das neue oder aktualisierte Einstellungsobjekt zurück. Für eine Liste der Einstellungen siehe Parameter für die KI-Voreinstellungen.
Exceptions
Die Funktion setName wirft einen Fehler, wenn keine id angegeben ist oder keine passende KI-Voreinstellung gefunden wird.