This commit is contained in:
Ralph Soika 2025-09-21 14:14:37 +02:00
parent 8082b208cd
commit cd823daa7d
6 changed files with 118 additions and 54 deletions

32
.prompts/customAgents.yml Normal file
View file

@ -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

View file

@ -42,9 +42,10 @@ services:
# Imixs-AI # Imixs-AI
# Optional configured via imixs.properties # Optional configured via imixs.properties
LLM_SERVICE_ENDPOINT: "https://llama.cpp.imixs.com/" LLM_SERVICE_ENDPOINT: "https://api.llama.cpp.imixs.com/"
LLM_SERVICE_ENDPOINT_USER: "admin" # LLM_SERVICE_ENDPOINT_USER: "admin"
LLM_SERVICE_ENDPOINT_PASSWORD: "imixs4.null" # LLM_SERVICE_ENDPOINT_PASSWORD: "imixs4.null"
LLM_SERVICE_ENDPOINT_APIKEY: "7fdb663fa87ea16731c1e0ece8ad3214e358423eabf2403188110c731ce07321"
# Cassandra Embeddings # Cassandra Embeddings
EMBEDDINGS_CLUSTER_CONTACTPOINTS: "cassandra" EMBEDDINGS_CLUSTER_CONTACTPOINTS: "cassandra"

View file

@ -1455,33 +1455,39 @@ Color: <itemvalue>_color</itemvalue><br />
<bpmn2:association id="association_AIXGmw" sourceRef="dataObject_axJA7Q" targetRef="event_P1MFZQ"> <bpmn2:association id="association_AIXGmw" sourceRef="dataObject_axJA7Q" targetRef="event_P1MFZQ">
<bpmn2:documentation id="documentation_kEcmWQ"/> <bpmn2:documentation id="documentation_kEcmWQ"/>
</bpmn2:association> </bpmn2:association>
<bpmn2:dataObject id="dataObject_iq4agg" imixs:datatype="prompt-data" name="Prompt"> <bpmn2:dataObject id="dataObject_iq4agg" name="Prompt">
<bpmn2:documentation id="documentation_fFWo7Q" open-bpmn:file-link="file://offer-proposal-de.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?> <bpmn2:documentation id="documentation_fFWo7Q" open-bpmn:file-link="file://offer-proposal-en.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<PromptDefinition> <PromptDefinition>
<prompt_options>{"n_predict": 4096, "temperature": 0}</prompt_options> <prompt_options>{"n_predict": 4096, "temperature": 0}</prompt_options>
<prompt><![CDATA[[INST] 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. [/INST] <prompt><![CDATA[[INST] You are a sales representative. Your task is to respond to incoming inquiries and provide suggestions for offers. [/INST]
<itemvalue>request.description</itemvalue> <itemvalue>request.description</itemvalue>
</s>[INST] </s>[INST]
Zu dem hier vorliegenden Angebot kommen folgende Produkte in Frage: The following products are relevant for the current request:
<for-each-ref item="product.ref"> <for-each-ref item="product.ref">
<itemvalue>$workflowabstract</itemvalue> Product: <itemvalue>product.name</itemvalue>
Category: <itemvalue>product.category</itemvalue> / <itemvalue>product.subcategory</itemvalue>
Price: <itemvalue>product.price</itemvalue> <itemvalue>_currency</itemvalue>
Product Details:
<itemvalue>product.description</itemvalue>
-----------------------------------------------------------------------------
</for-each-ref> </for-each-ref>
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. 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.
Füge eine Tabelle mit den folgenden Spalten für die Angebotserstellung mit ein: 3. Create a clear table with the following columns:
- Product
- Produkt - Quantity
- Menge - Price per unit
- Preis pro Stück 4. Provide a short, customer-friendly explanation of why each selected product was chosen.
- Mehrwertsteuer 5. The offer and all explanations should be written in English.
- Gesamtpreis 6. Ensure the table contains only the selected products (one per category).
[/INST] [/INST]

View file

@ -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": "<itemvalue>request.description</itemvalue>"
},
{
"role": "user",
"content": "Zu dem hier vorliegenden Angebot kommen folgende Produkte in Frage:\n\n<for-each-ref item=\"product.ref\">\n <itemvalue>$workflowabstract</itemvalue>\n</for-each-ref>\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
}

View file

@ -1,32 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<PromptDefinition>
<prompt_options>{"n_predict": 4096, "temperature": 0}</prompt_options>
<prompt><![CDATA[[INST] 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. [/INST]
<itemvalue>request.description</itemvalue>
</s>[INST]
Zu dem hier vorliegenden Angebot kommen folgende Produkte in Frage:
<for-each-ref item="product.ref">
<itemvalue>$workflowabstract</itemvalue>
</for-each-ref>
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]
]]>
</prompt>
</PromptDefinition>

View file

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<PromptDefinition>
<prompt_options>{"n_predict": 4096, "temperature": 0}</prompt_options>
<prompt><![CDATA[[INST] You are a sales representative. Your task is to respond to incoming inquiries and provide suggestions for offers. [/INST]
<itemvalue>request.description</itemvalue>
</s>[INST]
The following products are relevant for the current request:
<for-each-ref item="product.ref">
Product: <itemvalue>product.name</itemvalue>
Category: <itemvalue>product.category</itemvalue> / <itemvalue>product.subcategory</itemvalue>
Price: <itemvalue>product.price</itemvalue> <itemvalue>_currency</itemvalue>
Product Details:
<itemvalue>product.description</itemvalue>
-----------------------------------------------------------------------------
</for-each-ref>
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]
]]>
</prompt>
</PromptDefinition>