This commit is contained in:
fzzinchemical
2026-02-27 16:21:32 +01:00
parent a9c9eda675
commit b59d3d77b1
16 changed files with 349 additions and 41 deletions

View File

@@ -1,12 +1,35 @@
Als 2022 OpenAI ihr #Chatbot ChatGPT der Öffentlichkeit freistellte wurden neue Automatisierungsprozesse ermöglicht. Redundante Arbeit konnte von nun an durch ein Chat-Bot teilweise durchgeführt werden. Mit der ankunft von breit verwendeten LLMs wie ChatGPT, Gemini oder auch Llama bot sich eine neue Form der Arbeit im Bereich der Informatik, spezifisch dem schreiben von Code.
Diese Chat-bots jedoch können Fehler und Falschaussagen in generierte Texte hinzufügen, die schwerwiegende Probleme für Endnutzer:innen erzeugen können, die wir vorher so nicht gesehen hatten. Das sogenannte Vibe-Coding ist ein bereits weit vertretener Begriff für Personen, die zur Erstellung von Code und Code-Architekturen auf KI-Modelle zugreifen um Personal und Arbeit zu reduzieren.
Bei der Verfassung und Generierung von Lernmaterial ist ein korrektes lernen von Fachvokabular und Kontext von besonderer Wichtigkeit, diese Thesis versucht eine Lösung für dieses Teilproblem zu lösen. Problematisch sind jedoch Synthetic Error Injections bei generiertem Code, der zu unerwünschten Problemen führen kann. Beispiele hierfür sind undefinierte Variablen, fehlende Imports, Typenfehler, Off-By-One-Fehler und logic contradicitons.
Ziel soll es sein eine Applikation zu entwickeln, welche sich zwischen einen Chat-Bot und den Endnutzer:innen schalten kann oder per Copy-Paste einen Text auf folgende Kriterien prüfen soll: Diese Thesis behandelt diese Problematik, indem
- Korrektheit von Kontext bei verwendeten Schlüsselwörtern
- Verwendete Grammatik
- Kohärenz von Informationen
Um dies zu erfüllen soll "natural language processing ( #NLP)" verwendet werden. Eine weitere KI würde nur neue Probleme bzw. bereits existierende Probleme nicht immer erfassen können. ```mermaid
gantt
title Zeitplan (9 Wochen)
dateFormat YYYY-MM-DD
section Pakete
1. Baseline :2026-04-01, 3d
2. Datensatz-Plan :2026-04-04, 7d
3. Datensatz-Erst.:2026-04-11, 14d
4. BERT-Setup :2026-04-25, 4d
5. MCP-Infrastr. :2026-04-29, 7d
6. Frontend :2026-05-6, 3d
7. Fine-Tuning :2026-05-9, 7d
8. Analyse :2026-05-16, 7d
Puffer :crit, 2026-05-023, 14d
```

View File

@@ -3,23 +3,7 @@ tags:
- Fragen - Fragen
--- ---
# Fragen zum Thema und zur Umsetzung # Fragen zum Thema und zur Umsetzung
- [ ] Wie ermittel ich Fachgerecht die: - Wie Prüfe ich die Webseiten, die durch KI-Tools (wie ChatGPT und Perplexity) verwendet werden und ob die Informationen von dort stimmen?
- [ ] #Grammatik? - Kann ich dafür eine Trainierte Variante von ModernBert verwenden?
- [ ] #Rechtschreibung? - Kann ich das Model Kontext Protokol dafür einbinden? oder reicht RAG?
- [ ] dass sich der #ChatBot sich nicht ständig #Wiederholt? - Wie Werte ich die Datensätze aus und entscheide ob diese meinem Ziel entsprechen.
- [ ] dass der #Kontext nicht stimmt?
- [ ] dass der #Chatbot keine #Halluzination hat?
- [ ] dass die #Fakten verdreht wurden?
- [ ] dass #Fakten falsch benannt / dargestellt wurden?
- [ ] #PunktUndKommasetzung?
- [ ] Gibt es #Sprachlimitierungen und wenn ja, welche?
- [ ] Wie binde ich einen #Chatbot an? (API Schnittstelle oder Listen on Port?)
- [ ] Welche #Architektur will ich bevorzugen?
- [ ] Wie kann ich meine #Software #Testen?
- [ ] Kann ich mit einem geeigneten #Datensatz fachgerecht #Testen?
# Fragen zu den Zielen und dem daraus res. Zeitplan
- [ ] Welche #Ziele sind im Zeitrahmen einhaltbar?
- [ ] Welche #Arbeitspakete können anhand der Ziele Definiert werden?
- [ ] In welcher Form kann der #Zeitplan effizient umgesetzt werden

54
Kommentare.md Normal file
View File

