update models, docu
This commit is contained in:
parent
bafce742e5
commit
7efe8a05bc
10 changed files with 1865 additions and 1215 deletions
18
doc/RAG.md
18
doc/RAG.md
|
|
@ -10,9 +10,16 @@ In summary, Retrieval Augmented Generation (RAG) describes a method that uses ar
|
||||||
|
|
||||||
The following section give a general overview how the Retrieval-augmented generation (RAG) is realized in Dynamixs AI.
|
The following section give a general overview how the Retrieval-augmented generation (RAG) is realized in Dynamixs AI.
|
||||||
|
|
||||||
|
## The Model
|
||||||
|
|
||||||
|
The retrieval data in Dynamixs.AI is generated by the LLM [ nomic-embed-text-v2-moe](https://huggingface.co/nomic-ai/nomic-embed-text-v2-moe-GGUF) which is
|
||||||
|
a [sentence-transformers model](https://www.sbert.net/) supporting more then 100 languages and trained on over 1.6B pairs.
|
||||||
|
The model is used in Q4 quantitation and a size of 328MiB which provides a good quality for most use cases.
|
||||||
|
The model maps sentences & paragraphs to a 768 dimensional dense vector space. It can be run on a CPU with adequate performance.
|
||||||
|
|
||||||
## Storage
|
## Storage
|
||||||
|
|
||||||
The retrieval data is stored in a [Cassandra Database](CASSANDRA.md) with the following schema:
|
The retrieval data generated by the LLM is stored in a [Cassandra Database](CASSANDRA.md) with the following schema:
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
CREATE TABLE IF NOT EXISTS document_vectors (
|
CREATE TABLE IF NOT EXISTS document_vectors (
|
||||||
|
|
@ -24,8 +31,7 @@ CREATE TABLE IF NOT EXISTS document_vectors (
|
||||||
);
|
);
|
||||||
```
|
```
|
||||||
|
|
||||||
The retrieval data is generated by the LLM [all-MiniLM-L6-v2](https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2) which is
|
The following section explains the schema in more detail.
|
||||||
a [sentence-transformers model](https://www.sbert.net/) that maps sentences & paragraphs to a 384 dimensional dense vector space.
|
|
||||||
|
|
||||||
### The Chunk Content
|
### The Chunk Content
|
||||||
|
|
||||||
|
|
@ -51,17 +57,17 @@ Without the stored text, the retrieval part of RAG would not be possible, as you
|
||||||
|
|
||||||
### The Content Reference
|
### The Content Reference
|
||||||
|
|
||||||
Together with the `content_chunk` the RAG system stores also the UniqueID from to the referred process instance within the workflow instance. This is a hybrid concept that provides several advantages:
|
Together with the `content_chunk` the RAG system stores also the UniqueID from to the referred business process instance within the workflow instance. This is a hybrid concept that provides several advantages:
|
||||||
|
|
||||||
**1. Normalization and Consistency**
|
**1. Normalization and Consistency**
|
||||||
|
|
||||||
- Single Source of Truth: The main Document data exist only once in the imixs-workflow system.
|
- Single Source of Truth: The main Document with the full data exist only once in the imixs-workflow system.
|
||||||
- Changes to data inside a process instance which is not part of the Vector DB are automatically available without the need to update the Vector DB.
|
- Changes to data inside a process instance which is not part of the Vector DB are automatically available without the need to update the Vector DB.
|
||||||
- No full data duplication.
|
- No full data duplication.
|
||||||
|
|
||||||
**2. Better Integration**
|
**2. Better Integration**
|
||||||
|
|
||||||
- Easy access not only to text chunks but also the complete business process objects with its metadata.
|
- Easy access not only to text chunks but also the complete business process objects with its metadata for further refinement of a result set.
|
||||||
- Ability to apply additional business logic (permissions, status, etc.).
|
- Ability to apply additional business logic (permissions, status, etc.).
|
||||||
|
|
||||||
**3. Flexibility**
|
**3. Flexibility**
|
||||||
|
|
|
||||||
65
docker/import_examples/csv_clean.sh
Executable file
65
docker/import_examples/csv_clean.sh
Executable file
|
|
@ -0,0 +1,65 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Überprüfen, ob eine Eingabedatei angegeben wurde
|
||||||
|
if [ $# -ne 1 ]; then
|
||||||
|
echo "Verwendung: $0 input.csv"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
input_file="$1"
|
||||||
|
output_file="${input_file%.*}_clean.csv"
|
||||||
|
|
||||||
|
# Temporäre Datei für die Verarbeitung
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
|
||||||
|
# Verarbeitung:
|
||||||
|
# 1. Zuerst alle echten Zeilenumbrüche (die nicht in Anführungszeichen sind) markieren
|
||||||
|
# 2. Dann Newlines innerhalb von Anführungszeichen durch Leerzeichen ersetzen
|
||||||
|
# 3. HTML-Tags entfernen
|
||||||
|
# 4. Markierte Zeilenumbrüche wiederherstellen
|
||||||
|
|
||||||
|
awk '
|
||||||
|
BEGIN { FPAT = "([^;]*)|(\"[^\"]+\")"; OFS=";"; in_quotes=0 }
|
||||||
|
{
|
||||||
|
# Zeilen zusammenfügen, wenn sie unvollständig sind (nur für Sicherheit)
|
||||||
|
if (NR == 1) {
|
||||||
|
full_line = $0
|
||||||
|
} else {
|
||||||
|
full_line = full_line " " $0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Überprüfen, ob die Zeile vollständig ist (gleich viele öffnende und schließende Anführungszeichen)
|
||||||
|
quotes = gsub(/"/, "&", full_line)
|
||||||
|
if (quotes % 2 == 0) {
|
||||||
|
# Zeile ist vollständig, jetzt verarbeiten
|
||||||
|
$0 = full_line
|
||||||
|
|
||||||
|
# Newlines in jedem Feld durch Leerzeichen ersetzen
|
||||||
|
for (i=1; i<=NF; i++) {
|
||||||
|
# HTML-Tags entfernen
|
||||||
|
gsub(/<[^>]*>/, "", $i)
|
||||||
|
|
||||||
|
# Newlines und mehrfache Leerzeichen bereinigen
|
||||||
|
gsub(/\n/, " ", $i)
|
||||||
|
gsub(/ +/, " ", $i)
|
||||||
|
|
||||||
|
# Feld trimmen
|
||||||
|
sub(/^[ \t]+/, "", $i)
|
||||||
|
sub(/[ \t]+$/, "", $i)
|
||||||
|
|
||||||
|
# Feld wieder in Anführungszeichen setzen, wenn es Semikolons oder Anführungszeichen enthält
|
||||||
|
if (($i ~ /;/ || $i ~ /"/) && $i !~ /^".*"$/) {
|
||||||
|
gsub(/"/, "\"\"", $i) # Escape existing quotes
|
||||||
|
$i = "\"" $i "\""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
print
|
||||||
|
full_line = ""
|
||||||
|
}
|
||||||
|
}' "$input_file" > "$temp_file"
|
||||||
|
|
||||||
|
# Endgültige Bereinigung
|
||||||
|
mv "$temp_file" "$output_file"
|
||||||
|
|
||||||
|
echo "Bereinigte Datei wurde erstellt: $output_file"
|
||||||
146
docker/import_examples/lupi-product-export_clean.csv
Normal file
146
docker/import_examples/lupi-product-export_clean.csv
Normal file
|
|
@ -0,0 +1,146 @@
|
||||||
|
ID;Name; Description;stock;price;category;Lieferzeit;EAN
|
||||||
|
579;Wandkonsole für LP-65 bis LP-375;Wandhalterung für Pooltauscher LP-65 bis LP375;1;17,9;Wandhalterung;;2091465262179
|
||||||
|
587;LP-175VA 50kW;Hochwertiger Edelstahl-Wärmetauscher für Schwimmbad- und Poolbezeizung. Ideal in Verbindung mit Solaranlagen bis 50kW.;1;229,9;Pool Wärmetauscher > Rohrförmig aus Edelstahl;Die Lieferzeit beträgt 10 bis 15 Tage;5286196620740
|
||||||
|
727;MUSTERARTIKEL;Hochwertiger Edelstahl-Wärmetauscher für Schwimmbad- und Poolbezeizung. Ideal in Verbindung mit Solaranlagen bis 50kW.;0;119,9;Pool Wärmetauscher;;1282898648918
|
||||||
|
737;LP-65VA 20kW;Hochwertiger Edelstahl-Wärmetauscher für Schwimmbadbezeizung.;1;189,9;Pool Wärmetauscher > Rohrförmig aus Edelstahl;;3879177514583
|
||||||
|
741;LP-100VA 30kW;Hochwertiger Edelstahl-Wärmetauscher für Schwimmbadbezeizung.;1;199,9;Pool Wärmetauscher > Rohrförmig aus Edelstahl;;9055773261265
|
||||||
|
742;LP-230VA 70kW;Hochwertiger Edelstahl-Wärmetauscher für Schwimmbadbezeizung.;1;289,9;Pool Wärmetauscher > Rohrförmig aus Edelstahl;;1150028980156
|
||||||
|
743;LP-325VA 95kW;Hochwertiger Edelstahl-Wärmetauscher für Schwimmbadbezeizung.;0;328,9;Pool Wärmetauscher > Rohrförmig aus Edelstahl;;5029747624534
|
||||||
|
745;LP-375VA 115kW;Hochwertiger Edelstahl-Wärmetauscher für Schwimmbadbeheizung.;0;439,9;Pool Wärmetauscher > Rohrförmig aus Edelstahl;;9883725074294
|
||||||
|
747;Edelstahl Pool Wärmetauscher Typ SP-100-K;Hochwertiger Plattenwärmetauscher aus Edelstahl zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen.;1;199,9;Pool Wärmetauscher;;1773215338624
|
||||||
|
1000;Abgaswärmetauscher AWT-7/150VA;Abgaswärmetauscher mit Edelstahl Tauscherspirale.Dieser Tauscher wurde speziell für Kamin und Kachelöfen entwickelt.;1;279,9;Abgaswärmetauscher;;4877111475333
|
||||||
|
1002;Abgaswärmetauscher AWT-7/150-Titan;Abgaswärmetauscher mit titanlegierter Edelstahl Tauscherspirale entwickelt für höchste Temperatur- und Feuchtebelastungen. Dieser Tauscher ist für extreme Langlebigkeit und Beständigkeit ausgelegt.;1;285,9;Abgaswärmetauscher;;9680811891595
|
||||||
|
1003;Abgastauscher Regelung Typ ATR-4;Abgastauscher Regelung für eine optimale Ausnutzung und Energieeinsparung in Verbindung mit unseren Abgaswärmetauschern.;1;199,9;Abgaswärmetauscher;;8567222480604
|
||||||
|
1004;Abgastauscher Regelung Typ ATR-6;Abgastauscher Regelung für eine optimale Ausnutzung und Energieeinsparung. Diese Regelung unterstützt durch einen zusätzlichen Sensor die Ansteuerung eines zweiten Heizkreises.;0;239,9;Abgaswärmetauscher;;5686660235911
|
||||||
|
1007;Kehrbesenset für AWT-7;Kehrbesenset für Abgastauscher Reihe AWT-7;1;39,9;Abgaswärmetauscher;;1941032767914
|
||||||
|
1046;Edelstahl Plattenwärmetauscher Typ B3-12A-12;"Edelstahl Plattenwärmetauscher für Pflanzenölvorwärmung bei PKW und LKW; Heizkreistrennungen und Solaranlagen";1;69,9;Plattenwärmetauscher > B3-12 Baureihe / gelötet;;1438856474369
|
||||||
|
1048;Edelstahl Plattenwärmetauscher Typ B3-12A-12 mit Dämmschale;"Edelstahl Plattenwärmetauscher für Pflanzenölvorwärmung bei PKW und LKW; Heizkreistrennungen und Solaranlagen";1;74,9;Plattenwärmetauscher > B3-12 Baureihe / gelötet;;3500722785805
|
||||||
|
1050;Edelstahl Plattenwärmetauscher Typ B3-12A-20;"Edelstahl Plattenwärmetauscher für Pflanzenölvorwärmung bei PKW und LKW; Heizkreistrennungen und Solaranlagen";1;79,9;Plattenwärmetauscher > B3-12 Baureihe / gelötet;;7887280730963
|
||||||
|
1051;Edelstahl Plattenwärmetauscher Typ B3-12A-30;Edelstahl Plattenwärmetauscher für Pflanzenölvorwärmung bei PKW und LKW;1;99,9;Plattenwärmetauscher > B3-12 Baureihe / gelötet;;4170125892616
|
||||||
|
1052;Edelstahl Plattenwärmetauscher Typ B3-12A-50;Edelstahl Plattenwärmetauscher für Pflanzenölvorwärmung bei PKW und LKW;0;139,9;Plattenwärmetauscher > B3-12 Baureihe / gelötet;;6340907128242
|
||||||
|
1053;Edelstahl Plattenwärmetauscher Typ B3-12A-50 mit Dämmschale;Edelstahl Plattenwärmetauscher für Pflanzenölvorwärmung bei PKW und LKW;0;149,9;Plattenwärmetauscher > B3-12 Baureihe / gelötet;;267078141619
|
||||||
|
1054;Edelstahl Plattenwärmetauscher Typ B3-12A-30 mit Dämmschale;Edelstahl Plattenwärmetauscher für Pflanzenölvorwärmung bei PKW und LKW;1;104,9;Plattenwärmetauscher > B3-12 Baureihe / gelötet;;963840013930
|
||||||
|
1055;Edelstahl Plattenwärmetauscher Typ B3-12A-20 mit Dämmschale;Edelstahl Plattenwärmetauscher für Pflanzenölvorwärmung bei PKW und LKW;1;84,9;Plattenwärmetauscher > B3-12 Baureihe / gelötet;;3918763032312
|
||||||
|
1056;Edelstahl Plattenwärmetauscher Typ B3-23A-30;Edelstahl Plattenwärmetauscher für Pflanzenölvorwärmung bei PKW und LKW;1;184,9;Plattenwärmetauscher > B3-23 Baureihe / gelötet;;1824359393441
|
||||||
|
1057;Edelstahl Plattenwärmetauscher Typ B3-23A-50;Edelstahl Plattenwärmetauscher für Pflanzenölvorwärmung bei PKW und LKW;1;224,9;Plattenwärmetauscher > B3-23 Baureihe / gelötet;;9839666739792
|
||||||
|
1058;Edelstahl Plattenwärmetauscher Typ B3-23A-30 mit Dämmschale;Edelstahl Plattenwärmetauscher für Pflanzenölvorwärmung bei PKW und LKW;1;194,9;Plattenwärmetauscher > B3-23 Baureihe / gelötet;;6501687247749
|
||||||
|
1060;Edelstahl Plattenwärmetauscher Typ B3-23A-50 mit Dämmschale;Edelstahl Plattenwärmetauscher für Pflanzenölvorwärmung bei PKW und LKW;1;254,9;Plattenwärmetauscher > B3-23 Baureihe / gelötet;;9496081864722
|
||||||
|
1076;Wandbefestigung für Plattentauscher M3-54;;1;35,9;Wandhalterung;;3486711401836
|
||||||
|
1077;Wandkonsole für Plattentauscher M4-56;;1;35,9;Wandhalterung;;7097613907430
|
||||||
|
1078;Dämmschale für Plattentauscher M3-S;;1;79,9;Isolierung für Wärmetauscher;;8301096575048
|
||||||
|
1079;Edelstahl Plattenwärmetauscher Typ M5-11-10;"Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für Kühlung von Bierwürze; Milchkühlung sowie als Zwischenkreistauscher für Sole und Grundwasser Wärmepumpen.";1;899;Plattenwärmetauscher > M5-11 Baureihe / zerlegbar;;6639325474032
|
||||||
|
1080;Edelstahl Plattenwärmetauscher Typ M5-11-30;"Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für Kühlung von Bierwürze; Milchkühlung sowie als Zwischenkreistauscher für Sole und Grundwasser Wärmepumpen.";1;1399;Plattenwärmetauscher > M5-11 Baureihe / zerlegbar;;5564792899662
|
||||||
|
1081;Edelstahl Plattenwärmetauscher Typ M6-19-10;;1;1090;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;9921752342730
|
||||||
|
1082;Edelstahl Plattenwärmetauscher Typ M6-19-20;;1;1680;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;7107438924403
|
||||||
|
1083;Edelstahl Plattenwärmetauscher Typ M7-17-10;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für die Poolerwärmung;0;995;Plattenwärmetauscher > M7-17 Baureihe / zerlegbar;;2327483415120
|
||||||
|
1084;Edelstahl Plattenwärmetauscher Typ M7-17-20;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für die Poolerwärmung;1;1295;Plattenwärmetauscher > M7-17 Baureihe / zerlegbar;;6209821998907
|
||||||
|
1085;Edelstahl Plattenwärmetauscher Typ M4-56-10;;1;289,9;Plattenwärmetauscher > M4-56 Baureihe / zerlegbar;;7883295446066
|
||||||
|
1088;Edelstahl Plattenwärmetauscher Typ M4-56-20;Edelstahl Plattenwärmetauscher geeignet für Anwendungen mit geschlossenen Kreisläufen wie z.B. Heizungsanwendungen;1;339,9;Plattenwärmetauscher > M4-56 Baureihe / zerlegbar;;7670612815694
|
||||||
|
1170;Wandkonsole für Plattentauscher B3-12-xx;Wandhalterung für eine schnelle Montage mit praktischem Klettverschlußband.;1;18,9;Wandhalterung;;2837107354495
|
||||||
|
1181;LP-375VA 115kW mit Wärmedämmung;Hochwertiger Schwimmbad-Wärmetauscher aus Edelstahl für Schwimmbadbeheizung mit Wärmedämmung.;0;459;Pool Wärmetauscher > Rohrförmig aus Edelstahl;;8247903213713
|
||||||
|
1188;Wandkonsole für isolierte Pooltauscher LP-xx;Wandhalterung für eine schnelle Montage mit praktischem Klettverschlußband.;1;19,9;Wandhalterung;;5234087663802
|
||||||
|
1191;LP-65VA 20kW mit Wärmedämmung;Hochwertiger Schwimmbad-Wärmetauscher aus Edelstahl für Schwimmbadbeheizung mit Wärmedämmung.;1;219,9;Pool Wärmetauscher > Rohrförmig aus Edelstahl;;938364240247
|
||||||
|
1194;LP-100VA 30kW mit Wärmedämmung;Hochwertiger Schwimmbad-Wärmetauscher aus Edelstahl für Schwimmbadbeheizung mit Wärmedämmung.;1;239,9;Pool Wärmetauscher > Rohrförmig aus Edelstahl;;450118214736
|
||||||
|
1196;LP-175VA 50kW mit Wärmedämmung;Hochwertiger Schwimmbad-Wärmetauscher aus Edelstahl für Schwimmbadbeheizung mit Wärmedämmung.;1;259,9;Pool Wärmetauscher > Rohrförmig aus Edelstahl;;655296358115
|
||||||
|
1198;LP-230VA 70kW mit Wärmedämmung;Hochwertiger Schwimmbad-Wärmetauscher aus Edelstahl für Schwimmbadbeheizung mit Wärmedämmung.;1;329,9;Pool Wärmetauscher > Rohrförmig aus Edelstahl;;8611986118980
|
||||||
|
1200;LP-325VA 95kW mit Wärmedämmung;Hochwertiger Schwimmbad-Wärmetauscher aus Edelstahl für Schwimmbadbeheizung mit Wärmedämmung.;0;389,9;Pool Wärmetauscher > Rohrförmig aus Edelstahl;;9005775281402
|
||||||
|
1204;Dämmschale für Plattentauscher M3-M;Hochwertige Dämmschale für Plattentauscher in verschiedenen Größen;1;89,9;Isolierung für Wärmetauscher;;5367012957872
|
||||||
|
1205;Dämmschale für Plattentauscher M3-L;Hochwertige Dämmschale für Plattentauscher in verschiedenen Größen;1;99,9;Isolierung für Wärmetauscher;;6854117854742
|
||||||
|
1206;Dämmschale für Plattentauscher SP-S;Hochwertige Dämmschale für Plattentauscher in verschiedenen Größen;1;79,9;Isolierung für Wärmetauscher;;1382809012286
|
||||||
|
1207;Dämmschale für Plattentauscher SP-M;Hochwertige Dämmschale für Plattentauscher in verschiedenen Größen;1;89,9;Isolierung für Wärmetauscher;;5461960384619
|
||||||
|
1252;Dämmschale für Plattentauscher M1-S;Hochwertige Dämmschale für Plattentauscher in verschiedenen Größen;1;79,9;Isolierung für Wärmetauscher;;3625664059934
|
||||||
|
1253;Dämmschale für Plattentauscher M1-M;Hochwertige Dämmschale für Plattentauscher in verschiedenen Größen;1;89,9;Isolierung für Wärmetauscher;;4894233116968
|
||||||
|
1254;Dämmschale für Plattentauscher M1-L;Hochwertige Dämmschale für Plattentauscher in verschiedenen Größen;1;99,9;Isolierung für Wärmetauscher;;8183922928019
|
||||||
|
1257;Wandbefestigung für Plattentauscher M1-53;Hochwertige Dämmschale für Plattentauscher in verschiedenen Größen;1;34,9;Wandhalterung;;8183313115592
|
||||||
|
1260;Dämmschale für Plattentauscher M4-L;Hochwertige Dämmschale für Plattentauscher in verschiedenen Größen;1;99,9;Isolierung für Wärmetauscher;;3057639268476
|
||||||
|
1261;Dämmschale für Plattentauscher M4-M;Hochwertige Dämmschale für Plattentauscher in verschiedenen Größen;1;89,9;Isolierung für Wärmetauscher;;1974896712011
|
||||||
|
1263;Edelstahl Plattenwärmetauscher Typ M4-56-30;Edelstahl Plattenwärmetauscher geeignet für Anwendungen mit geschlossenen Kreisläufen wie z.B. Heizungsanwendungen;1;399,9;Plattenwärmetauscher > M4-56 Baureihe / zerlegbar;;983367163970
|
||||||
|
1264;Edelstahl Plattenwärmetauscher Typ M4-56-15;Edelstahl Plattenwärmetauscher geeignet für Anwendungen mit geschlossenen Kreisläufen wie z.B. Heizungsanwendungen;1;309,9;Plattenwärmetauscher > M4-56 Baureihe / zerlegbar;;8481605893389
|
||||||
|
1265;Edelstahl Plattenwärmetauscher Typ M4-56-25;Edelstahl Plattenwärmetauscher geeignet für Anwendungen mit geschlossenen Kreisläufen wie z.B. Heizungsanwendungen;1;369,9;Plattenwärmetauscher > M4-56 Baureihe / zerlegbar;;5175038823985
|
||||||
|
1266;Edelstahl Plattenwärmetauscher Typ M4-56-35;Edelstahl Plattenwärmetauscher geeignet für Anwendungen mit geschlossenen Kreisläufen wie z.B. Heizungsanwendungen;1;439,9;Plattenwärmetauscher > M4-56 Baureihe / zerlegbar;;2567562782853
|
||||||
|
1267;Edelstahl Plattenwärmetauscher Typ M4-56-40;Edelstahl Plattenwärmetauscher geeignet für Anwendungen mit geschlossenen Kreisläufen wie z.B. Heizungsanwendungen;1;469,9;Plattenwärmetauscher > M4-56 Baureihe / zerlegbar;;6744198567221
|
||||||
|
1268;Edelstahl Plattenwärmetauscher Typ M4-56-45;Edelstahl Plattenwärmetauscher geeignet für Anwendungen mit geschlossenen Kreisläufen wie z.B. Heizungsanwendungen;1;499,9;Plattenwärmetauscher > M4-56 Baureihe / zerlegbar;;4811928042234
|
||||||
|
1269;Edelstahl Plattenwärmetauscher Typ M4-56-50;Edelstahl Plattenwärmetauscher geeignet für Anwendungen mit geschlossenen Kreisläufen wie z.B. Heizungsanwendungen;1;535,9;Plattenwärmetauscher > M4-56 Baureihe / zerlegbar;;3388615003133
|
||||||
|
1270;Edelstahl Plattenwärmetauscher Typ M4-56-60;Edelstahl Plattenwärmetauscher geeignet für Anwendungen mit geschlossenen Kreisläufen wie z.B. Heizungsanwendungen;1;599,9;Plattenwärmetauscher > M4-56 Baureihe / zerlegbar;;6261793125392
|
||||||
|
1326;Abgaswärmetauscher AWT-7/160VA;Abgaswärmetauscher mit Edelstahl Tauscherspirale.Dieser Tauscher wurde speziell für Kamin und Kachelöfen entwickelt.;1;284,9;Abgaswärmetauscher;;6474143371206
|
||||||
|
1327;Abgaswärmetauscher AWT-7/160-Titan;Abgaswärmetauscher mit titanlegierter Edelstahl Tauscherspirale entwickelt für höchste Temperatur- und Feuchtebelastungen. Dieser Tauscher ist für extreme Langlebigkeit und Beständigkeit ausgelegt.;1;289,9;Abgaswärmetauscher;;4089415274929
|
||||||
|
1328;Abgaswärmetauscher AWT-7/180-Titan;Abgaswärmetauscher mit titanlegierter Edelstahl Tauscherspirale entwickelt für höchste Temperatur- und Feuchtebelastungen. Dieser Tauscher ist für extreme Langlebigkeit und Beständigkeit ausgelegt.;1;319,9;Abgaswärmetauscher;;4598541150958
|
||||||
|
1329;Abgaswärmetauscher AWT-7/180VA;Abgaswärmetauscher mit Edelstahl Tauscherspirale.Dieser Tauscher wurde speziell für Kamin und Kachelöfen entwickelt.;1;314,9;Abgaswärmetauscher;;9282813513019
|
||||||
|
1330;Abgaswärmetauscher AWT-7/200VA;Abgaswärmetauscher mit Edelstahl Tauscherspirale.Dieser Tauscher wurde speziell für Kamin und Kachelöfen entwickelt.;1;339,9;Abgaswärmetauscher;;8282848236311
|
||||||
|
1331;Abgaswärmetauscher AWT-7/200-Titan;Abgaswärmetauscher mit titanlegierter Edelstahl Tauscherspirale entwickelt für höchste Temperatur- und Feuchtebelastungen. Dieser Tauscher ist für extreme Langlebigkeit und Beständigkeit ausgelegt.;1;349,9;Abgaswärmetauscher;;7935749142557
|
||||||
|
1332;Abgaswärmetauscher AWT-7/250VA;Abgaswärmetauscher mit Edelstahl Tauscherspirale.Dieser Tauscher wurde speziell für Kamin und Kachelöfen entwickelt.;0;399;Abgaswärmetauscher;;252926529077
|
||||||
|
1333;Abgaswärmetauscher AWT-7/250-Titan;Abgaswärmetauscher mit titanlegierter Edelstahl Tauscherspirale entwickelt für höchste Temperatur- und Feuchtebelastungen. Dieser Tauscher ist für extreme Langlebigkeit und Beständigkeit ausgelegt.;0;399;Abgaswärmetauscher;;3997003361528
|
||||||
|
1377;Frischwasserstation FWS 840;Die LUPI Frischwasserstation der FWS-800 Baureihe ist ein leistungsstarkes Frischwassermodul für die hygienische und legionellenfreie Erzeugung von Warmwasser mit einem zerlegbarem Plattentauscher.;1;1290;Frischwasserstation;;6908065460286
|
||||||
|
1442;Frischwasserstation FWS 620;Die LUPI Frischwasserstation der Baureihe FWS-600 ist ein leistungsstarkes Frischwassermodul für die hygienische und legionellenfreie Erzeugung von Warmwasser mit einem kupfergelöteten Plattentauscher aus Edelstahl.;0;689;Frischwasserstation;;7695934105636
|
||||||
|
1481;Edelstahl Plattenwärmetauscher Typ M5-11-25;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für Kühlung von Bierwürze;1;1299;Plattenwärmetauscher > M5-11 Baureihe / zerlegbar;;1089969929675
|
||||||
|
1482;Edelstahl Plattenwärmetauscher Typ M5-11-35;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für Kühlung von Bierwürze;1;1499;Plattenwärmetauscher > M5-11 Baureihe / zerlegbar;;310774792552
|
||||||
|
1483;Edelstahl Plattenwärmetauscher Typ M5-11-40;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für Kühlung von Bierwürze;1;1649;Plattenwärmetauscher > M5-11 Baureihe / zerlegbar;;1340784358003
|
||||||
|
1484;Edelstahl Plattenwärmetauscher Typ M5-11-45;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für Kühlung von Bierwürze;1;1899;Plattenwärmetauscher > M5-11 Baureihe / zerlegbar;;7806787405877
|
||||||
|
1485;Edelstahl Plattenwärmetauscher Typ M5-11-50;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für Kühlung von Bierwürze;1;1999;Plattenwärmetauscher > M5-11 Baureihe / zerlegbar;;168419438521
|
||||||
|
1486;Edelstahl Plattenwärmetauscher Typ M5-11-55;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für Kühlung von Bierwürze;1;2199;Plattenwärmetauscher > M5-11 Baureihe / zerlegbar;;445370808496
|
||||||
|
1487;Edelstahl Plattenwärmetauscher Typ M5-11-60;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für Kühlung von Bierwürze;1;2299;Plattenwärmetauscher > M5-11 Baureihe / zerlegbar;;6855062072649
|
||||||
|
1488;Edelstahl Plattenwärmetauscher Typ M5-11-65;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für Kühlung von Bierwürze;1;2480;Plattenwärmetauscher > M5-11 Baureihe / zerlegbar;;3868467036959
|
||||||
|
1489;Edelstahl Plattenwärmetauscher Typ M5-11-70;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für Kühlung von Bierwürze;1;2590;Plattenwärmetauscher > M5-11 Baureihe / zerlegbar;;9437200314292
|
||||||
|
1490;Edelstahl Plattenwärmetauscher Typ M5-11-75;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für Kühlung von Bierwürze;1;2790;Plattenwärmetauscher > M5-11 Baureihe / zerlegbar;;5328785590239
|
||||||
|
1491;Edelstahl Plattenwärmetauscher Typ M5-11-80;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für Kühlung von Bierwürze;1;2990;Plattenwärmetauscher > M5-11 Baureihe / zerlegbar;;1396411470228
|
||||||
|
1492;Edelstahl Plattenwärmetauscher Typ M6-19-15;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;1250;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;3163238295239
|
||||||
|
1493;Edelstahl Plattenwärmetauscher Typ M6-19-25;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;1850;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;4862330962177
|
||||||
|
1494;Edelstahl Plattenwärmetauscher Typ M6-19-30;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;1990;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;1710131812265
|
||||||
|
1495;Edelstahl Plattenwärmetauscher Typ M6-19-35;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;2380;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;1287056757693
|
||||||
|
1496;Edelstahl Plattenwärmetauscher Typ M6-19-40;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;2480;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;4874329354658
|
||||||
|
1497;Edelstahl Plattenwärmetauscher Typ M6-19-45;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;2640;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;4147810179628
|
||||||
|
1498;Edelstahl Plattenwärmetauscher Typ M6-19-50;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;2890;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;524638185
|
||||||
|
1499;Edelstahl Plattenwärmetauscher Typ M6-19-55;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;3080;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;4564280934296
|
||||||
|
1500;Edelstahl Plattenwärmetauscher Typ M6-19-60;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;2980;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;1861389468671
|
||||||
|
1501;Edelstahl Plattenwärmetauscher Typ M6-19-65;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;3280;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;7794860625802
|
||||||
|
1502;Edelstahl Plattenwärmetauscher Typ M6-19-70;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;3740;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;3611080124547
|
||||||
|
1503;Edelstahl Plattenwärmetauscher Typ M6-19-75;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;3950;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;3330396409604
|
||||||
|
1504;Edelstahl Plattenwärmetauscher Typ M6-19-80;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;4120;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;9265397743935
|
||||||
|
1505;Edelstahl Plattenwärmetauscher Typ M6-19-85;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;4300;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;5505866454530
|
||||||
|
1506;Edelstahl Plattenwärmetauscher Typ M6-19-90;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;4490;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;3893594435450
|
||||||
|
1507;Edelstahl Plattenwärmetauscher Typ M6-19-95;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;4490;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;8264263605712
|
||||||
|
1508;Edelstahl Plattenwärmetauscher Typ M6-19-100;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend als Zwischenkreistauscher für Sole / Grundwasser Wärmepumpen;1;5270;Plattenwärmetauscher > M6-19 Baureihe / zerlegbar;;7695934105636
|
||||||
|
1516;Edelstahl Plattenwärmetauscher Typ M7-17-30;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für die Poolerwärmung;1;1580;Plattenwärmetauscher > M7-17 Baureihe / zerlegbar;;1089969929675
|
||||||
|
1517;Edelstahl Plattenwärmetauscher Typ M7-17-40;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für die Poolerwärmung;1;1890;Plattenwärmetauscher > M7-17 Baureihe / zerlegbar;;310774792552
|
||||||
|
1518;Edelstahl Plattenwärmetauscher Typ M7-17-50;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für die Poolerwärmung;1;2290;Plattenwärmetauscher > M7-17 Baureihe / zerlegbar;;1340784358003
|
||||||
|
1519;Edelstahl Plattenwärmetauscher Typ M7-17-60;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für die Poolerwärmung;1;2670;Plattenwärmetauscher > M7-17 Baureihe / zerlegbar;;7806787405877
|
||||||
|
1520;Edelstahl Plattenwärmetauscher Typ M7-17-70;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für die Poolerwärmung;1;2990;Plattenwärmetauscher > M7-17 Baureihe / zerlegbar;;168419438521
|
||||||
|
1521;Edelstahl Plattenwärmetauscher Typ M7-17-80;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für die Poolerwärmung;1;3390;Plattenwärmetauscher > M7-17 Baureihe / zerlegbar;;445370808496
|
||||||
|
1522;Edelstahl Plattenwärmetauscher Typ M7-17-90;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für die Poolerwärmung;1;3750;Plattenwärmetauscher > M7-17 Baureihe / zerlegbar;;6855062072649
|
||||||
|
1523;Edelstahl Plattenwärmetauscher Typ M7-17-100;Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für die Poolerwärmung;1;3990;Plattenwärmetauscher > M7-17 Baureihe / zerlegbar;;3868467036959
|
||||||
|
1535;Frischwasserstation FWS 830;Die LUPI Frischwasserstation der FWS-800 Baureihe ist ein leistungsstarkes Frischwassermodul für die hygienische und legionellenfreie Erzeugung von Warmwasser mit einem zerlegbarem Plattentauscher.;1;1190;Frischwasserstation;;9437200314292
|
||||||
|
1536;Frischwasserstation FWS 850;Die LUPI Frischwasserstation der FWS-800 Baureihe ist ein leistungsstarkes Frischwassermodul für die hygienische und legionellenfreie Erzeugung von Warmwasser mit einem zerlegbarem Plattentauscher.;1;1390;Frischwasserstation;;5328785590239
|
||||||
|
1537;Frischwasserstation FWS 860;Die LUPI Frischwasserstation der FWS-800 Baureihe ist ein leistungsstarkes Frischwassermodul für die hygienische und legionellenfreie Erzeugung von Warmwasser mit einem zerlegbarem Plattentauscher.;0;1590;Frischwasserstation;;1396411470228
|
||||||
|
1538;Frischwasserstation FWS 630;Die LUPI Frischwasserstation der Baureihe FWS-600 ist ein leistungsstarkes Frischwassermodul für die hygienische und legionellenfreie Erzeugung von Warmwasser mit einem kupfergelöteten Plattentauscher aus Edelstahl.;1;699,9;Frischwasserstation;;3163238295239
|
||||||
|
1539;Frischwasserstation FWS 640;Die LUPI Frischwasserstation der Baureihe FWS-600 ist ein leistungsstarkes Frischwassermodul für die hygienische und legionellenfreie Erzeugung von Warmwasser mit einem kupfergelöteten Plattentauscher aus Edelstahl.;1;798;Frischwasserstation;;4862330962177
|
||||||
|
1540;Frischwasserstation FWS 650;Die LUPI Frischwasserstation der Baureihe FWS-600 ist ein leistungsstarkes Frischwassermodul für die hygienische und legionellenfreie Erzeugung von Warmwasser mit einem kupfergelöteten Plattentauscher aus Edelstahl.;1;879;Frischwasserstation;;1710131812265
|
||||||
|
1541;Frischwasserstation FWS 660;Die LUPI Frischwasserstation der Baureihe FWS-600 ist ein leistungsstarkes Frischwassermodul für die hygienische und legionellenfreie Erzeugung von Warmwasser mit einem kupfergelöteten Plattentauscher aus Edelstahl.;0;545;Frischwasserstation;;1287056757693
|
||||||
|
1683;Edelstahl Pool Wärmetauscher Typ SP-170-K;Hochwertiger Plattenwärmetauscher aus Edelstahl zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen.;1;219,9;Pool Wärmetauscher;;4874329354658
|
||||||
|
1684;Edelstahl Pool Wärmetauscher Typ SP-220-K;Hochwertiger Plattenwärmetauscher aus Edelstahl zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen.;1;279,9;Pool Wärmetauscher > Plattenwärmetauscher mit PVC Anschluss;;4147810179628
|
||||||
|
1685;Edelstahl Pool Wärmetauscher Typ SP-320-K;Hochwertiger Plattenwärmetauscher aus Edelstahl zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen.;1;359,9;Pool Wärmetauscher;;524638185
|
||||||
|
1686;Edelstahl Pool Wärmetauscher Typ EP-190-VA;Hochwertiger Plattenwärmetauscher aus Edelstahl zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen.;1;219,9;Pool Wärmetauscher;;4564280934296
|
||||||
|
1687;Edelstahl Pool Wärmetauscher Typ EP-240-VA;Hochwertiger Plattenwärmetauscher aus Edelstahl zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen.;1;279,9;Pool Wärmetauscher;;1861389468671
|
||||||
|
1688;Edelstahl Pool Wärmetauscher Typ EP-350-VA;Hochwertiger Plattenwärmetauscher aus Edelstahl zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen.;1;389,9;Pool Wärmetauscher;;7794860625802
|
||||||
|
1689;Edelstahl Pool Wärmetauscher Typ EP-460-VA;Hochwertiger Plattenwärmetauscher aus Edelstahl zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen.;1;519,9;Pool Wärmetauscher;;3611080124547
|
||||||
|
1690;Edelstahl Pool Wärmetauscher Typ EP-660-VA;Hochwertiger Plattenwärmetauscher aus Edelstahl zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen.;1;649,9;Pool Wärmetauscher;;3330396409604
|
||||||
|
1691;Titan Pool Wärmetauscher Typ EP-100-TI;Hochwertiger Plattenwärmetauscher aus Reintitan zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen. Poolseitige Anschlüsse aus Reintitan / hochtemperaturbeständig.;1;459,9;Pool Wärmetauscher > Plattenwärmetauscher mit Edelstahl / Titan Aschluss;;9265397743935
|
||||||
|
1693;Titan Pool Wärmetauscher Typ EP-170-TI;Hochwertiger Plattenwärmetauscher aus Reintitan zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen. Poolseitige Anschlüsse aus Reintitan / hochtemperaturbeständig.;1;479,9;Pool Wärmetauscher > Plattenwärmetauscher mit Edelstahl / Titan Aschluss;;5505866454530
|
||||||
|
1694;Titan Pool Wärmetauscher Typ EP-220-TI;Hochwertiger Plattenwärmetauscher aus Reintitan zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen. Poolseitige Anschlüsse aus Reintitan / hochtemperaturbeständig.;1;584,9;Pool Wärmetauscher > Plattenwärmetauscher mit Edelstahl / Titan Aschluss;;3893594435450
|
||||||
|
1695;Titan Pool Wärmetauscher Typ EP-320-TI;Hochwertiger Plattenwärmetauscher aus Reintitan zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen. Poolseitige Anschlüsse aus Reintitan / hochtemperaturbeständig.;1;684,9;Pool Wärmetauscher > Plattenwärmetauscher mit Edelstahl / Titan Aschluss;;8264263605712
|
||||||
|
1696;Titan Pool Wärmetauscher Typ EP-420-TI;Hochwertiger Plattenwärmetauscher aus Reintitan zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen. Poolseitige Anschlüsse aus Reintitan / hochtemperaturbeständig.;1;784,9;Pool Wärmetauscher > Plattenwärmetauscher mit Edelstahl / Titan Aschluss;;7695934105636
|
||||||
|
1697;Titan Pool Wärmetauscher Typ EP-520-TI;Hochwertiger Plattenwärmetauscher aus Reintitan zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen. Poolseitige Anschlüsse aus Reintitan / hochtemperaturbeständig.;1;890;Pool Wärmetauscher > Plattenwärmetauscher mit Edelstahl / Titan Aschluss;;1089969929675
|
||||||
|
1698;Titan Pool Wärmetauscher Typ EP-620-TI;Hochwertiger Plattenwärmetauscher aus Reintitan zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen. Poolseitige Anschlüsse aus Reintitan / hochtemperaturbeständig.;0;917;Pool Wärmetauscher > Plattenwärmetauscher mit Edelstahl / Titan Aschluss;;310774792552
|
||||||
|
1710;Titan Pool Wärmetauscher Typ SP-100-TI;Hochwertiger Plattenwärmetauscher aus Reintitan zur Schwimmbadbeheizung. Geeignet für gechlortes sowie salzhaltiges Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen.;1;379,9;Pool Wärmetauscher;;1340784358003
|
||||||
|
1716;Titan Pool Wärmetauscher Typ SP-170-TI;Hochwertiger Plattenwärmetauscher aus Reintitan zur Schwimmbadbeheizung. Geeignet für gechlortes sowie salzhaltiges Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen.;1;459,9;Pool Wärmetauscher;;7806787405877
|
||||||
|
1717;Titan Pool Wärmetauscher Typ SP-220-TI;Hochwertiger Plattenwärmetauscher aus Reintitan zur Schwimmbadbeheizung. Geeignet für gechlortes sowie salzhaltiges Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen.;1;579,9;Pool Wärmetauscher;;168419438521
|
||||||
|
1718;Titan Pool Wärmetauscher Typ SP-320-TI;Hochwertiger Plattenwärmetauscher aus Reintitan zur Schwimmbadbeheizung. Geeignet für gechlortes sowie salzhaltiges Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen.;1;679,9;Pool Wärmetauscher;;445370808496
|
||||||
|
1721;Edelstahl Pool Wärmetauscher Typ EP-160-VA;Hochwertiger Plattenwärmetauscher aus Edelstahl zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen.;1;199,9;Pool Wärmetauscher;;6855062072649
|
||||||
|
1796;Wandbefestigung für Plattentauscher EP-100 bis EP-720;;1;35,9;Wandhalterung;;3868467036959
|
||||||
|
1797;Wandbefestigung für Plattentauscher SP-100 bis SP-620;;1;35,9;Wandhalterung;;9437200314292
|
||||||
|
1816;Edelstahl Plattenwärmetauscher Typ M5-11-20;"Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für Kühlung von Bierwürze; Milchkühlung sowie als Zwischenkreistauscher für Sole und Grundwasser Wärmepumpen.";1;1199;Plattenwärmetauscher > M5-11 Baureihe / zerlegbar;;5328785590239
|
||||||
|
1817;Edelstahl Plattenwärmetauscher Typ M5-11-15;"Der Einsatz dieser Tauscherbaureihe eignet sich hervorragend für Kühlung von Bierwürze; Milchkühlung sowie als Zwischenkreistauscher für Sole und Grundwasser Wärmepumpen.";0;954;Plattenwärmetauscher > M5-11 Baureihe / zerlegbar;;1396411470228
|
||||||
|
1840;Dämmschale für Plattentauscher EP-xx;;1;89,9;Isolierung für Wärmetauscher;;3163238295239
|
||||||
|
2329;Abgastauscher Set AWT-704 inclusive Regler;Abgastauscher Set AWT-704 entwickelt zur Energieeinsparung bei Kaminöfen in Verbindung mit Pufferspeichern;0;750;Abgaswärmetauscher;;4862330962177
|
||||||
|
2529;Titan Pool Wärmetauscher Typ EP-720-Ti;Hochwertiger Plattenwärmetauscher aus Reintitan zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen. Poolseitige Anschlüsse aus Reintitan / hochtemperaturbeständig.;1;1090;Pool Wärmetauscher > Plattenwärmetauscher mit Edelstahl / Titan Aschluss;;1710131812265
|
||||||
|
2552;Abgastauscher Set AWT-704 ohne Regler;Abgastauscher Set AWT-704 entwickelt zur Energieeinsparung bei Kaminöfen in Verbindung mit Pufferspeichern;1;870;Abgaswärmetauscher;;1287056757693
|
||||||
|
3003;Titan Pool Wärmetauscher Typ EP-190-Ti;Hochwertiger Plattenwärmetauscher aus Reintitan zur Schwimmbadbeheizung. Geeignet für gechlortes Wasser. Höchstmögliche Wärmeübertragung bei niedrigen Vorlauftemperaturen. Poolseitige Anschlüsse aus Reintitan / hochtemperaturbeständig.;1;498,9;Pool Wärmetauscher > Plattenwärmetauscher mit Edelstahl / Titan Aschluss;;4874329354658
|
||||||
|
|
|
@ -1,101 +0,0 @@
|
||||||
Index;Name;Description;Brand;Category;Price;Currency;Stock;EAN;Color;Size;Availability;Internal ID
|
|
||||||
1;Compact Printer Air Advanced Digital;Situation organization these memory much off.;"Garner; Boyle and Flynn";Books & Stationery;265;USD;775;2091465262179;ForestGreen;Large;pre_order;56
|
|
||||||
2;Tablet;Discussion loss politics free one thousand.;Mueller Inc;Shoes & Footwear;502;USD;81;5286196620740;Black;8x10 in;in_stock;29
|
|
||||||
3;Smart Blender Cooker;No situation per.;"Lawson; Keller and Winters";Kitchen Appliances;227;USD;726;1282898648918;SlateGray;XS;in_stock;70
|
|
||||||
4;Advanced Router Rechargeable;For force gas energy six laugh.;Gallagher and Sons;Kitchen Appliances;121;USD;896;3879177514583;PaleGreen;L;discontinued;31
|
|
||||||
5;Portable Mouse Monitor Phone;Feeling back religious however author room scientist.;Irwin LLC;Kids' Clothing;1;USD;925;9055773261265;SeaShell;100x200 mm;discontinued;10
|
|
||||||
6;Radio;Character prove growth contain serious customer.;"Benjamin; Nelson and Hancock";Skincare;426;USD;549;1150028980156;CornflowerBlue;30x40 cm;pre_order;60
|
|
||||||
7;Ultra Projector Oven Thermostat Prime Advanced;Pattern possible look necessary indicate work nearly.;"Mccoy; Waters and Rose";Laptops & Computers;68;USD;871;5029747624534;Purple;S;discontinued;86
|
|
||||||
8;Webcam Stove Grill;Deep area join carry age.;Morrow and Sons;Automotive;159;USD;584;9883725074294;MediumOrchid;8x10 in;pre_order;50
|
|
||||||
9;Eco Radio;Know father for act let.;"Edwards; Odonnell and Conley";Skincare;454;USD;499;1773215338624;DimGray;Medium;pre_order;88
|
|
||||||
10;Ultra Powerbank Brush Charger Max;Meeting add economic task outside.;"Brennan; Archer and Rosales";Fitness Equipment;845;USD;564;4877111475333;Silver;Extra Large;discontinued;88
|
|
||||||
11;Wireless Dock;Whole bill sound whether will.;Russo-West;Health & Wellness;257;USD;168;9680811891595;Wheat;Extra Large;pre_order;30
|
|
||||||
12;Fast Camera Router Fan Smart;Various above trouble itself crime form.;Vazquez and Sons;Cleaning Supplies;221;USD;672;8567222480604;MidnightBlue;Medium;pre_order;32
|
|
||||||
13;Heater Radio;Ten do evidence billion perhaps read bank enter.;Delgado-Blackwell;Cycling;689;USD;156;5686660235911;Orange;L;pre_order;57
|
|
||||||
14;Smart Trimmer Webcam Heater;Example available better.;Contreras PLC;Automotive;279;USD;818;1941032767914;Gainsboro;XXL;pre_order;66
|
|
||||||
15;Webcam Dock Heater;State yet soon traditional your deal.;"Juarez; Powell and Travis";Cleaning Supplies;101;USD;149;1438856474369;Sienna;30x40 cm;pre_order;88
|
|
||||||
16;Automatic Watch Lite Sense;As east entire positive source their.;"Reid; Chase and Ballard";Team Sports;316;USD;329;3500722785805;Tan;5x7 in;limited_stock;44
|
|
||||||
17;Eco Iron Monitor Air;Color single indeed yard event popular food boy.;Barker-Murphy;Automotive;982;USD;47;7887280730963;OliveDrab;XL;out_of_stock;79
|
|
||||||
18;Digital Tablet Router Printer Lite;Accept campaign every research test.;Vazquez-Smith;Health & Wellness;3;USD;732;4170125892616;LemonChiffon;10x10 cm;backorder;87
|
|
||||||
19;Eco Freezer Powerbank Watch;Of price visit interesting enter three set.;"Pruitt; Higgins and Barnett";Cleaning Supplies;340;USD;618;6340907128242;Cyan;S;limited_stock;21
|
|
||||||
20;Cooler Fan;Fall billion city share.;Bray LLC;Smartphones;529;USD;844;0267078141619;Bisque;XS;backorder;22
|
|
||||||
21;Portable Camera Plus Air Ultra;Reality hair explain up bad.;Wang-Valenzuela;Women's Clothing;197;USD;163;0963840013930;Magenta;L;in_stock;96
|
|
||||||
22;Wireless Powerbank 360 Advanced Ultra;Deal head decade age outside military culture.;Carney Ltd;Bedding & Bath;677;USD;418;3918763032312;Beige;M;out_of_stock;90
|
|
||||||
23;Rechargeable Lamp Speakerphone Headphones;Effort own safe main walk quickly.;"Gallegos; Osborne and Carpenter";Skincare;664;USD;577;1824359393441;DarkBlue;L;pre_order;26
|
|
||||||
24;Mini Scooter Microphone;Maybe around expect own whether pay.;"Douglas; Thornton and Soto";Grooming Tools;784;USD;510;9839666739792;DimGray;L;backorder;55
|
|
||||||
25;Rechargeable Webcam Stove Grill;Movement you Mr decide history effect.;Horn-Pope;Health & Wellness;900;USD;623;6501687247749;PaleGreen;5x7 in;out_of_stock;47
|
|
||||||
26;Mini Iron Drone Wireless Pro;From Congress low.;Khan-Parrish;Cycling;909;USD;797;9496081864722;CadetBlue;XXL;limited_stock;93
|
|
||||||
27;Portable Freezer Phone Automatic Smart;Live fish audience piece his ago true.;Burton PLC;Automotive;350;USD;756;3486711401836;Snow;XL;pre_order;61
|
|
||||||
28;Wireless Webcam Stove Grill;Pull at improve health also animal forward person.;Henry Group;Clothing & Apparel;858;USD;912;7097613907430;LightSalmon;50x70 cm;limited_stock;43
|
|
||||||
29;Clock Brush;Other another must explain send somebody consider.;Larson-Spence;Furniture;985;USD;180;8301096575048;SaddleBrown;Extra Large;in_stock;40
|
|
||||||
30;Keyboard Toaster Monitor;My head prove exist change.;Bonilla-Spears;Kids' Clothing;576;USD;988;6639325474032;DarkSlateGray;L;pre_order;40
|
|
||||||
31;Silent Printer Fan Shaver;Region week yet weight.;Love LLC;Sports & Outdoors;102;USD;669;5564792899662;MediumSpringGreen;L;limited_stock;14
|
|
||||||
32;Wireless Scooter Clean Mini;Green main imagine way suffer wall.;Terry-Oliver;Fragrances;283;USD;343;9921752342730;MintCream;S;pre_order;84
|
|
||||||
33;Advanced Microphone Cooler Eco;Most other newspaper beyond real.;"Morales; Weaver and Fernandez";Smartphones;904;USD;532;7107438924403;LightCyan;Extra Large;limited_stock;86
|
|
||||||
34;Automatic Brush Fast Eco;Record response relationship.;Newman Ltd;Kids' Clothing;407;USD;285;2327483415120;SeaGreen;8x10 in;out_of_stock;65
|
|
||||||
35;Premium Bicycle Microphone;Congress how list third rise.;"Novak; Archer and Walton";Shoes & Footwear;480;USD;364;6209821998907;AliceBlue;Extra Large;discontinued;78
|
|
||||||
36;Smart Phone Scooter Clean;Reality kid create thought window.;Marshall-Dougherty;Women's Clothing;635;USD;727;7883295446066;MediumVioletRed;10x10 cm;backorder;74
|
|
||||||
37;Bicycle;Garden mother before ten different increase.;Hays-Cunningham;Smartphones;234;USD;394;7670612815694;White;10x10 cm;backorder;48
|
|
||||||
38;Ultra Dock Trimmer Automatic Edge;Do customer stage act send.;Barnes-Glass;Kids' Clothing;640;USD;780;2837107354495;LightBlue;5x7 in;discontinued;96
|
|
||||||
39;Wireless Tablet Router Printer Wireless Premium Air;North meeting short summer situation positive candidate.;Meyers-Hess;Sports & Outdoors;781;USD;947;8247903213713;BlanchedAlmond;XL;out_of_stock;69
|
|
||||||
40;Clean Printer Advanced Premium Sense;Bag away always often join seat direction.;Williamson PLC;Haircare;913;USD;820;5234087663802;Moccasin;Small;discontinued;77
|
|
||||||
41;Silent Dock Fast;Speak not hospital bit part.;"May; Hendrix and Robbins";Fishing & Hunting;100;USD;802;0938364240247;CadetBlue;M;limited_stock;12
|
|
||||||
42;Ultra Speakerphone Oven Go Smart X;Value bill yeah tell phone.;"Zimmerman; Barr and Davis";Office Supplies;999;USD;853;0450118214736;MediumOrchid;12x18 in;pre_order;23
|
|
||||||
43;Rechargeable Projector Pro;Bank everything ago girl.;"Levine; Martin and Mccann";Home Decor;935;USD;45;0655296358115;SlateBlue;XL;limited_stock;52
|
|
||||||
44;Eco Vacuum;Bit name seat sea.;Werner PLC;Health & Wellness;259;USD;668;8611986118980;LightCoral;5x7 in;in_stock;45
|
|
||||||
45;Smart Grill Tablet Fridge Go Smart Smart;By result ago born become.;"Huff; Cameron and Stephenson";Fitness Equipment;488;USD;966;9005775281402;Cornsilk;10x10 cm;out_of_stock;62
|
|
||||||
46;Digital Stove Silent Pro;Suffer range between step mention peace prepare.;"Suarez; Riddle and Sanders";Health & Wellness;161;USD;349;5367012957872;OrangeRed;Extra Large;limited_stock;9
|
|
||||||
47;Portable Powerbank X Air;Present court note medical bed red movie.;Hanson-Schultz;Camping & Hiking;599;USD;263;6854117854742;Moccasin;Large;discontinued;17
|
|
||||||
48;Clock;Onto story what job require.;"Malone; Jacobson and Hudson";Team Sports;731;USD;664;1382809012286;FloralWhite;S;limited_stock;55
|
|
||||||
49;Radio Treadmill;Through choose record prove happen.;Barron-Little;Office Supplies;511;USD;395;5461960384619;Violet;XL;discontinued;14
|
|
||||||
50;Ultra Cooler Treadmill Touch Pro Ultra;Certainly simple light safe child PM candidate.;Bonilla-Oconnell;Fragrances;214;USD;574;3625664059934;NavajoWhite;XXL;pre_order;33
|
|
||||||
51;Mini Fridge Camera;Little determine at huge month.;Decker and Sons;Fitness Equipment;777;USD;832;4894233116968;PaleGoldenRod;Extra Large;in_stock;16
|
|
||||||
52;Rechargeable Tablet Plus Portable Mini;Expect question how sound.;Mooney-Gonzales;Fragrances;820;USD;535;8183922928019;Cyan;100x200 mm;in_stock;19
|
|
||||||
53;Tablet;Many deal community public beyond safe anyone.;"Blake; Weiss and Montgomery";Beauty & Personal Care;408;USD;922;8183313115592;Chocolate;Medium;backorder;34
|
|
||||||
54;Wireless Light Toaster Lite Touch Eco;Oil guy table industry hand which.;Singleton PLC;Bedding & Bath;791;USD;827;3057639268476;Fuchsia;50x70 cm;in_stock;64
|
|
||||||
55;Scooter;Small approach possible choose according.;Rivas Group;Cameras & Accessories;370;USD;601;1974896712011;DarkOrchid;L;backorder;46
|
|
||||||
56;Advanced Camera Heater Webcam X Ultra Prime;Audience bit past central film each.;Cervantes Ltd;Office Supplies;224;USD;372;0983367163970;Peru;50x70 cm;discontinued;56
|
|
||||||
57;Ultra Keyboard Compact Eco;Bit responsibility cover him mean call civil.;Pace-Hodges;Books & Stationery;514;USD;491;8481605893389;LightGray;8x10 in;backorder;19
|
|
||||||
58;Portable Scale Speaker Powerbank Clean;Throughout special new you view season within.;Morris LLC;Women's Clothing;689;USD;332;5175038823985;PowderBlue;Small;backorder;94
|
|
||||||
59;Oven Speaker Fan;Hot behavior traditional.;Schwartz Ltd;Men's Clothing;489;USD;423;2567562782853;GoldenRod;Small;pre_order;99
|
|
||||||
60;Automatic Speaker Router Lamp Prime;Word score education thousand high treatment.;"Sexton; Dickerson and Blair";Grooming Tools;621;USD;667;6744198567221;FireBrick;5x7 in;in_stock;61
|
|
||||||
61;Smart Webcam Projector Lock;Subject agree you off.;Stokes Inc;Men's Clothing;440;USD;973;4811928042234;SteelBlue;Medium;in_stock;3
|
|
||||||
62;Fast Fan;Avoid very final food scene possible.;Ali-Oliver;Cleaning Supplies;982;USD;804;3388615003133;DarkOrchid;100x200 mm;backorder;70
|
|
||||||
63;Automatic Cooler Edge;Career for much exist.;"Odonnell; Boyle and Oconnor";Beauty & Personal Care;124;USD;513;6261793125392;LimeGreen;50x70 cm;pre_order;83
|
|
||||||
64;Advanced Freezer Advanced Advanced;Chance material himself soldier.;Gill LLC;Office Supplies;489;USD;561;6474143371206;Tomato;S;pre_order;48
|
|
||||||
65;Silent Trimmer Shaver Fast;Task point seat better.;Munoz Group;Smartphones;130;USD;876;4089415274929;DarkSlateGray;5x7 in;in_stock;76
|
|
||||||
66;Treadmill;Vote only run modern.;"Frost; Christensen and Burnett";Women's Clothing;731;USD;744;4598541150958;Cyan;5x7 in;out_of_stock;70
|
|
||||||
67;Mini Charger Lock Oven Sense Sense;Major tell him share allow.;"Burton; Gross and Giles";Haircare;750;USD;623;9282813513019;Olive;12x18 in;in_stock;81
|
|
||||||
68;Thermostat Trimmer;Drug interview hotel decide pattern.;"Hester; Love and Lynch";"Accessories (Bags; Hats; Belts)";206;USD;677;8282848236311;MidnightBlue;8x10 in;discontinued;6
|
|
||||||
69;Clean Iron Premium Air Wireless;Around tough popular present sign herself pattern.;"Shepherd; Greene and House";Beauty & Personal Care;293;USD;700;7935749142557;GhostWhite;XXL;out_of_stock;5
|
|
||||||
70;Compact Mouse Mouse Router Mini;Occur miss son Democrat happy.;Barry PLC;Smartwatches;5;USD;247;0252926529077;PapayaWhip;10x10 cm;limited_stock;79
|
|
||||||
71;Premium Lock Mini Advanced;Three character traditional maybe.;"Elliott; Mcfarland and Duran";Automotive;12;USD;439;3997003361528;Plum;XS;pre_order;40
|
|
||||||
72;Silent Webcam Webcam Treadmill Sense Portable Advanced;Leg my mother father.;George-Day;Makeup;148;USD;650;6908065460286;Aqua;M;backorder;29
|
|
||||||
73;Compact Thermostat Oven;Focus that consumer amount half.;Hull Inc;Home & Kitchen;685;USD;747;7695934105636;SaddleBrown;30x40 cm;in_stock;36
|
|
||||||
74;Wireless Watch Tablet Printer Automatic Eco Sense;Might poor animal must protect blue forward.;Fleming Inc;Smartwatches;59;USD;169;1089969929675;Sienna;Large;out_of_stock;31
|
|
||||||
75;Automatic Blender;Smile human machine section bank.;Mahoney-Bryan;Home Decor;630;USD;438;0310774792552;LightGoldenRodYellow;8x10 in;backorder;4
|
|
||||||
76;Rechargeable Webcam Dock Heater;Organization address section collection church gun consumer do.;Kennedy-Gordon;Cycling;800;USD;151;1340784358003;Brown;XXL;in_stock;66
|
|
||||||
77;Clean Toaster Oven Air Touch;Heavy threat beautiful material assume piece.;Olsen-Sawyer;Kids' Clothing;365;USD;71;7806787405877;LimeGreen;Medium;pre_order;40
|
|
||||||
78;Brush;Control daughter effect investment piece training nation.;"Lowe; Mosley and Rivera";Bedding & Bath;273;USD;623;0168419438521;RoyalBlue;S;in_stock;42
|
|
||||||
79;Portable Kettle;Apply out industry must tell.;Sampson-Leon;Home & Kitchen;50;USD;413;0445370808496;MediumAquaMarine;L;pre_order;25
|
|
||||||
80;Rechargeable Brush Compact;Early century every amount than past.;Castro-Mccarty;Automotive;748;USD;326;6855062072649;Sienna;S;out_of_stock;81
|
|
||||||
81;Fast Heater Cooker Compact Silent;Strategy fund mind rather change.;"Decker; Montes and Logan";Makeup;367;USD;19;3868467036959;Orchid;8x10 in;in_stock;15
|
|
||||||
82;Mini Drone X Portable;Shoulder cost especially.;Whitney Group;Books & Stationery;352;USD;123;9437200314292;BlueViolet;Medium;backorder;12
|
|
||||||
83;Heater Keyboard;Remember here kind enjoy source room reflect be.;Brooks and Sons;Office Supplies;103;USD;208;5328785590239;Chocolate;Extra Large;backorder;72
|
|
||||||
84;Wireless Fan Thermostat Max Automatic Max;Design price for especially section college over green.;Kaiser-Banks;Books & Stationery;423;USD;759;1396411470228;MidnightBlue;5x7 in;in_stock;81
|
|
||||||
85;Fast Keyboard;Success other institution fear.;Lewis Ltd;Camping & Hiking;998;USD;10;3163238295239;Cyan;50x70 cm;limited_stock;64
|
|
||||||
86;Ultra Mixer Toaster Toaster Smart;Much guess have pattern southern true hair miss.;Galloway and Sons;Women's Clothing;342;USD;221;4862330962177;Tomato;S;pre_order;88
|
|
||||||
87;Silent Speakerphone Scanner Monitor;Quality yet significant lawyer face field yet realize.;Cowan Inc;Fragrances;593;USD;580;1710131812265;Navy;XXL;discontinued;20
|
|
||||||
88;Silent Scanner Monitor Treadmill;Do interesting suggest agreement range admit rule.;"Nichols; Howe and Miller";Health & Wellness;30;USD;728;1287056757693;Wheat;10x10 cm;pre_order;60
|
|
||||||
89;Fast Vacuum Cooler;Explain six firm recent rock skin.;Blair-Russell;Sports & Outdoors;307;USD;320;4874329354658;LightSalmon;L;limited_stock;5
|
|
||||||
90;Digital Trimmer;Ago floor nice member wait.;Christian-Tanner;Laptops & Computers;541;USD;488;4147810179628;SteelBlue;M;pre_order;31
|
|
||||||
91;Automatic Trimmer Sense;Much table ground information news senior.;Harrington-Valentine;Kitchen Appliances;405;USD;950;0000524638185;SlateGray;8x10 in;in_stock;85
|
|
||||||
92;Portable Scooter Wireless Digital;Thousand various evidence.;Bauer Inc;Cameras & Accessories;519;USD;495;4564280934296;DeepSkyBlue;Large;in_stock;36
|
|
||||||
93;Fridge Cooker;Try better loss pretty special.;Jackson Group;Furniture;393;USD;499;1861389468671;Black;Small;in_stock;80
|
|
||||||
94;Scanner;Draw material quickly most.;"Wang; Ayala and Bowen";Cleaning Supplies;472;USD;63;7794860625802;ForestGreen;12x18 in;backorder;8
|
|
||||||
95;Ultra Radio Radio;Shoulder red boy away if.;Maldonado-Ritter;Haircare;382;USD;639;3611080124547;Aquamarine;12x18 in;pre_order;48
|
|
||||||
96;Router;Investment everything story buy.;Atkinson Inc;Laptops & Computers;375;USD;703;3330396409604;Gainsboro;8x10 in;limited_stock;55
|
|
||||||
97;Fast Thermostat Microphone Scooter;Nature notice themselves news.;Shea Ltd;Beauty & Personal Care;289;USD;727;9265397743935;White;Extra Large;backorder;25
|
|
||||||
98;Eco Heater Toaster Stove Silent Sense;Understand still or summer rule.;West Ltd;Cleaning Supplies;232;USD;998;5505866454530;OldLace;Small;limited_stock;20
|
|
||||||
99;Clean Blender Scale Lite;Final art some push.;"Bell; Gamble and Barrett";Camping & Hiking;241;USD;391;3893594435450;Aquamarine;5x7 in;limited_stock;5
|
|
||||||
100;Smart Lamp;However public major baby.;"Hebert; Hughes and Trujillo";Bedding & Bath;71;USD;518;8264263605712;Brown;Medium;limited_stock;3
|
|
||||||
|
File diff suppressed because it is too large
Load diff
|
|
@ -1,6 +1,7 @@
|
||||||
package ai.dynamixs.rag;
|
package ai.dynamixs.rag;
|
||||||
|
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
@ -15,6 +16,8 @@ import com.datastax.oss.driver.api.core.CqlSessionBuilder;
|
||||||
import com.datastax.oss.driver.api.core.InvalidKeyspaceException;
|
import com.datastax.oss.driver.api.core.InvalidKeyspaceException;
|
||||||
import com.datastax.oss.driver.api.core.cql.BoundStatement;
|
import com.datastax.oss.driver.api.core.cql.BoundStatement;
|
||||||
import com.datastax.oss.driver.api.core.cql.PreparedStatement;
|
import com.datastax.oss.driver.api.core.cql.PreparedStatement;
|
||||||
|
import com.datastax.oss.driver.api.core.cql.ResultSet;
|
||||||
|
import com.datastax.oss.driver.api.core.cql.Row;
|
||||||
import com.datastax.oss.driver.api.core.data.CqlVector;
|
import com.datastax.oss.driver.api.core.data.CqlVector;
|
||||||
import com.datastax.oss.driver.api.core.servererrors.InvalidQueryException;
|
import com.datastax.oss.driver.api.core.servererrors.InvalidQueryException;
|
||||||
|
|
||||||
|
|
@ -54,8 +57,8 @@ public class ClusterService {
|
||||||
public static final String ENV_EMBEDDINGS_CLUSTER_CONTACTPOINTS = "EMBEDDINGS_CLUSTER_CONTACTPOINTS";
|
public static final String ENV_EMBEDDINGS_CLUSTER_CONTACTPOINTS = "EMBEDDINGS_CLUSTER_CONTACTPOINTS";
|
||||||
public static final String ENV_EMBEDDINGS_CLUSTER_KEYSPACE = "EMBEDDINGS_CLUSTER_KEYSPACE";
|
public static final String ENV_EMBEDDINGS_CLUSTER_KEYSPACE = "EMBEDDINGS_CLUSTER_KEYSPACE";
|
||||||
|
|
||||||
// public static final int DIMENSIONS=768;
|
public static final int DIMENSIONS = 768;
|
||||||
public static final int DIMENSIONS = 384;
|
// public static final int DIMENSIONS = 384;
|
||||||
|
|
||||||
// optional environment settings
|
// optional environment settings
|
||||||
public static final String ENV_EMBEDDINGS_CLUSTER_AUTH_USER = "EMBEDDINGS_CLUSTER_AUTH_USER";
|
public static final String ENV_EMBEDDINGS_CLUSTER_AUTH_USER = "EMBEDDINGS_CLUSTER_AUTH_USER";
|
||||||
|
|
@ -122,7 +125,9 @@ public class ClusterService {
|
||||||
Optional<String> keystorePwd;
|
Optional<String> keystorePwd;
|
||||||
|
|
||||||
private CqlSession session;
|
private CqlSession session;
|
||||||
|
|
||||||
private PreparedStatement insertVectorStmt;
|
private PreparedStatement insertVectorStmt;
|
||||||
|
private PreparedStatement selectVectorStmt;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private TimerService timerService;
|
private TimerService timerService;
|
||||||
|
|
@ -362,26 +367,44 @@ public class ClusterService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void oldcreateSchema() throws ClusterException {
|
public List<String> searchEmbeddings(List<Float> textEmbeddings) throws ClusterException {
|
||||||
|
List<String> result = new ArrayList();
|
||||||
|
// Prepare statement?
|
||||||
|
if (selectVectorStmt == null) {
|
||||||
|
String insertQuery = "SELECT id,content_chunk,similarity_cosine(content_vector, ?) " + //
|
||||||
|
" FROM document_vectors " + //
|
||||||
|
" ORDER BY content_vector ANN OF ? " + //
|
||||||
|
" LIMIT 5";
|
||||||
|
selectVectorStmt = session.prepare(insertQuery);
|
||||||
|
}
|
||||||
|
|
||||||
logger.info("│ ├── create schema...");
|
try {
|
||||||
// now create table schemas
|
// CqlVector verwenden
|
||||||
String query = "CREATE TABLE IF NOT EXISTS document_vectors (\n" + //
|
CqlVector<Float> cqlVector = CqlVector.newInstance(textEmbeddings);
|
||||||
" record_id timeuuid,\n" + //
|
|
||||||
" id uuid,\n" + //
|
|
||||||
" content_chunk text,\n" + //
|
|
||||||
" content_vector VECTOR <FLOAT, 768>,\n" + //
|
|
||||||
" created_at timestamp,\n" + //
|
|
||||||
" PRIMARY KEY (id, created_at)\n" + //
|
|
||||||
")" + //
|
|
||||||
"WITH CLUSTERING ORDER BY (created_at DESC);";
|
|
||||||
session.execute(query);
|
|
||||||
|
|
||||||
logger.info("│ ├── create index...");
|
ResultSet resultRows = session.execute(selectVectorStmt.bind(
|
||||||
query = "CREATE INDEX IF NOT EXISTS edv_ann_index\n" + //
|
cqlVector,
|
||||||
" ON document_vectors(content_vector) USING 'sai';";
|
cqlVector));
|
||||||
|
|
||||||
session.execute(query);
|
for (Row row : resultRows) {
|
||||||
logger.info("│ ├── ✅ database schema created.");
|
String id = row.getString(0);
|
||||||
|
result.add(id);
|
||||||
|
String contentChunk = row.getString(1);
|
||||||
|
Float similarity = row.getFloat(2);
|
||||||
|
System.out.println("--------------");
|
||||||
|
System.out.println("ID: " + id);
|
||||||
|
System.out.println("");
|
||||||
|
System.out.println(contentChunk + " " + similarity);
|
||||||
|
System.out.println("");
|
||||||
|
System.out.println("");
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new ClusterException(ClusterException.CLUSTER_ERROR,
|
||||||
|
"Failed to select embeddings from keyspace: " + e.getMessage(), e);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,7 @@ public class RAGAdapter implements SignalAdapter {
|
||||||
public static final String LLM_PROMPT = "PROMPT";
|
public static final String LLM_PROMPT = "PROMPT";
|
||||||
public static final String LLM_SUGGEST = "SUGGEST";
|
public static final String LLM_SUGGEST = "SUGGEST";
|
||||||
public static final String LLM_INDEX = "INDEX";
|
public static final String LLM_INDEX = "INDEX";
|
||||||
|
public static final String LLM_RETRIEVAL = "RETRIEVAL";
|
||||||
|
|
||||||
public static final int API_EVENT_SUCCESS = 110;
|
public static final int API_EVENT_SUCCESS = 110;
|
||||||
public static final int API_EVENT_FAILURE = 90;
|
public static final int API_EVENT_FAILURE = 90;
|
||||||
|
|
@ -154,82 +155,175 @@ public class RAGAdapter implements SignalAdapter {
|
||||||
*/
|
*/
|
||||||
public ItemCollection execute(ItemCollection workitem, ItemCollection event)
|
public ItemCollection execute(ItemCollection workitem, ItemCollection event)
|
||||||
throws AdapterException, PluginException {
|
throws AdapterException, PluginException {
|
||||||
String llmAPIEndpoint = null;
|
|
||||||
boolean llmAPIDebug = false;
|
|
||||||
long processingTime = System.currentTimeMillis();
|
|
||||||
|
|
||||||
logger.finest("...running api adapter...");
|
logger.finest("...running api adapter...");
|
||||||
|
|
||||||
// read optional configuration form the model or imixs.properties....
|
// read optional configuration form the model or imixs.properties....
|
||||||
|
List<ItemCollection> llmIndexDefinitions = workflowService.evalWorkflowResultXML(event, "imixs-ai",
|
||||||
|
LLM_INDEX, workitem, false);
|
||||||
|
List<ItemCollection> llmRetrievalDefinitions = workflowService.evalWorkflowResultXML(event, "imixs-ai",
|
||||||
|
LLM_RETRIEVAL, workitem, false);
|
||||||
|
|
||||||
|
// verify if we have an INDEX configuration
|
||||||
|
if (llmIndexDefinitions != null && llmIndexDefinitions.size() > 0) {
|
||||||
|
createIndex(llmIndexDefinitions, workitem, event);
|
||||||
|
}
|
||||||
|
|
||||||
|
// verify if we have an RETRIEVAL configuration
|
||||||
|
if (llmRetrievalDefinitions != null && llmRetrievalDefinitions.size() > 0) {
|
||||||
|
createRetrieval(llmRetrievalDefinitions, workitem, event);
|
||||||
|
}
|
||||||
|
|
||||||
|
return workitem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a RAG Index for a Worktiem based on IndexDefinitions
|
||||||
|
*
|
||||||
|
* @param llmIndexDefinitions
|
||||||
|
* @param workitem
|
||||||
|
* @param event
|
||||||
|
* @throws PluginException
|
||||||
|
* @throws AdapterException
|
||||||
|
*/
|
||||||
|
private void createIndex(List<ItemCollection> llmIndexDefinitions, ItemCollection workitem, ItemCollection event)
|
||||||
|
throws PluginException, AdapterException {
|
||||||
|
long processingTime = System.currentTimeMillis();
|
||||||
|
String llmAPIEndpoint = null;
|
||||||
|
boolean llmAPIDebug = false;
|
||||||
try {
|
try {
|
||||||
|
for (ItemCollection indexDefinition : llmIndexDefinitions) {
|
||||||
|
llmAPIEndpoint = parseLLMEndpointByBPMN(indexDefinition);
|
||||||
|
// do we have a valid endpoint?
|
||||||
|
if (llmAPIEndpoint == null || llmAPIEndpoint.isEmpty()) {
|
||||||
|
throw new PluginException(RAGAdapter.class.getSimpleName(), API_ERROR,
|
||||||
|
"imixs-ai configuration error: no llm service endpoint defined!");
|
||||||
|
}
|
||||||
|
if ("true".equalsIgnoreCase(indexDefinition.getItemValueString("debug"))) {
|
||||||
|
llmAPIDebug = true;
|
||||||
|
}
|
||||||
|
|
||||||
List<ItemCollection> llmIndexDefinitions = workflowService.evalWorkflowResultXML(event, "imixs-ai",
|
logger.info("├── post RAG index request: " + llmAPIEndpoint);
|
||||||
LLM_INDEX, workitem, false);
|
|
||||||
|
|
||||||
// verify if we have an INDEX configuration
|
String promptTemplate = llmService.loadPromptTemplate(event);
|
||||||
if (llmIndexDefinitions != null && llmIndexDefinitions.size() > 0) {
|
logger.info("│ ├── PromptTemplate: ");
|
||||||
|
logger.info(promptTemplate);
|
||||||
|
|
||||||
for (ItemCollection indexDefinition : llmIndexDefinitions) {
|
String llmPrompt = llmService.buildPrompt(promptTemplate, workitem);
|
||||||
llmAPIEndpoint = parseLLMEndpointByBPMN(indexDefinition);
|
|
||||||
// do we have a valid endpoint?
|
|
||||||
if (llmAPIEndpoint == null || llmAPIEndpoint.isEmpty()) {
|
|
||||||
throw new PluginException(RAGAdapter.class.getSimpleName(), API_ERROR,
|
|
||||||
"imixs-ai configuration error: no llm service endpoint defined!");
|
|
||||||
}
|
|
||||||
if ("true".equalsIgnoreCase(indexDefinition.getItemValueString("debug"))) {
|
|
||||||
llmAPIDebug = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
logger.info("├── post Llama-cpp request: " + llmAPIEndpoint);
|
if (llmPrompt.isBlank()) {
|
||||||
|
throw new PluginException(
|
||||||
|
RAGAdapter.class.getSimpleName(), API_ERROR,
|
||||||
|
"Unable to parse prompt for RAG indexing");
|
||||||
|
}
|
||||||
|
|
||||||
String promptTemplate = llmService.loadPromptTemplate(event);
|
if (llmAPIDebug) {
|
||||||
logger.info("│ ├── PromptTemplate: ");
|
logger.info("│ ├── Total Prompt Length = " + llmPrompt.length());
|
||||||
logger.info(promptTemplate);
|
logger.info("│ ├── Prompt: ");
|
||||||
|
logger.info(llmPrompt);
|
||||||
String llmPrompt = llmService.buildPrompt(promptTemplate, workitem);
|
}
|
||||||
|
|
||||||
if (llmPrompt.isBlank()) {
|
|
||||||
throw new PluginException(
|
|
||||||
RAGAdapter.class.getSimpleName(), API_ERROR,
|
|
||||||
"Unable to parse prompt for RAG indexing");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// chunk text....
|
||||||
|
List<String> chunk_list = RAGUtil.chunkMarkupDocument(llmPrompt);
|
||||||
|
for (String chunk : chunk_list) {
|
||||||
if (llmAPIDebug) {
|
if (llmAPIDebug) {
|
||||||
logger.info("│ ├── Total Prompt Length = " + llmPrompt.length());
|
logger.info("├── 🔸 chunk: ");
|
||||||
logger.info("│ ├── Prompt: ");
|
logger.info(chunk);
|
||||||
logger.info(llmPrompt);
|
|
||||||
}
|
}
|
||||||
|
List<Float> indexResult = llmService.postEmbedding(chunk, llmAPIEndpoint, llmAPIDebug);
|
||||||
// chunk text....
|
// write to cassandra
|
||||||
List<String> chunk_list = RAGUtil.chunkMarkupDocument(llmPrompt);
|
clusterService.insertVector(workitem.getUniqueID(), chunk, indexResult);
|
||||||
for (String chunk : chunk_list) {
|
|
||||||
if (llmAPIDebug) {
|
|
||||||
logger.info("├── 🔸 chunk: ");
|
|
||||||
logger.info(chunk);
|
|
||||||
}
|
|
||||||
List<Float> indexResult = llmService.postEmbedding(chunk, llmAPIEndpoint, llmAPIDebug);
|
|
||||||
// write to cassandra
|
|
||||||
clusterService.insertVector(workitem.getUniqueID(), chunk, indexResult);
|
|
||||||
if (llmAPIDebug) {
|
|
||||||
logger.info("├── ⇨ " + indexResult.size() + " floats stored in RAG db.");
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (llmAPIDebug) {
|
if (llmAPIDebug) {
|
||||||
logger.info(
|
logger.info("├── ⇨ " + indexResult.size() + " floats stored in RAG db.");
|
||||||
"├── ✅ Total processing time: " + (System.currentTimeMillis() - processingTime) + "ms");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
if (llmAPIDebug) {
|
||||||
|
logger.info(
|
||||||
|
"├── ✅ Total processing time: " + (System.currentTimeMillis() - processingTime) + "ms");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (PluginException e) {
|
||||||
|
logger.severe("├── ⚠️ Failed to post embeddings: " + e.getMessage());
|
||||||
|
throw e;
|
||||||
|
} catch (ClusterException e) {
|
||||||
|
throw new PluginException(RAGAdapter.class.getSimpleName(), API_ERROR, e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a RAG retrieval for a Worktiem based on RetrievalDefinitions
|
||||||
|
*
|
||||||
|
* @param llmRetrievalfDefinitions
|
||||||
|
* @param workitem
|
||||||
|
* @param event
|
||||||
|
* @throws PluginException
|
||||||
|
* @throws AdapterException
|
||||||
|
*/
|
||||||
|
private void createRetrieval(List<ItemCollection> llmRetrievalfDefinitions, ItemCollection workitem,
|
||||||
|
ItemCollection event) throws PluginException, AdapterException {
|
||||||
|
long processingTime = System.currentTimeMillis();
|
||||||
|
String llmAPIEndpoint = null;
|
||||||
|
boolean llmAPIDebug = false;
|
||||||
|
try {
|
||||||
|
for (ItemCollection indexDefinition : llmRetrievalfDefinitions) {
|
||||||
|
llmAPIEndpoint = parseLLMEndpointByBPMN(indexDefinition);
|
||||||
|
// do we have a valid endpoint?
|
||||||
|
if (llmAPIEndpoint == null || llmAPIEndpoint.isEmpty()) {
|
||||||
|
throw new PluginException(RAGAdapter.class.getSimpleName(), API_ERROR,
|
||||||
|
"imixs-ai configuration error: no llm service endpoint defined!");
|
||||||
|
}
|
||||||
|
if ("true".equalsIgnoreCase(indexDefinition.getItemValueString("debug"))) {
|
||||||
|
llmAPIDebug = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.info("├── post RAG Retrievalf request: " + llmAPIEndpoint);
|
||||||
|
|
||||||
|
String promptTemplate = llmService.loadPromptTemplate(event);
|
||||||
|
logger.info("│ ├── PromptTemplate: ");
|
||||||
|
logger.info(promptTemplate);
|
||||||
|
|
||||||
|
String llmPrompt = llmService.buildPrompt(promptTemplate, workitem);
|
||||||
|
|
||||||
|
if (llmPrompt.isBlank()) {
|
||||||
|
throw new PluginException(
|
||||||
|
RAGAdapter.class.getSimpleName(), API_ERROR,
|
||||||
|
"Unable to parse prompt for RAG indexing");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (llmAPIDebug) {
|
||||||
|
logger.info("│ ├── Total Prompt Length = " + llmPrompt.length());
|
||||||
|
logger.info("│ ├── Prompt: ");
|
||||||
|
logger.info(llmPrompt);
|
||||||
|
}
|
||||||
|
|
||||||
|
// retrieve prompt....
|
||||||
|
|
||||||
|
List<Float> indexResult = llmService.postEmbedding(llmPrompt, llmAPIEndpoint, llmAPIDebug);
|
||||||
|
|
||||||
|
if (llmAPIDebug) {
|
||||||
|
logger.info("├── ⇨ " + indexResult.size() + " floats stored in RAG db.");
|
||||||
|
|
||||||
|
}
|
||||||
|
// search cassandra
|
||||||
|
List<String> ids = clusterService.searchEmbeddings(indexResult);
|
||||||
|
|
||||||
|
workitem.setItemValue("product.ref", ids);
|
||||||
|
|
||||||
|
if (llmAPIDebug) {
|
||||||
|
logger.info(
|
||||||
|
"├── found " + ids.size() + " matches");
|
||||||
|
logger.info(
|
||||||
|
"├── ✅ Total processing time: " + (System.currentTimeMillis() - processingTime) + "ms");
|
||||||
|
}
|
||||||
|
}
|
||||||
} catch (PluginException e) {
|
} catch (PluginException e) {
|
||||||
logger.severe("├── ⚠️ Failed to post embeddings: " + e.getMessage());
|
logger.severe("├── ⚠️ Failed to post embeddings: " + e.getMessage());
|
||||||
throw e;
|
throw e;
|
||||||
} catch (ClusterException e) {
|
} catch (ClusterException e) {
|
||||||
throw new PluginException(RAGAdapter.class.getSimpleName(), API_ERROR, e.getMessage(), e);
|
throw new PluginException(RAGAdapter.class.getSimpleName(), API_ERROR, e.getMessage(), e);
|
||||||
}
|
}
|
||||||
return workitem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
1417
workflow/offer-de-1.0.0.bpmn
Normal file
1417
workflow/offer-de-1.0.0.bpmn
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -87,18 +87,22 @@
|
||||||
<imixs:value><![CDATA[form_basic]]></imixs:value>
|
<imixs:value><![CDATA[form_basic]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="txtworkflowabstract" type="xs:string">
|
<imixs:item name="txtworkflowabstract" type="xs:string">
|
||||||
<imixs:value><![CDATA[<strong>Product: <itemvalue>_name</itemvalue></strong><br />
|
<imixs:value><![CDATA[**Product: <itemvalue>_name</itemvalue>**
|
||||||
EAN: <itemvalue>_ean</itemvalue><br />
|
|
||||||
Category: <itemvalue>_category</itemvalue><br />
|
EAN: <itemvalue>_ean</itemvalue>
|
||||||
Brand: <itemvalue>_brand</itemvalue><br />
|
Category: <itemvalue>_category</itemvalue>
|
||||||
<hr />
|
Brand: <itemvalue>_brand</itemvalue>
|
||||||
Description: <br />
|
|
||||||
<itemvalue>_description</itemvalue><br />
|
**Product Details:**
|
||||||
<hr />
|
|
||||||
Price: <itemvalue>_price</itemvalue> <itemvalue>_currency</itemvalue><br />
|
|
||||||
Stock: <itemvalue>_stock</itemvalue><br />
|
Description:
|
||||||
Size: <itemvalue>_size</itemvalue><br />
|
<itemvalue>_description</itemvalue>
|
||||||
Color: <itemvalue>_color</itemvalue><br />
|
|
||||||
|
Price: <itemvalue>_price</itemvalue> <itemvalue>_currency</itemvalue>
|
||||||
|
Stock: <itemvalue>_stock</itemvalue>
|
||||||
|
Size: <itemvalue>_size</itemvalue>
|
||||||
|
Color: <itemvalue>_color</itemvalue>
|
||||||
]]></imixs:value>
|
]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="txtname" type="xs:string">
|
<imixs:item name="txtname" type="xs:string">
|
||||||
|
|
@ -142,14 +146,11 @@ Color: <itemvalue>_color</itemvalue><br />
|
||||||
<item name="_description" type="textarea" label="Beschreibung:" />
|
<item name="_description" type="textarea" label="Beschreibung:" />
|
||||||
</imixs-form-section>
|
</imixs-form-section>
|
||||||
<imixs-form-section columns="2" readonly="true">
|
<imixs-form-section columns="2" readonly="true">
|
||||||
<item name="_brand" type="text" label="Marke:" />
|
|
||||||
<item name="_ean" type="text" label="EAN:" />
|
<item name="_ean" type="text" label="EAN:" />
|
||||||
<item name="_price" type="currency" label="Preis:" />
|
<item name="_price" type="currency" label="Preis:" />
|
||||||
<item name="_currency" type="text" label="Währung:" />
|
|
||||||
<item name="_stock" type="text" label="Bestand:" />
|
<item name="_stock" type="text" label="Bestand:" />
|
||||||
<item name="_size" type="text" label="Größe:" />
|
|
||||||
<item name="_category" type="text" label="Kategorie:" />
|
<item name="_category" type="text" label="Kategorie:" />
|
||||||
<item name="_color" type="text" label="Farbe:" />
|
|
||||||
</imixs-form-section>
|
</imixs-form-section>
|
||||||
</imixs-form>
|
</imixs-form>
|
||||||
]]></bpmn2:documentation>
|
]]></bpmn2:documentation>
|
||||||
|
|
@ -157,21 +158,6 @@ Color: <itemvalue>_color</itemvalue><br />
|
||||||
</bpmn2:dataObject>
|
</bpmn2:dataObject>
|
||||||
<bpmn2:task id="Task_3" imixs:processid="1200" name="Verfügbar">
|
<bpmn2:task id="Task_3" imixs:processid="1200" name="Verfügbar">
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
<imixs:item name="txtworkflowabstract" type="xs:string">
|
|
||||||
<imixs:value><![CDATA[<strong>Product: <itemvalue>_name</itemvalue></strong><br />
|
|
||||||
EAN: <itemvalue>_ean</itemvalue><br />
|
|
||||||
Category: <itemvalue>_category</itemvalue><br />
|
|
||||||
Brand: <itemvalue>_brand</itemvalue><br />
|
|
||||||
<hr />
|
|
||||||
Description: <br />
|
|
||||||
<itemvalue>_description</itemvalue><br />
|
|
||||||
<hr />
|
|
||||||
Price: <itemvalue>_price</itemvalue> <itemvalue>_currency</itemvalue><br />
|
|
||||||
Stock: <itemvalue>_stock</itemvalue><br />
|
|
||||||
Size: <itemvalue>_size</itemvalue><br />
|
|
||||||
Color: <itemvalue>_color</itemvalue><br />
|
|
||||||
]]></imixs:value>
|
|
||||||
</imixs:item>
|
|
||||||
<imixs:item name="txtname" type="xs:string">
|
<imixs:item name="txtname" type="xs:string">
|
||||||
<imixs:value><![CDATA[Rechnung erhalten]]></imixs:value>
|
<imixs:value><![CDATA[Rechnung erhalten]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
|
|
@ -197,6 +183,21 @@ Color: <itemvalue>_color</itemvalue><br />
|
||||||
<imixs:item name="txttype" type="xs:string">
|
<imixs:item name="txttype" type="xs:string">
|
||||||
<imixs:value><![CDATA[workitem]]></imixs:value>
|
<imixs:value><![CDATA[workitem]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
|
<imixs:item name="txtworkflowabstract" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[**Product: <itemvalue>_name</itemvalue>**
|
||||||
|
|
||||||
|
EAN: <itemvalue>_ean</itemvalue>
|
||||||
|
Category: <itemvalue>_category</itemvalue>
|
||||||
|
|
||||||
|
**Product Details:**
|
||||||
|
|
||||||
|
Description:
|
||||||
|
<itemvalue>_description</itemvalue>
|
||||||
|
|
||||||
|
Price: <itemvalue>_price</itemvalue> <itemvalue>_currency</itemvalue>
|
||||||
|
Stock: <itemvalue>_stock</itemvalue>
|
||||||
|
]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
</bpmn2:extensionElements>
|
</bpmn2:extensionElements>
|
||||||
<bpmn2:documentation id="Documentation_27"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
|
<bpmn2:documentation id="Documentation_27"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
|
||||||
<bpmn2:incoming>SequenceFlow_42</bpmn2:incoming>
|
<bpmn2:incoming>SequenceFlow_42</bpmn2:incoming>
|
||||||
|
|
|
||||||
|
|
@ -1891,9 +1891,9 @@ result.isValid=true;
|
||||||
<dc:Bounds height="50.0" width="110.0" x="308.0" y="180.0"/>
|
<dc:Bounds height="50.0" width="110.0" x="308.0" y="180.0"/>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="DataObject_2" id="BPMNShape_DataObject_1">
|
<bpmndi:BPMNShape bpmnElement="DataObject_2" id="BPMNShape_DataObject_1">
|
||||||
<dc:Bounds height="50.0" width="35.0" x="300.0" y="89.0"/>
|
<dc:Bounds height="50.0" width="35.0" x="301.0" y="89.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_85">
|
<bpmndi:BPMNLabel id="BPMNLabel_85">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="268.0" y="139.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="269.0" y="139.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_13" id="BPMNShape_IntermediateCatchEvent_13">
|
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_13" id="BPMNShape_IntermediateCatchEvent_13">
|
||||||
|
|
@ -2060,7 +2060,7 @@ result.isValid=true;
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="Association_2" id="BPMNEdge_Association_2" sourceElement="BPMNShape_DataObject_1" targetElement="BPMNShape_Task_5">
|
<bpmndi:BPMNEdge bpmnElement="Association_2" id="BPMNEdge_Association_2" sourceElement="BPMNShape_DataObject_1" targetElement="BPMNShape_Task_5">
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_86"/>
|
<bpmndi:BPMNLabel id="BPMNLabel_86"/>
|
||||||
<di:waypoint x="335.0" y="114.0"/>
|
<di:waypoint x="336.0" y="114.0"/>
|
||||||
<di:waypoint x="363.0" y="114.0"/>
|
<di:waypoint x="363.0" y="114.0"/>
|
||||||
<di:waypoint x="363.0" y="180.0"/>
|
<di:waypoint x="363.0" y="180.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue