From cd823daa7de9c11be2ad98c5cd5e75f6fdcf5a16 Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Sun, 21 Sep 2025 14:14:37 +0200 Subject: [PATCH] update --- .prompts/customAgents.yml | 32 +++++++++++++++++++++++++++ docker/docker-compose-dev.yaml | 13 +++++------ workflow/offer-en-1.0.0.bpmn | 38 +++++++++++++++++++-------------- workflow/offer-proposal-de.json | 19 +++++++++++++++++ workflow/offer-proposal-de.xml | 32 --------------------------- workflow/offer-proposal-en.xml | 38 +++++++++++++++++++++++++++++++++ 6 files changed, 118 insertions(+), 54 deletions(-) create mode 100644 .prompts/customAgents.yml create mode 100644 workflow/offer-proposal-de.json delete mode 100644 workflow/offer-proposal-de.xml create mode 100644 workflow/offer-proposal-en.xml diff --git a/.prompts/customAgents.yml b/.prompts/customAgents.yml new file mode 100644 index 0000000..8071335 --- /dev/null +++ b/.prompts/customAgents.yml @@ -0,0 +1,32 @@ +- id: process-advisor + name: ProcessAdvisor + description: This is an example agent. Please adapt the properties to fit your needs. + prompt: >- + {{!-- Note: The context section below will resolve all context elements + (e.g. files) to their full content + + in the system prompt. Context elements can be added by the user in the + default chat view (e.g. via DnD or the "+" button). + + If you want a more fine-grained, on demand resolvement of context elements, + you can also resolve files to their paths only + + and equip the agent with functions so that the LLM can retrieve files on + demand. See the Coder Agent prompt for an example.--}} + + + # Role + + You are ProcessAdvisor, an AI assistant integrated into Theia IDE specifically designed to help developers and business analysts with business process management and process modeling. + + ## Get startet + + To get startet ask the user about his company and his role in this company. Also ask him about the goal of his process. + + ## Current Context + + Some files and other pieces of data may have been added by the user to the + context of the chat. If any have, the details can be found below. + + {{contextDetails}} + defaultLLM: imixs-llama-cpp diff --git a/docker/docker-compose-dev.yaml b/docker/docker-compose-dev.yaml index 8c1163c..654d436 100644 --- a/docker/docker-compose-dev.yaml +++ b/docker/docker-compose-dev.yaml @@ -42,9 +42,10 @@ services: # Imixs-AI # Optional configured via imixs.properties - LLM_SERVICE_ENDPOINT: "https://llama.cpp.imixs.com/" - LLM_SERVICE_ENDPOINT_USER: "admin" - LLM_SERVICE_ENDPOINT_PASSWORD: "imixs4.null" + LLM_SERVICE_ENDPOINT: "https://api.llama.cpp.imixs.com/" + # LLM_SERVICE_ENDPOINT_USER: "admin" + # LLM_SERVICE_ENDPOINT_PASSWORD: "imixs4.null" + LLM_SERVICE_ENDPOINT_APIKEY: "7fdb663fa87ea16731c1e0ece8ad3214e358423eabf2403188110c731ce07321" # Cassandra Embeddings EMBEDDINGS_CLUSTER_CONTACTPOINTS: "cassandra" @@ -134,13 +135,13 @@ services: - prometheusdata:/prometheus/ grafana: - image: grafana/grafana:10.4.0 # Aktuelle stabile Version + image: grafana/grafana:10.4.0 # Aktuelle stabile Version ports: - "3000:3000" environment: - - GF_SECURITY_ADMIN_PASSWORD=admin # Standardpasswort setzen + - GF_SECURITY_ADMIN_PASSWORD=admin # Standardpasswort setzen volumes: - - grafana-storage:/var/lib/grafana # Persistente Daten + - grafana-storage:/var/lib/grafana # Persistente Daten #networks: # - monitoring diff --git a/workflow/offer-en-1.0.0.bpmn b/workflow/offer-en-1.0.0.bpmn index b09a5b6..36fa669 100644 --- a/workflow/offer-en-1.0.0.bpmn +++ b/workflow/offer-en-1.0.0.bpmn @@ -1455,33 +1455,39 @@ Color: _color
- - + + - {"n_predict": 4096, "temperature": 0} - {"n_predict": 4096, "temperature": 0} + request.description [INST] -Zu dem hier vorliegenden Angebot kommen folgende Produkte in Frage: - +The following products are relevant for the current request: - $workflowabstract +Product: product.name +Category: product.category / product.subcategory +Price: product.price _currency +Product Details: +product.description + +----------------------------------------------------------------------------- +Instructions for creating the offer: -Prüfe welches dieser Produkte am besten für die Anfrage geeignet ist und erstelle ein Angebot sowie eine kurze Begründung für deine Auswahl die für den Kunden verständlich ist. - -Füge eine Tabelle mit den folgenden Spalten für die Angebotserstellung mit ein: - -- Produkt -- Menge -- Preis pro Stück -- Mehrwertsteuer -- Gesamtpreis +1. Choose the most suitable products for the request. +2. **Do not include more than one product per category.** If multiple products are from the same category, pick the one that best fits the request. +3. Create a clear table with the following columns: + - Product + - Quantity + - Price per unit +4. Provide a short, customer-friendly explanation of why each selected product was chosen. +5. The offer and all explanations should be written in English. +6. Ensure the table contains only the selected products (one per category). [/INST] diff --git a/workflow/offer-proposal-de.json b/workflow/offer-proposal-de.json new file mode 100644 index 0000000..e9d85fe --- /dev/null +++ b/workflow/offer-proposal-de.json @@ -0,0 +1,19 @@ +{ + "model": "gpt-4o-mini", + "messages": [ + { + "role": "system", + "content": "Du bist Vertriebsmitarbeiter bei der LUPI Wärmetauscher GmbH. Deine Aufgabe ist es, eingehende Anfragen zu beantworten und Vorschläge für Angebote zu unterbreiten." + }, + { + "role": "user", + "content": "request.description" + }, + { + "role": "user", + "content": "Zu dem hier vorliegenden Angebot kommen folgende Produkte in Frage:\n\n\n $workflowabstract\n\n\nPrüfe welches dieser Produkte am besten für die Anfrage geeignet ist und erstelle ein Angebot sowie eine kurze Begründung für deine Auswahl, die für den Kunden verständlich ist.\n\nFüge eine Tabelle mit den folgenden Spalten für die Angebotserstellung mit ein:\n\n- Produkt\n- Menge\n- Preis pro Stück\n- Mehrwertsteuer\n- Gesamtpreis" + } + ], + "temperature": 0, + "max_tokens": 2048 +} \ No newline at end of file diff --git a/workflow/offer-proposal-de.xml b/workflow/offer-proposal-de.xml deleted file mode 100644 index 8c7bec0..0000000 --- a/workflow/offer-proposal-de.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - {"n_predict": 4096, "temperature": 0} - request.description - -[INST] - -Zu dem hier vorliegenden Angebot kommen folgende Produkte in Frage: - - - - $workflowabstract - - - -Prüfe welches dieser Produkte am besten für die Anfrage geeignet ist und erstelle ein Angebot sowie eine kurze Begründung für deine Auswahl die für den Kunden verständlich ist. - -Füge eine Tabelle mit den folgenden Spalten für die Angebotserstellung mit ein: - -- Produkt -- Menge -- Preis pro Stück -- Mehrwertsteuer -- Gesamtpreis - - -[/INST] -]]> - - \ No newline at end of file diff --git a/workflow/offer-proposal-en.xml b/workflow/offer-proposal-en.xml new file mode 100644 index 0000000..dcc3783 --- /dev/null +++ b/workflow/offer-proposal-en.xml @@ -0,0 +1,38 @@ + + + {"n_predict": 4096, "temperature": 0} + request.description + +[INST] + +The following products are relevant for the current request: + + +Product: product.name +Category: product.category / product.subcategory +Price: product.price _currency +Product Details: +product.description + +----------------------------------------------------------------------------- + + +Instructions for creating the offer: + +1. Choose the most suitable products for the request. +2. **Do not include more than one product per category.** If multiple products are from the same category, pick the one that best fits the request. +3. Create a clear table with the following columns: + - Product + - Quantity + - Price per unit +4. Provide a short, customer-friendly explanation of why each selected product was chosen. +5. The offer and all explanations should be written in English. +6. Ensure the table contains only the selected products (one per category). + + +[/INST] +]]> + + \ No newline at end of file