@@ -0,0 +1,54 @@
Motivation, Problembeschreibung
Literaturzitate
CodeHalu -
Will ich Halluzinationen erkennen?
Will ich es Klassifizieren?
Auf einen Use-Case runterbrechen
Können wir die Ergebnisse nachvollziehen?
Wo will ich das andocken?
Wieso ist eine solche Klassifikation wichtig?
Mit welcher Methode will ich es nachvollziehen?
Nähere Beschreibung des Benchmarks
Wie sehen die Datensätze aus?
Einführung des State of the Art mit den Benchmarks?
Genauere Vorstellung der Architektur von LettuceDetect.
2 Szenarien, gelesen in Literatur und SE
Aufstellung eines Frameworks um Halluzinationsentdeckung, hlift das?
Ich habe so eine Pipeline und kann das einbinden an ein Konkretes Projekt.
Proof of concept, definierung des Projektes und LettuteDetect
Schwammige Formulierung in Motivation.
Problembeschreibung: wer macht bereits Halluzinationsentdeckung in Code
Was leisten die einzelnen Komponenten und wie kann ich das Proof of concept aufstellen?
Part mit LLM wird noch nicht verstanden.
Für proof of principle
Dem Leser stärker Erklären wo angesetzt wird.
Bauen von etwas was in der Literatur
Was man amchen k:onnte wäre eine überprüfung die könnten etwas bis zu einem bestimmten Grad erkennen.
Praktischer Versuch: Proof of Principle, kann ich damit iwi arbeiten
Beispielprojekt aufsetzen
Anhand welcher Aufgabentypen kann ich besonders addressieren? Mit welchen Sprachmodellen will ich da ran gehen.
Seite mehr ist nicht schlimm
aa was ist das ziel
b an wen richtet sich das ganze
Knackpunkt proof of principle, stelle der Code-Generierung Copilot Pipeline an Copilot hinzufügen
verschiedene Aussagen vorne rausgreifen. Datensatz zusammenstellen in Anlehnung der Datensätze möglicherweise
2-3 Methoden um Halluzinationsentdeckung aus codehalu einbinden
welche schritte von pipeline
woher kommt der generierte Code???
an wen richtet sich das ganze?

View File

@@ -0,0 +1,26 @@
Verfassung eines Exposés
Grundidee immer gleich
- Problembeschreibung
- Ressourcen
Ressourcen: Nils Vehske, Lars Braubach, Ute Bohnebeck
Für Erkennung sollte man sich die Datensets anschauen.
HuDEX schicken
Welche Art von Pipeline und architektur kann man da zusammenbauen um Haluzination zu entdecken und ausführen zu können?
Mit der RAG-Pipeline erhält man einen Corpus
Welche Art von Daten werden verwendet?
Vorletzte Woche 26-Wieder da.
Termin letzte Semesterwoche letzte Januarwoche.
Unterlagen 26-30 Januar abschicken.
Dienstag 11 Uhr 3.Februar
Zweitgutachter anschauen: Draheim, Braubach, (Matevska) oder andere von Interesse.

View File

@@ -1,4 +0,0 @@
Automated Essay Scoring scheint eine Teilgebiet zu sein, welches noch eine Menge arbeit erfordert und dementsprechend möglicherweise nicht all zu anfassbar zu sein scheint.
KI könnte hier zwar helfen, aber das hinzufügen einer Blackbox kann zu unerwünschten Nebeneffekte führen (schwere Nachvollziehbarkeit, mögliche Beeinflussung durch übergebene Texte).

View File

@@ -0,0 +1,2 @@
Teilmenge von Token-F1
**Beurteilung eines binären Klassifikators**

View File

@@ -0,0 +1,4 @@
**Recall-Oriented Understudy for Gisting Evaluation**
Vergleicht ein Produkt gegen Referenzmaterialien und deckt mitunter n-grams automatisch.
Wertemengel zwischen 0 und 1, 1 stehend für eine höhere Similarität zum Referenzmaterial.

View File

@@ -0,0 +1,2 @@
Informationsextraktion, wurden die korrekten Daten extrahiert?
Dies steht in direktem Bezug zur korrekten Datenextraktion durch ein LLM-System

View File

@@ -0,0 +1,17 @@
Klassifikator ist selber ebenfalls fehleranfällig und kann in manchen Fällen ein Objekt einer falschen Klasse zuweisen.
# Sensitivität/Richtig-positiv-Rate
Auch Empfindlichkeit oder Trefferquote gibt Wahrsch. mit der ein Objekt korrekt als positiv klassifiziert wird.
# Falsch-negativ-Rate
Fälschlich als negativ klassifizierte Objekte
# Spezifität
Richtig-negativ-Rate gibt die Wahrscheinlichkeit mit der ein negatives Objekt korrekt als negativ kassifiziert wird.
# Falsch-positive-Rate
Auch Ausfallrate, gibt den Anteil der fälschlich als positiv klassifizierten Objekte an, die in Wirklichkeit negativ sind.
# Zusammenfassung
Wir sehen hier eine relation zwischen Sensitivität und Spezifität, ein Ausgleich sollte beim Trainingsprozess ermittelt werden.
![https://de.wikipedia.org/wiki/Beurteilung_eines_bin%C3%A4ren_Klassifikators#Kombinierte_Ma%C3%9Fe]()

View File

@@ -0,0 +1,3 @@
Vorhersagen der nächsten Wörter einstimmig? Grundlegende Grammatik der Programmiersprache wirde hier möglicherweise getestet.
![https://fr.wikipedia.org/wiki/N-gramme]()

View File

@@ -1,7 +0,0 @@
---
tags:
- Grammatik
- NLTK
- NLP
---
Zur Überprüfung der Grammatik kann von #NLTK folgendes aus der Dokumentation verwendet werden: [nltk.grammar](https://www.nltk.org/api/nltk.grammar.html)

2
Themen/Recherche/MCP.md Normal file
View File

@@ -0,0 +1,2 @@
https://github.com/QuixiAI/dolphin-mcp/tree/main

View File

@@ -1,2 +0,0 @@
Das Modul #NLTK kann für #NLP verwendet werden.

View File

@@ -0,0 +1,102 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/29.3.6 Chrome/140.0.7339.249 Electron/38.8.0 Safari/537.36" version="29.3.6">
<diagram name="Page-1" id="L-KOPRMV2wZSnAYm-uNf">
<mxGraphModel dx="1396" dy="698" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" background="#ffffff" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="FcBwC2Dzq3h-ralQRLea-15" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-12">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-16" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-13">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-17" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-14">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-1" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;gradientColor=none;" value="Tokenizer" vertex="1">
<mxGeometry height="60" width="410" x="190" y="420" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-10" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-8" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" value="External Context" vertex="1">
<mxGeometry height="60" width="120" x="650" y="320" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-21" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-18">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-12" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;fillStyle=dashed;" value="tokenized&lt;br&gt;Prompt" vertex="1">
<mxGeometry height="60" width="120" x="200" y="540" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-20" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-18">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-13" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fillStyle=dashed;" value="tokenized&lt;div&gt;Answer&lt;/div&gt;" vertex="1">
<mxGeometry height="60" width="120" x="335" y="540" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-19" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-18">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-14" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fillStyle=dashed;" value="tokenized&lt;div&gt;Context&lt;/div&gt;" vertex="1">
<mxGeometry height="60" width="120" x="470" y="540" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-22" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-33">
<mxGeometry relative="1" as="geometry">
<mxPoint x="395.0344827586207" y="800" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-18" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Custom ModernBERT&lt;div&gt;SLM&lt;/div&gt;" vertex="1">
<mxGeometry height="60" width="120" x="335" y="680" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-8" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-8">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-31" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" value="MCP Server" vertex="1">
<mxGeometry height="60" width="120" x="650" y="230" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-32" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" value="User Input/&lt;div&gt;Automated Input&lt;/div&gt;" vertex="1">
<mxGeometry height="60" width="120" x="40" y="300" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-36" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;sketch=1;hachureGap=4;jiggle=2;curveFitting=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" target="FcBwC2Dzq3h-ralQRLea-35">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-33" parent="1" style="rounded=1;whiteSpace=wrap;html=1;hachureGap=4;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fillColor=#ffe6cc;strokeColor=#d79b00;gradientColor=none;" value="&lt;font face=&quot;Helvetica&quot;&gt;Multi Labeled Output&lt;/font&gt;" vertex="1">
<mxGeometry height="60" width="120" x="335" y="780" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-35" parent="1" style="rounded=1;whiteSpace=wrap;html=1;hachureGap=4;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fillColor=#d5e8d4;strokeColor=#82b366;" value="&lt;font face=&quot;Helvetica&quot;&gt;Markierter Code&lt;/font&gt;" vertex="1">
<mxGeometry height="60" width="120" x="335" y="880" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-2" connectable="0" parent="1" style="group;rounded=0;glass=0;shadow=0;" value="" vertex="1">
<mxGeometry height="170" width="290" x="200" y="220" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-1" parent="we9DdsN1QogulVzx31cQ-2" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" value="LLM (GPT4-o, Llama3.1 o.Ä)&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" vertex="1">
<mxGeometry height="170" width="290" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-6" parent="we9DdsN1QogulVzx31cQ-2" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" value="Prompt" vertex="1">
<mxGeometry height="60" width="120" x="20" y="80" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-7" parent="we9DdsN1QogulVzx31cQ-2" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="LLM Answer" vertex="1">
<mxGeometry height="60" width="120" x="155" y="80" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-4" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-3" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="FcBwC2Dzq3h-ralQRLea-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-5" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-14" edge="1" parent="1" source="we9DdsN1QogulVzx31cQ-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-31">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-9" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" value="Python doc requestor" vertex="1">
<mxGeometry height="60" width="120" x="510" y="320" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-13" edge="1" parent="1" source="we9DdsN1QogulVzx31cQ-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" target="we9DdsN1QogulVzx31cQ-9">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@@ -0,0 +1,102 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/29.3.6 Chrome/140.0.7339.249 Electron/38.8.0 Safari/537.36" version="29.3.6">
<diagram name="Page-1" id="L-KOPRMV2wZSnAYm-uNf">
<mxGraphModel dx="2024" dy="1012" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" background="#ffffff" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="FcBwC2Dzq3h-ralQRLea-15" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-12">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-16" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-13">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-17" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-14">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-1" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;gradientColor=none;" value="Tokenizer" vertex="1">
<mxGeometry height="60" width="410" x="190" y="420" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-10" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-8" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" value="External Context" vertex="1">
<mxGeometry height="60" width="120" x="650" y="320" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-21" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-18">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-12" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;fillStyle=dashed;" value="tokenized&lt;br&gt;Prompt" vertex="1">
<mxGeometry height="60" width="120" x="200" y="540" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-20" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-18">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-13" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fillStyle=dashed;" value="tokenized&lt;div&gt;Answer&lt;/div&gt;" vertex="1">
<mxGeometry height="60" width="120" x="335" y="540" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-19" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-18">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-14" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fillStyle=dashed;" value="tokenized&lt;div&gt;Context&lt;/div&gt;" vertex="1">
<mxGeometry height="60" width="120" x="470" y="540" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-22" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-33">
<mxGeometry relative="1" as="geometry">
<mxPoint x="395.0344827586207" y="800" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-18" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Custom ModernBERT&lt;div&gt;SLM&lt;/div&gt;" vertex="1">
<mxGeometry height="60" width="120" x="335" y="680" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-8" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-8">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-31" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" value="MCP Server" vertex="1">
<mxGeometry height="60" width="120" x="650" y="230" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-32" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" value="User Input/&lt;div&gt;Automated Input&lt;/div&gt;" vertex="1">
<mxGeometry height="60" width="120" x="40" y="300" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-36" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;sketch=1;hachureGap=4;jiggle=2;curveFitting=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" target="FcBwC2Dzq3h-ralQRLea-35">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-33" parent="1" style="rounded=1;whiteSpace=wrap;html=1;hachureGap=4;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fillColor=#ffe6cc;strokeColor=#d79b00;gradientColor=none;" value="&lt;font face=&quot;Helvetica&quot;&gt;Multi Labeled Output&lt;/font&gt;" vertex="1">
<mxGeometry height="60" width="120" x="335" y="780" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-35" parent="1" style="rounded=1;whiteSpace=wrap;html=1;hachureGap=4;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fillColor=#d5e8d4;strokeColor=#82b366;" value="&lt;font face=&quot;Helvetica&quot;&gt;Markierter Code&lt;/font&gt;" vertex="1">
<mxGeometry height="60" width="120" x="335" y="880" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-2" connectable="0" parent="1" style="group;rounded=0;glass=0;shadow=0;" value="" vertex="1">
<mxGeometry height="170" width="290" x="200" y="220" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-1" parent="we9DdsN1QogulVzx31cQ-2" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" value="LLM (GPT4-o, Llama3.1 o.Ä)&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" vertex="1">
<mxGeometry height="170" width="290" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-6" parent="we9DdsN1QogulVzx31cQ-2" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" value="Prompt" vertex="1">
<mxGeometry height="60" width="120" x="20" y="80" as="geometry" />
</mxCell>
<mxCell id="FcBwC2Dzq3h-ralQRLea-7" parent="we9DdsN1QogulVzx31cQ-2" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="LLM Answer" vertex="1">
<mxGeometry height="60" width="120" x="155" y="80" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-4" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-3" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="FcBwC2Dzq3h-ralQRLea-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-5" edge="1" parent="1" source="FcBwC2Dzq3h-ralQRLea-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-14" edge="1" parent="1" source="we9DdsN1QogulVzx31cQ-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" target="FcBwC2Dzq3h-ralQRLea-31">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-9" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" value="Python Doc Requestor" vertex="1">
<mxGeometry height="60" width="120" x="510" y="320" as="geometry" />
</mxCell>
<mxCell id="we9DdsN1QogulVzx31cQ-13" edge="1" parent="1" source="we9DdsN1QogulVzx31cQ-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" target="we9DdsN1QogulVzx31cQ-9">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>