Merge remote-tracking branch 'origin/main' into sec

This commit is contained in:
2026-03-03 09:49:54 +01:00
76 changed files with 14655 additions and 12123 deletions

View File

@@ -8,7 +8,7 @@
"collapse-color-groups": false,
"colorGroups": [
{
"query": "tag:Praktikum",
"query": "file:Tasks",
"color": {
"a": 1,
"rgb": 14701138

File diff suppressed because one or more lines are too long

View File

@@ -1,9 +1,10 @@
{
"author": "Vinzent",
"authorUrl": "https://github.com/Vinzent03",
"id": "obsidian-git",
"name": "Git",
"description": "Backup your vault with Git.",
"description": "Integrate Git version control with automatic backup and other advanced features.",
"isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/vinzent",
"js": "main.js",
"version": "2.24.1"
"version": "2.35.2"
}

View File

@@ -14,11 +14,19 @@
}
.workspace-leaf-content[data-type="git-view"] .view-content {
padding: 0;
padding-left: 0;
padding-top: 0;
padding-right: 0;
}
.workspace-leaf-content[data-type="git-history-view"] .view-content {
padding: 0;
padding-left: 0;
padding-top: 0;
padding-right: 0;
}
.loading {
overflow: hidden;
}
.loading > svg {
@@ -39,6 +47,10 @@
margin-right: auto;
}
.obsidian-git-disabled {
opacity: 0.5;
}
.obsidian-git-center-button {
display: block;
margin: 20px auto;
@@ -51,6 +63,15 @@
.tooltip.mod-right {
overflow-wrap: break-word;
}
/* Limits the scrollbar to the view body */
.git-view {
display: flex;
flex-direction: column;
position: relative;
height: 100%;
}
.git-tools {
display: flex;
margin-left: auto;
@@ -77,6 +98,25 @@
height: auto;
}
.workspace-leaf-content[data-type="git-view"] .tree-item-self,
.workspace-leaf-content[data-type="git-history-view"] .tree-item-self {
align-items: center;
}
.workspace-leaf-content[data-type="git-view"]
.tree-item-self:hover
.clickable-icon,
.workspace-leaf-content[data-type="git-history-view"]
.tree-item-self:hover
.clickable-icon {
color: var(--icon-color-hover);
}
/* Highlight an item as active if it's diff is currently opened */
.is-active .git-tools .buttons > * {
color: var(--nav-item-color-active);
}
.git-author {
color: var(--text-accent);
}
@@ -549,3 +589,41 @@
padding: 0px 6px 0px 6px;
white-space: pre; /* Keep spaces and do not collapse them. */
}
@media (max-width: 800px) {
/* hide git blame gutter not to superpose text */
.cm-gutterElement.obs-git-blame-gutter {
display: none;
}
}
.git-unified-diff-view,
.git-split-diff-view .cm-deletedLine .cm-changedText {
background-color: #ee443330;
}
.git-unified-diff-view,
.git-split-diff-view .cm-insertedLine .cm-changedText {
background-color: #22bb2230;
}
.git-obscure-prompt[git-is-obscured="true"] #git-show-password:after {
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg>');
}
.git-obscure-prompt[git-is-obscured="false"] #git-show-password:after {
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye-off"><path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"></path><path d="M14.084 14.158a3 3 0 0 1-4.242-4.242"></path><path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"></path><path d="m2 2 20 20"></path></svg>');
}
/* Override styling of Codemirror merge view "collapsed lines" indicator */
.git-split-diff-view .ͼ2 .cm-collapsedLines {
background: var(--interactive-normal);
border-radius: var(--radius-m);
color: var(--text-accent);
font-size: var(--font-small);
padding: var(--size-4-1) var(--size-4-1);
}
.git-split-diff-view .ͼ2 .cm-collapsedLines:hover {
background: var(--interactive-hover);
color: var(--text-accent-hover);
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,10 @@
{
"id": "obsidian-style-settings",
"name": "Style Settings",
"version": "1.0.9",
"minAppVersion": "0.11.5",
"description": "Offers controls for adjusting theme, plugin, and snippet CSS variables.",
"author": "mgmeyers",
"authorUrl": "https://github.com/mgmeyers/obsidian-style-settings",
"isDesktopOnly": false
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,12 @@
{
"id": "obsidian-tasks-plugin",
"name": "Tasks",
"version": "7.22.0",
"minAppVersion": "1.4.0",
"description": "Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering.",
"helpUrl": "https://publish.obsidian.md/tasks/",
"author": "Clare Macrae and Ilyas Landikov (created by Martin Schenck)",
"authorUrl": "https://github.com/obsidian-tasks-group",
"fundingUrl": "https://github.com/sponsors/claremacrae",
"isDesktopOnly": false
}

File diff suppressed because one or more lines are too long

8
.obsidian/themes/Prism/manifest.json vendored Normal file
View File

@@ -0,0 +1,8 @@
{
"name": "Prism",
"version": "3.7.0",
"minAppVersion": "1.9.0",
"author": "Damian Korcz",
"authorUrl": "https://github.com/damiankorcz",
"fundingUrl": "https://www.buymeacoffee.com/DamianKorcz"
}

11287
.obsidian/themes/Prism/theme.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,7 @@
{
"name": "Typewriter",
"version": "2.2.4",
"minAppVersion": "0.16.0",
"author": "crashmoney",
"authorUrl": "https://github.com/crashmoney"
}

636
.obsidian/themes/Typewriter/theme.css vendored Normal file

File diff suppressed because one or more lines are too long

28
.obsidian/types.json vendored Normal file
View File

@@ -0,0 +1,28 @@
{
"types": {
"aliases": "aliases",
"cssclasses": "multitext",
"tags": "tags",
"TQ_explain": "checkbox",
"TQ_extra_instructions": "text",
"TQ_short_mode": "checkbox",
"TQ_show_backlink": "checkbox",
"TQ_show_cancelled_date": "checkbox",
"TQ_show_created_date": "checkbox",
"TQ_show_depends_on": "checkbox",
"TQ_show_done_date": "checkbox",
"TQ_show_due_date": "checkbox",
"TQ_show_edit_button": "checkbox",
"TQ_show_id": "checkbox",
"TQ_show_on_completion": "checkbox",
"TQ_show_postpone_button": "checkbox",
"TQ_show_priority": "checkbox",
"TQ_show_recurrence_rule": "checkbox",
"TQ_show_scheduled_date": "checkbox",
"TQ_show_start_date": "checkbox",
"TQ_show_tags": "checkbox",
"TQ_show_task_count": "checkbox",
"TQ_show_tree": "checkbox",
"TQ_show_urgency": "checkbox"
}
}

239
.obsidian/workspace.json vendored Normal file
View File

@@ -0,0 +1,239 @@
{
"main": {
"id": "16284aa810907b89",
"type": "split",
"children": [
{
"id": "0a337572ddbe0554",
"type": "tabs",
"children": [
{
"id": "92b19ec62110b284",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Themen/Recherche/Halluzinationstypen.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "Halluzinationstypen"
}
}
]
}
],
"direction": "vertical"
},
"left": {
"id": "86c1ea3fe6a03333",
"type": "split",
"children": [
{
"id": "6df9ea73fd0e1514",
"type": "tabs",
"children": [
{
"id": "3197193a5db22e57",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical",
"autoReveal": false
},
"icon": "lucide-folder-closed",
"title": "Files"
}
},
{
"id": "bfc467569a3d0222",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
},
"icon": "lucide-search",
"title": "Search"
}
},
{
"id": "a4850344e3b128c7",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {},
"icon": "lucide-bookmark",
"title": "Bookmarks"
}
}
]
}
],
"direction": "horizontal",
"width": 255.5,
"collapsed": true
},
"right": {
"id": "6a1960f01a2e810f",
"type": "split",
"children": [
{
"id": "588fa1920ac4dbd7",
"type": "tabs",
"children": [
{
"id": "24394dfa589caf60",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "Fragen.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "Backlinks for Fragen"
}
},
{
"id": "7f1b39e96375db5c",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "Tasks.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "Outgoing links from Tasks"
}
},
{
"id": "1bbbfc3388c1c315",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-tags",
"title": "Tags"
}
},
{
"id": "cd03c8c067fae5c1",
"type": "leaf",
"state": {
"type": "all-properties",
"state": {
"sortOrder": "frequency",
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-archive",
"title": "All properties"
}
},
{
"id": "cec35e47d58f56e2",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "Themen/Orga/Quellen Architektur.md",
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "Outline of Quellen Architektur"
}
},
{
"id": "48e5fb98d63b2d4f",
"type": "leaf",
"state": {
"type": "git-view",
"state": {},
"icon": "git-pull-request",
"title": "Source Control"
}
}
],
"currentTab": 5
}
],
"direction": "horizontal",
"width": 258.5
},
"left-ribbon": {
"hiddenItems": {
"switcher:Open quick switcher": false,
"graph:Open graph view": false,
"canvas:Create new canvas": false,
"daily-notes:Open today's daily note": false,
"templates:Insert template": false,
"command-palette:Open command palette": false,
"bases:Create new base": false,
"obsidian-git:Open Git source control": false
}
},
"active": "92b19ec62110b284",
"lastOpenFiles": [
"Themen/Recherche/Automated Essay Scoring.md",
"Themen/Recherche/Halluzinationstypen.md",
"Themen/Recherche/Kontext Checking.md",
"Themen/Recherche/Natural Language Processing.md",
"Themen/Orga/User Stories.md",
"Themen/Orga/Epics.md",
"Themen/Recherche/Grammatik.md",
"Themen/assets/Architecture.png",
"Exposé/1_Ziele.md",
"Exposé/3_Verwendete_Methoden.md",
"Themen/Orga/Quellen Architektur.md",
"Themen/Orga/Architektur.md",
"Exposé/4_Zeitplan.md",
"Exposé/0_Problembeschreibung.md",
"Themen/Orga/Untitled",
"Umsetzung/1_Core_Layer/Explanation Engine.md",
"Themen/Recherche",
"Themen/Orga",
"Umsetzung/1_Core_Layer/Performance Metric Observator.md",
"Umsetzung/1_Core_Layer/Logger.md",
"0_Tools",
"Tasks.md",
"Ideen Vorgehensweise.md",
"Umsetzung/3_Service_Layer/Response Orchestrator.md",
"Umsetzung/3_Service_Layer/Scoring Model.md",
"Umsetzung/3_Service_Layer/API Endpoints.md",
"Umsetzung/1_Core_Layer/Plug-In-Manager.md",
"Umsetzung/3_Service_Layer/Socket Connector.md",
"Umsetzung/2.2_Extended_Analysis_Plugins/Hallucination Checker.md",
"Umsetzung/2.2_Extended_Analysis_Plugins/Fact Checker.md",
"Umsetzung/2.2_Extended_Analysis_Plugins/Context Checker.md",
"Umsetzung/3_Service_Layer",
"Umsetzung/2.2_Extended_Analysis_Plugins",
"Umsetzung/2.1_Analysis_Orchestrator",
"Umsetzung/2_Core_Analysis",
"Umsetzung/1_Core_Layer",
"Themen/assets",
"Untitled.canvas"
]
}

View File

@@ -0,0 +1,35 @@
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.
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.
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.
Diese Thesis behandelt diese Problematik, indem
```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
```

17
Exposé/1_Ziele.md Normal file
View File

@@ -0,0 +1,17 @@
---
tags:
- Ziele
---
Für diese Thesis werden folgende Ziele definiert:
1. Erweiterbare #Architektur/PlugInArchitektur mit mehreren Ebenen #Architektur/Layered
1. Ebene für die #NLP
2. Ebene für die #API mit der Informationen von bspw. Wikipedia erhalten werden sollen
3. Prüfebene
2. Startbare #Applikation, mit der man die Übertragenen Informationen von bspw. Ollama an ein #Webinterface abhören kann.
1. Die Applikation ist getrennt von der Weboberfläche und von Ollama
2. Ist einzeln startbar
3. Eine #Webapplikation, die bei Bedarf auf eine #CLI Applikation reduziert werden kann. Bzw. Protokoll ( #JSON) oder #API zur Verfügung stellen.
Am Ende der Bearbeitungszeit soll eine Teil-Implementation vorliegen, mit der Informationen möglicherweise, die durch ein #Chatbot generiert wurden überprüft werden können.
Falschinformationen oder Informationen, die bspw. nicht im richtigen Kontext stehen sollen in einem Fenster kenntlich markiert werden.

View File

@@ -0,0 +1,65 @@
---
tags:
- Methoden
---
Für das Erstellen der Thesis werden folgende Werkzeuge, die mit folgendem Zweck verwendet werden.
| Werkzeug | Zweck |
| ---------------------------- | -------------------------------------------------------- |
| Obsidian | Knowledge Graph, Persönliche Dokumentation, Organisation |
| Gitea | Online Repository und Code Organisation, Management |
| LaTeX / Typst | Schreiben der Thesis / Exposé |
| Zotero | Dokumentation und Datenbank der verwendeten Quellen |
| DrawIO / Mermaid | Graphenerstellung |
| VSCode | Development Environment |
| Python | Ausgewählte Programmiersprache |
| Docker / Podman | Containerisierung |
| Gitea Actions, Woodpecker CI | CI / CD |
| NGINX | Hosting der Dokumentation |
| Sphinx | Generierung der Dokumentation |
| pylint, yapf, isort | Code Linting |
| pre-commit | Linting Überprüfung vor Pushes auf Branches |
# Repository Strategien
## Branching
Für Sicherheitserhöhung soll parallel zum `main` Branch ein `beta` Branch existieren. Arbeitspakete gehen vom `beta` Branch aus und werden bereits dort durch die CI/CD-Pipeline. Damit soll mehrfach geprüft werden, dass implementierte Module / Features vernünftig funktionieren und Probleme nicht direkt auf den `main` Branch veröffentlicht werden.
## CI / CD
Für die CI/CD Pipeline sind folgende Module von Interesse:
1. Linter
2. Modultests
3. Automatische Generierung der Dokumentation
Für die CI/CD Pipeline wurde Woodpecker verwendet, dieses lässt sich in die bereits existierende Gitea Instanz hinzufügen. Zusätzlich ermöglicht dies eine Erweiterung der Integration und Development Pipelines im Sinne, dass von dort ein Automatisiertes Prüfen des Code-Stils und anschließend die Dokumentation erneuert werden kann.
# Code Stil
Für den Code Stil wird sich an die Vorgaben durch Google gehalten, folgender [Styleguide](https://google.github.io/styleguide/pyguide.html) wird dafür verwendet. Dem Linter wird dieses Styleguide ebenfalls übergeben, sodass die Code-Architektur Einheitlich durchgeführt wird.
Der Code-Stil wird durch mehrere Tools automatisiert begutachtet und beim nicht-einhalten kann kein Merging in den `main` Branch durchgeführt werden. Diese Tools sind folgende: *pre-commit*, *pylint*, *yapf*, *isort*
## Code Dokumentation
Zur Bereitstellung der Dokumentation wird [Sphinx](https://www.sphinx-doc.org/en/master/) verwendet.
# Dokumentation
Zusätzlich zur Code-Dokumentation wird in der Thesis die Dokumentation für die Programmnutzung als Anhang hinzugefügt werden.
# Architektur
Die Architektur wird anhand mehrere Prinzipien gestützt.
## Hybride Plug-in Layer + Pattern Architektur
## Analysis Orchestrator
_"Advantages include decoupling with logic layers, collating many functions, and acting as a centralized controller"_ [gaurgaurav+1](https://www.gaurgaurav.com/patterns/orchestration-pattern/)
Anhand des Orchestrators wird die Logikschicht und deren Plug-Ins orchestriert, sodass ein zentraler Controller für die Grundfunktionen und Erweiterungen existiert.
## Core Analysis
_"Predefined linguistic rules are used to analyze and process textual data... deterministic in nature, not probabilistic"_ [geeksforgeeks](https://www.geeksforgeeks.org/nlp/rule-based-approach-in-nlp/)
Dabei wird folgende Regel verfolgt:
_"A rule-based model is deterministic in nature... Either a document satisfies a given rule completely or it doesn't"_ [sas](https://support.sas.com/resources/papers/proceedings17/SAS0587-2017.pdf)
Die Umsetzung erfolgt Algorithmisch anstelle von mit KI wegen folgender Problematik:
_"Rule-based approach produces fewer minor hallucinations than neural counterparts"_ [aclanthology](https://aclanthology.org/2024.inlg-main.48.pdf)

6
Exposé/4_Zeitplan.md Normal file
View File

@@ -0,0 +1,6 @@
---
tags:
- Zeitplan
- Arbeitspakete
- Ziele
---

9
Exposé/_Inhalt.md Normal file
View File

@@ -0,0 +1,9 @@
- Eindeutige ... der Arbeit definieren.
- Problembeschreibung
- Ziele
- verwendete Methoden
- Wissenschaftlicher und ingenieursmäßige Ansatz erkennbar
- Ausgedachte Lösung soll im Zeitrahmen umsetzbar sein. bspw. Zeitplan mit APs
- Anmeldung Bachelorthesis akademischen Grad des 2. Prüfers ebenfalls eintragen
- Auf dem Anmeldeformular benötigt man Bescheinigung mit genügend ECTS Punkten
- Nehmen Sie sich Zeit, die Arbeit vernünftig zu Besp. und zu planen.

9
Fragen.md Normal file
View File

@@ -0,0 +1,9 @@
---
tags:
- Fragen
---
# Fragen zum Thema und zur Umsetzung
- Wie Prüfe ich die Webseiten, die durch KI-Tools (wie ChatGPT und Perplexity) verwendet werden und ob die Informationen von dort stimmen?
- Kann ich dafür eine Trainierte Variante von ModernBert verwenden?
- Kann ich das Model Kontext Protokol dafür einbinden? oder reicht RAG?
- Wie Werte ich die Datensätze aus und entscheide ob diese meinem Ziel entsprechen.

12
Ideen Vorgehensweise.md Normal file
View File

@@ -0,0 +1,12 @@
# Algorithmischer Ansatz
1. Herausarbeiten von Schlüsselwörtern
2. Internetquellen zu diesen Schlüsselwörter finden
3. Ermittlung auf korrekte Anwendung
4. Markierung korrekt oder falsch verwendet bzw. nicht ganz korrekter Kontext
Die [franz. Wikipediaseite](https://fr.wikipedia.org/wiki/Traitement_automatique_des_langues) zu #NLP bietet eine menge Verknüpfungen für das Erarbeiten der These.
Die Programmiersprache Python enthält ebenfalls eine Menge Ressourcen, die es ermöglichen keinen Boilerplate neu zu implementieren (Beispiel: #NLTK).
# Ansatz mit weiterer KI
Ein weiterer Ansatz mit einer weiter #KI kann durchaus interessant sein, bietet aber keine Nachvollziehbaren Ergebnisse, oder zumindestens Ergebnisse die "einfach" prüfbar sind.
Da #KI sich wie eine #Blackbox verhält wird dieser Ansatz nicht weiter durchgeführt.

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?

26
Methodologie.md Normal file
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.

32
Tasks.md Normal file
View File

@@ -0,0 +1,32 @@
- [ ] #task Besprechung der Response Objekte aus 🔽
- [ ] Exposé
- [ ] Bearbeitung von [[0_Problembeschreibung]]
- [ ] Bearbeitung von [[1_Ziele]]
- [ ] Bearbeitung von [[3_Verwendete_Methoden]]
- [ ] Bearbeitung von [[4_Zeitplan]]
- [ ] Betrachtung der Einzelnen Module und ihrer Abhängigkeiten🔺
- [ ] Core Layer
- [ ] [[Plug-In-Manager]]
- [ ] [[Parser]]
- [ ] [[Logger]]
- [ ] [[CLI]]
- [ ] [[Port Listener]]
- [ ] [[Performance Metric Observator]]
- [ ] [[Documentation Tool]]
- [ ] Core Analysis
- [ ] [[Punctuation Checker]]
- [ ] [[Grammar Checker]]
- [ ] [[Repetition Checker]]
- [ ] [[Spelling Checker]]
- [ ] Analysis Orchestrator
- [ ] [[Pipeline]]
- [ ] [[Workflow]]
- [ ] Extended-Analysis-Plug-Ins
- [ ] [[Context Checker]]
- [ ] [[Fact Checker]]
- [ ] [[Hallucination Checker]]
- [ ] Service Layer
- [ ] [[API Endpoints]]
- [ ] [[Response Orchestrator]]
- [ ] [[Scoring Model]]
- [ ] [[Socket Connector]]

View File

@@ -0,0 +1,9 @@
---
tags:
- Architektur
---
Für die #Architektur kann eine #PlugInArchitektur verwendet werden. Diese Bietet das Erstellen von Modulen direkt womit man manche Module an bzw. ausschalten kann. Es ermöglicht zudem das vereinfachte erstellen von #Modultests.
#Architektur/ChannelsAndFilter bietet das erstellen einzelner Filter, welches im Rahmen der Thesis passen könnte. Problematisch wäre jedoch die Zeitversetzung und Umsetzung selbst. Da mehrere unterschiedliche Services (z.B. Wikipedia) zur Datenverifikation verwendet werden sollen wäre eine Nutzer-angepasste Architektur interessanter (siehe #Architektur/PlugInArchitektur)
![[Architecture.png]]

264
Themen/Orga/Epics.md Normal file
View File

@@ -0,0 +1,264 @@
---
tags:
- Architektur
- Epic
- Aufgaben
- "#UserStories"
---
|Epic|Beschreibung (Outcome)|Abgedeckte Personas|
|---|---|---|
|**Textqualität & Sprachkorrektheit**|Texte sollen sprachlich korrekt, verständlich und formal sauber sein|Chris, Emily, Franzi|
|**Kontextuelle Textanalyse**|Texte sollen inhaltlich zusammenhängend und logisch verständlich sein|Max, Emily|
|**Wissenschaftliche & faktenbasierte Validierung**|Inhalte sollen faktenbasiert, überprüfbar und quellenbelegt sein|Sascha, Emily|
|**Transparente Fehler- & Quellenkennzeichnung**|Fehler und Quellen sollen klar sichtbar und nachvollziehbar dargestellt werden|Franzi, Sascha|
|**KI-Textanalyse & Qualitätsverbesserung**|KI-generierte Texte sollen analysiert und qualitativ verbessert werden|Miriam|
|**Performante & effiziente Analyse**|Analysen sollen schnell und zuverlässig durchgeführt werden|Franzi|
|**Erweiterbare Analyseplattform**|Das System soll modular erweiterbar und wartbar sein|Tobias (Dev), Alex (Admin)|
|**Erklärbarkeit & Nachvollziehbarkeit**|Analyseergebnisse sollen erklärbar und auditierbar sein|Laura, Sascha|
---
# Überblick: Epics → Architekturbezug
Zur Orientierung zuerst die Zuordnung:
|Epic|Hauptbetroffene Architekturteile|
|---|---|
|Textqualität & Sprachkorrektheit|Core Analysis, Analysis Orchestrator|
|Kontextuelle Textanalyse|Extended Analysis Plug-Ins|
|Wissenschaftliche & faktenbasierte Validierung|Extended Analysis Plug-Ins|
|Transparente Fehler- & Quellenkennzeichnung|Service Layer|
|KI-Textanalyse & Qualitätsverbesserung|Core + Extended Analysis|
|Performante & effiziente Analyse|Core Layer, Orchestrator|
|Erweiterbare Analyseplattform|Core Layer (Plugin-Manager)|
|Erklärbarkeit & Nachvollziehbarkeit|Service Layer, Core|
---
# Epic 1: **Textqualität & Sprachkorrektheit**
## Ziel
Texte sollen sprachlich korrekt, konsistent und formal sauber sein.
### User Stories
|Story|
|---|
|Als Nutzer möchte ich Grammatikfehler automatisch erkennen lassen|
|Als Nutzer möchte ich Rechtschreibfehler erkennen lassen|
|Als Nutzer möchte ich Zeichensetzungsfehler erkennen lassen|
|Als Nutzer möchte ich Wiederholungen im Text erkennen lassen|
### Aufgaben (Tasks)
**Core Analysis**
- Grammatik-Checker implementieren
- Rechtschreib-Checker implementieren
- Punkt- & Komma-Checker implementieren
- Repetition-Checker implementieren
**Analysis Orchestrator**
- Reihenfolge der Checks definieren
- Ergebnisse aggregieren
- Einheitliches Ergebnisformat erzeugen
---
# Epic 2: **Kontextuelle Textanalyse**
## Ziel
Inhaltliche Zusammenhänge und logische Konsistenz prüfen.
### User Stories
|Story|
|---|
|Als Nutzer möchte ich erkennen, ob mein Text inhaltlich konsistent ist|
|Als Nutzer möchte ich Hinweise auf Kontextbrüche erhalten|
### Aufgaben (Tasks)
**Extended Analysis Plug-Ins**
- Context-Checker-Plugin definieren
- Plugin-Interface implementieren
- Kontextbewertung (lokal / global)
**Analysis Orchestrator**
- Kontext-Check optional aktivierbar machen
- Abhängigkeit zu Core-Checks definieren
---
# Epic 3: **Wissenschaftliche & faktenbasierte Validierung**
## Ziel
Texte sollen faktenbasiert, quellengeprüft und vertrauenswürdig sein.
### User Stories
|Story|
|---|
|Als Wissenschaftler möchte ich Fakten prüfen lassen|
|Als Nutzer möchte ich Aussagen mit Quellen belegt sehen|
|Als Nutzer möchte ich Halluzinationen erkennen|
### Aufgaben (Tasks)
**Extended Analysis Plug-Ins**
- Fact-Checker-Plugin implementieren
- Hallucination-Checker-Plugin implementieren
- Externe Quellenanbindung definieren
**Core Layer**
- Plugin-Lifecycle (Load / Unload)
- Timeout-Handling für externe Checks
---
# Epic 4: **Transparente Fehler- & Quellenkennzeichnung**
## Ziel
Analyseergebnisse sollen klar sichtbar und nachvollziehbar sein.
### User Stories
|Story|
|---|
|Als Nutzer möchte ich Fehler im Text markiert sehen|
|Als Nutzer möchte ich Quellen per Hover einsehen|
### Aufgaben (Tasks)
**Service Layer**
- Response Orchestrator erweitern
- Markierungsformat definieren
- Hover-fähige Quellenstruktur erzeugen
**Core**
- Einheitliches Result-Model definieren
- Confidence / Severity berücksichtigen
---
# Epic 5: **KI-Textanalyse & Qualitätsverbesserung**
## Ziel
KI-Texte gezielt analysieren und verbessern.
### User Stories
|Story|
|---|
|Als Forscherin möchte ich Wiederholungen in KI-Texten messen|
|Als Forscherin möchte ich Analyseergebnisse exportieren|
### Aufgaben (Tasks)
**Core Analysis**
- Wiederholungsmetriken definieren
**Service Layer**
- Exportformate (JSON)
- Analysehistorie ausgeben
---
# Epic 6: **Performante & effiziente Analyse**
## Ziel
Analyse soll schnell, stabil und skalierbar sein.
### User Stories
|Story|
|---|
|Als Nutzer möchte ich schnelle Analyseergebnisse|
|Als Betreiber möchte ich Engpässe erkennen|
### Aufgaben (Tasks)
**Core Layer**
- Performance Metric Observer implementieren
- Latenz pro Plugin messen
**Analysis Orchestrator**
- Parallele Plugin-Ausführung
- Abbruchlogik bei Timeouts
---
# Epic 7: **Erweiterbare Analyseplattform**
## Ziel
Neue Analyse-Plug-ins sollen einfach integrierbar sein.
### User Stories
|Story|
|---|
|Als Entwickler möchte ich neue Plugins einfach einbinden|
|Als Admin möchte ich Plugins konfigurieren|
### Aufgaben (Tasks)
**Core Layer**
- Plugin-Manager implementieren
- Plugin-Discovery
- Plugin-Konfiguration
**Dokumentation**
- Plugin-Interface dokumentieren
- Beispiel-Plugin bereitstellen
---
# Epic 8: **Erklärbarkeit & Nachvollziehbarkeit**
## Ziel
Analyseergebnisse müssen erklärbar und auditierbar sein.
### User Stories
|Story|
|---|
|Als Nutzer möchte ich verstehen, warum etwas als Fehler markiert wurde|
|Als Compliance-Beauftragte möchte ich Analyseentscheidungen nachvollziehen|
### Aufgaben (Tasks)
**Service Layer**
- Erklärungstexte generieren
- Quellen & Gründe anzeigen
**Core**
- Logging der Analyseentscheidungen
- Analyse-Audit-Trail
---

View File

@@ -0,0 +1,228 @@
Basierend auf meiner Analyse habe ich **11 wissenschaftliche Quellen** identifiziert, die verschiedene Aspekte Ihrer hybriden Plug-in- und Layer-Architektur unterstützen. Hier ist die Übersicht:
---
## 🎯 **KERNUNTERSTÜTZUNG DER ARCHITEKTUR**
## **1. Hybrid Plug-in + Layer Architektur**
**✅ Plugin Architecture Pattern**
- **Quelle:** University of Waterloo CS446 [uwaterloo](https://cs.uwaterloo.ca/~m2nagapp/courses/CS446/1195/Arch_Design_Activity/PlugIn.pdf)
- **Unterstützt:** Core Layer mit Plugin-Manager, Extended Analysis Plug-Ins
- **Zitat:** _"Application logic is divided between independent plug-in modules and the basic core system, providing extensibility, flexibility, and isolation"_
**✅ Pure Plug-in Architectures**
- **Quelle:** ACM Queue (Birsan, 2005)[queue.acm](https://queue.acm.org/detail.cfm?id=1053345)
- **Unterstützt:** Plugin-Registry, Runtime-Management, Extension Points
- **Zitat:** _"Plug-ins themselves become hosts to other plug-ins by providing well-defined hook points (extension points)"_
**✅ Layered Architecture**
- **Quelle:** ScienceDirect Topics, Philadelphia.edu[philadelphia+1](https://www.philadelphia.edu.jo/academics/lalqoran/uploads/layeredarchitecture-120625120536-phpapp01.pdf)
- **Unterstützt:** Service Layer, Core Layer Trennung
- **Zitat:** _"Each layer has strong cohesion and only relies on lower layers"_
---
## **2. Analysis Orchestrator (Pipeline/Workflow)**
**✅ Orchestration Workflows in Distributed Systems**
- **Quelle:** IJFMR (Singhal, 2024)[ijfmr](https://www.ijfmr.com/papers/2024/6/30191.pdf)
- **Unterstützt:** Analysis Orchestrator, Task Sequencing
- **Zitat:** _"Workflow definitions serve as the blueprint for service interactions... Task sequencing mechanisms ensure proper ordering"_
- **Empirisch:** 47% Reduktion von Integration-Fehlern durch Orchestration
**✅ Orchestrator Pattern**
- **Quellen:** Gaur Gaurav, Kislay Verma[gaurgaurav+1](https://www.gaurgaurav.com/patterns/orchestration-pattern/)
- **Unterstützt:** Zentraler Controller für Analyse-Schritte
- **Zitat:** _"Advantages include decoupling with logic layers, collating many functions, and acting as a centralized controller"_
---
## **3. Rule-Based Analysis (Core Analysis ohne KI)**
**✅ Rule-Based NLP Approach**
- **Quelle:** GeeksforGeeks[geeksforgeeks](https://www.geeksforgeeks.org/nlp/rule-based-approach-in-nlp/)
- **Unterstützt:** Grammar, Spelling, Punctuation Checker
- **Zitat:** _"Predefined linguistic rules are used to analyze and process textual data... deterministic in nature, not probabilistic"_
**✅ Best Practices in Rule-Based Models**
- **Quelle:** SAS[sas](https://support.sas.com/resources/papers/proceedings17/SAS0587-2017.pdf)
- **Unterstützt:** Algorithmen-basierte Textanalyse
- **Zitat:** _"A rule-based model is deterministic in nature... Either a document satisfies a given rule completely or it doesn't"_
**✅ Interpretable Rule-Based Systems**
- **Quelle:** ACL Anthology (Warczyński, 2024)[aclanthology](https://aclanthology.org/2024.inlg-main.48.pdf)
- **Unterstützt:** Regelbasierte Systeme ohne KI
- **Zitat:** _"Rule-based approach produces fewer minor hallucinations than neural counterparts"_
---
## **4. Modular NLP Pipeline**
**✅ Modular Pipeline for NLP**
- **Quelle:** PMC[pmc.ncbi.nlm.nih](https://pmc.ncbi.nlm.nih.gov/articles/PMC12262768/)
- **Unterstützt:** Pipeline-Architektur, Modularität
- **Zitat:** _"Modular pipeline maximizes flexibility for future deployments... represents a practical middle ground"_
**✅ Scalable Architecture for Text Analysis**
- **Quelle:** Darmont et al. (ADMA 2016)[eric.univ-lyon2](https://eric.univ-lyon2.fr/jdarmont/publications/files/adma2016paper44-cr.pdf)
- **Unterstützt:** Skalierbare Textanalyse mit modularen Komponenten
---
## **5. Explanation Engine (Epic 8)**
**✅ Four Principles of Explainable AI**
- **Quelle:** NIST IR 8312[nvlpubs.nist](https://nvlpubs.nist.gov/nistpubs/ir/2021/nist.ir.8312.pdf)
- **Unterstützt:** Explanation Engine im Core Layer
- **Zitat:** _"Systems must provide evidence, support, or reasoning for outputs... explanation must be accessible, understandable, and actionable"_
**✅ Cognitive Architecture for Explainable AI**
- **Quelle:** arXiv[arxiv](https://arxiv.org/html/2512.03072v1)
- **Unterstützt:** Audit Trail, Decision Tracing
---
## **6. Service Layer & Response Orchestrator**
**✅ Service Layer Pattern**
- **Quelle:** Martin Fowler (2003)[martinfowler](https://martinfowler.com/eaaCatalog/serviceLayer.html)
- **Unterstützt:** Service Layer Rolle
- **Zitat:** _"A Service Layer defines an application's boundary... coordinates the application's response in each operation"_
---
## **7. Separation of Concerns**
**✅ SoC Principle**
- **Quelle:** Dijkstra (1974), Wikipedia, GeeksforGeeks[wikipedia+1](https://en.wikipedia.org/wiki/Separation_of_concerns)
- **Unterstützt:** Layer-Trennung, Modularität
- **Zitat:** _"Module details can be addressed in isolation; module integration is treated as a separate concern"_
---
## 📊 **ARCHITEKTUR-KOMPONENTEN → WISSENSCHAFTLICHE QUELLEN**
|Komponente|Unterstützt durch|
|---|---|
|**Plugin-Manager (Core Layer)**|CS446[uwaterloo](https://cs.uwaterloo.ca/~m2nagapp/courses/CS446/1195/Arch_Design_Activity/PlugIn.pdf), ACM Queue[queue.acm](https://queue.acm.org/detail.cfm?id=1053345)|
|**Core Analysis (Grammar/Spelling/etc.)**|GeeksforGeeks[geeksforgeeks](https://www.geeksforgeeks.org/nlp/rule-based-approach-in-nlp/), SAS[sas](https://support.sas.com/resources/papers/proceedings17/SAS0587-2017.pdf), ACL[aclanthology](https://aclanthology.org/2024.inlg-main.48.pdf)|
|**Extended Analysis Plug-Ins**|CS446[uwaterloo](https://cs.uwaterloo.ca/~m2nagapp/courses/CS446/1195/Arch_Design_Activity/PlugIn.pdf), ACM Queue[queue.acm](https://queue.acm.org/detail.cfm?id=1053345)|
|**Analysis Orchestrator**|IJFMR[ijfmr](https://www.ijfmr.com/papers/2024/6/30191.pdf), Gaur[gaurgaurav](https://www.gaurgaurav.com/patterns/orchestration-pattern/), Verma[kislayverma](https://kislayverma.com/software-architecture/architecture-pattern-orchestration-via-workflows/)|
|**Response Orchestrator**|Martin Fowler[martinfowler](https://martinfowler.com/eaaCatalog/serviceLayer.html)|
|**Service Layer**|Fowler[martinfowler](https://martinfowler.com/eaaCatalog/serviceLayer.html), Philadelphia.edu[philadelphia](https://www.philadelphia.edu.jo/academics/lalqoran/uploads/layeredarchitecture-120625120536-phpapp01.pdf)|
|**Core Layer (Infrastruktur)**|Philadelphia[philadelphia](https://www.philadelphia.edu.jo/academics/lalqoran/uploads/layeredarchitecture-120625120536-phpapp01.pdf), Dijkstra[wikipedia](https://en.wikipedia.org/wiki/Separation_of_concerns)|
|**Explanation Engine**|NIST[nvlpubs.nist](https://nvlpubs.nist.gov/nistpubs/ir/2021/nist.ir.8312.pdf), arXiv[arxiv](https://arxiv.org/html/2512.03072v1)|
|**Performance Metric Observer**|IJFMR[ijfmr](https://www.ijfmr.com/papers/2024/6/30191.pdf)|
|**Modular Pipeline**|PMC[pmc.ncbi.nlm.nih](https://pmc.ncbi.nlm.nih.gov/articles/PMC12262768/), ADMA[eric.univ-lyon2](https://eric.univ-lyon2.fr/jdarmont/publications/files/adma2016paper44-cr.pdf)|
---
## ✅ **FAZIT**
Ihre Architektur wird durch **11 akademische/wissenschaftliche Quellen** vollständig unterstützt:
1. **Hybrid Plug-in + Layer Pattern** → etabliert (CS446, ACM, ScienceDirect)
2. **Orchestrator Pattern** → dokumentiert (IJFMR, akademische Blogs)
3. **Rule-Based Analysis** → wissenschaftlich fundiert (ACL, SAS, GeeksforGeeks)
4. **Explainability** → NIST-Standard, Forschungsliteratur
5. **Service Layer** → Martin Fowler Pattern (Standardreferenz)
6. **Separation of Concerns** → Dijkstra (fundamentales Prinzip)
Die Architektur folgt etablierten Software-Engineering-Prinzipien und ist wissenschaftlich gut abgesichert. Die vollständige Dokumentation mit allen Zitaten habe ich in `scientific_sources_architecture.md` gespeichert.
1. [https://cs.uwaterloo.ca/~m2nagapp/courses/CS446/1195/Arch_Design_Activity/PlugIn.pdf](https://cs.uwaterloo.ca/~m2nagapp/courses/CS446/1195/Arch_Design_Activity/PlugIn.pdf)
2. [https://queue.acm.org/detail.cfm?id=1053345](https://queue.acm.org/detail.cfm?id=1053345)
3. [https://www.philadelphia.edu.jo/academics/lalqoran/uploads/layeredarchitecture-120625120536-phpapp01.pdf](https://www.philadelphia.edu.jo/academics/lalqoran/uploads/layeredarchitecture-120625120536-phpapp01.pdf)
4. [https://www.sciencedirect.com/topics/computer-science/layered-architecture](https://www.sciencedirect.com/topics/computer-science/layered-architecture)
5. [https://www.ijfmr.com/papers/2024/6/30191.pdf](https://www.ijfmr.com/papers/2024/6/30191.pdf)
6. [https://www.gaurgaurav.com/patterns/orchestration-pattern/](https://www.gaurgaurav.com/patterns/orchestration-pattern/)
7. [https://kislayverma.com/software-architecture/architecture-pattern-orchestration-via-workflows/](https://kislayverma.com/software-architecture/architecture-pattern-orchestration-via-workflows/)
8. [https://www.geeksforgeeks.org/nlp/rule-based-approach-in-nlp/](https://www.geeksforgeeks.org/nlp/rule-based-approach-in-nlp/)
9. [https://support.sas.com/resources/papers/proceedings17/SAS0587-2017.pdf](https://support.sas.com/resources/papers/proceedings17/SAS0587-2017.pdf)
10. [https://aclanthology.org/2024.inlg-main.48.pdf](https://aclanthology.org/2024.inlg-main.48.pdf)
11. [https://pmc.ncbi.nlm.nih.gov/articles/PMC12262768/](https://pmc.ncbi.nlm.nih.gov/articles/PMC12262768/)
12. [https://eric.univ-lyon2.fr/jdarmont/publications/files/adma2016paper44-cr.pdf](https://eric.univ-lyon2.fr/jdarmont/publications/files/adma2016paper44-cr.pdf)
13. [https://nvlpubs.nist.gov/nistpubs/ir/2021/nist.ir.8312.pdf](https://nvlpubs.nist.gov/nistpubs/ir/2021/nist.ir.8312.pdf)
14. [https://arxiv.org/html/2512.03072v1](https://arxiv.org/html/2512.03072v1)
15. [https://martinfowler.com/eaaCatalog/serviceLayer.html](https://martinfowler.com/eaaCatalog/serviceLayer.html)
16. [https://en.wikipedia.org/wiki/Separation_of_concerns](https://en.wikipedia.org/wiki/Separation_of_concerns)
17. [https://www.geeksforgeeks.org/software-engineering/separation-of-concerns-soc/](https://www.geeksforgeeks.org/software-engineering/separation-of-concerns-soc/)
18. [https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/images/156908260/cabdc5b3-14a7-401c-88df-a1824a00f495/Architecture.jpg](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/images/156908260/cabdc5b3-14a7-401c-88df-a1824a00f495/Architecture.jpg)
19. [https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/images/156908260/15ee988f-2a62-457e-b8e3-7c7d60bbdf1f/Architecture.jpg](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/images/156908260/15ee988f-2a62-457e-b8e3-7c7d60bbdf1f/Architecture.jpg)
20. [https://www.redhat.com/en/blog/hybrid-cloud-platform-layers](https://www.redhat.com/en/blog/hybrid-cloud-platform-layers)
21. [https://www.microsoft.com/en-us/research/publication/towards-modular-machine-learning-pipelines/](https://www.microsoft.com/en-us/research/publication/towards-modular-machine-learning-pipelines/)
22. [https://www.reddit.com/r/reactjs/comments/1hmk30p/how_to_design_a_pluginbased_architecture_in_react/](https://www.reddit.com/r/reactjs/comments/1hmk30p/how_to_design_a_pluginbased_architecture_in_react/)
23. [https://arxiv.org/pdf/2509.13487.pdf](https://arxiv.org/pdf/2509.13487.pdf)
24. [https://www.tencentcloud.com/techpedia/101584](https://www.tencentcloud.com/techpedia/101584)
25. [https://www.secoda.co/glossary/what-is-rule-based-classification](https://www.secoda.co/glossary/what-is-rule-based-classification)
26. [https://www.geeksforgeeks.org/nlp/natural-language-processing-nlp-pipeline/](https://www.geeksforgeeks.org/nlp/natural-language-processing-nlp-pipeline/)
27. [https://arxiv.org/abs/2510.04800](https://arxiv.org/abs/2510.04800)
28. [https://www.youtube.com/watch?v=wsPnnTMqEC4](https://www.youtube.com/watch?v=wsPnnTMqEC4)
29. [https://tnc-solutions.com/nlp-comment-fonctionne/](https://tnc-solutions.com/nlp-comment-fonctionne/)
30. [https://ionic.io/resources/articles/overcoming-the-challenges-of-mobile-app-architecture-with-hybrid-development](https://ionic.io/resources/articles/overcoming-the-challenges-of-mobile-app-architecture-with-hybrid-development)
31. [https://arxiv.org/html/2502.20609v1](https://arxiv.org/html/2502.20609v1)
32. [https://airbyte.com/data-engineering-resources/natural-language-processing-pipeline](https://airbyte.com/data-engineering-resources/natural-language-processing-pipeline)
33. [https://www.emergentmind.com/topics/hybrid-architecture-designs](https://www.emergentmind.com/topics/hybrid-architecture-designs)
34. [https://bookdown.org/valerie_hase/TextasData_HS2021/tutorial-12-rule-based-approaches-dictionaries.html](https://bookdown.org/valerie_hase/TextasData_HS2021/tutorial-12-rule-based-approaches-dictionaries.html)
35. [https://buildsimple.substack.com/p/extensibility-designing-for-future](https://buildsimple.substack.com/p/extensibility-designing-for-future)
36. [https://www.reddit.com/r/SoftwareEngineering/comments/rr8zp6/orchestrator_pattern_thoughts/](https://www.reddit.com/r/SoftwareEngineering/comments/rr8zp6/orchestrator_pattern_thoughts/)
37. [https://stackoverflow.com/questions/323202/how-to-design-extensible-software-plugin-architecture](https://stackoverflow.com/questions/323202/how-to-design-extensible-software-plugin-architecture)
38. [https://taylorandfrancis.com/knowledge/Engineering_and_technology/Computer_science/Separation_of_concerns/](https://taylorandfrancis.com/knowledge/Engineering_and_technology/Computer_science/Separation_of_concerns/)
39. [https://arxiv.org/abs/2510.00197](https://arxiv.org/abs/2510.00197)
40. [https://embeddedartistry.com/fieldmanual-terms/separation-of-concerns/](https://embeddedartistry.com/fieldmanual-terms/separation-of-concerns/)
41. [https://dl.acm.org/doi/full/10.1145/3698322.3698342](https://dl.acm.org/doi/full/10.1145/3698322.3698342)
42. [https://www.youtube.com/watch?v=JYb5pzcIimQ](https://www.youtube.com/watch?v=JYb5pzcIimQ)
43. [https://ris.utwente.nl/ws/files/5428452/Aksit01six.pdf](https://ris.utwente.nl/ws/files/5428452/Aksit01six.pdf)
44. [https://www.sciencedirect.com/science/article/abs/pii/S0045790616302026](https://www.sciencedirect.com/science/article/abs/pii/S0045790616302026)
45. [https://www.reddit.com/r/javahelp/comments/12wc0bf/building_an_extensible_plugin_system/](https://www.reddit.com/r/javahelp/comments/12wc0bf/building_an_extensible_plugin_system/)
46. [http://soft.vub.ac.be/Publications/2002/vub-prog-tr-02-16.pdf](http://soft.vub.ac.be/Publications/2002/vub-prog-tr-02-16.pdf)
47. [https://papers.ssrn.com/sol3/Delivery.cfm/SSRN_ID4042351_code4193475.pdf?abstractid=4042351&mirid=1](https://papers.ssrn.com/sol3/Delivery.cfm/SSRN_ID4042351_code4193475.pdf?abstractid=4042351&mirid=1)
48. [https://arobs.com/blog/plugin-based-architecture-in-modern-web-apps/](https://arobs.com/blog/plugin-based-architecture-in-modern-web-apps/)
49. [https://dev.to/tamerlan_dev/separation-of-concerns-the-simple-way-4jp2](https://dev.to/tamerlan_dev/separation-of-concerns-the-simple-way-4jp2)
50. [https://ink.library.smu.edu.sg/cgi/viewcontent.cgi?article=7580&context=sis_research](https://ink.library.smu.edu.sg/cgi/viewcontent.cgi?article=7580&context=sis_research)
51. [https://stackoverflow.com/questions/21339657/whats-the-difference-between-service-layer-and-domain-model-layer](https://stackoverflow.com/questions/21339657/whats-the-difference-between-service-layer-and-domain-model-layer)
52. [https://gerred.github.io/building-an-agentic-system/system-architecture-diagram.html](https://gerred.github.io/building-an-agentic-system/system-architecture-diagram.html)
53. [https://aclanthology.org/Y11-1026.pdf](https://aclanthology.org/Y11-1026.pdf)
54. [https://itnext.io/the-evolution-of-ddd-layered-architecture-6dd19b8dbc29](https://itnext.io/the-evolution-of-ddd-layered-architecture-6dd19b8dbc29)
55. [https://solace.com/event-driven-architecture-patterns/](https://solace.com/event-driven-architecture-patterns/)
56. [https://www.clevertype.co/post/the-science-behind-ai-grammar-correction](https://www.clevertype.co/post/the-science-behind-ai-grammar-correction)
57. [https://www.linkedin.com/pulse/layered-architecture-service-based-development-why-use-qicge](https://www.linkedin.com/pulse/layered-architecture-service-based-development-why-use-qicge)
58. [https://microservices.io/patterns/communication-style/messaging.html](https://microservices.io/patterns/communication-style/messaging.html)
59. [https://www.informatica.si/index.php/informatica/article/viewFile/368/369](https://www.informatica.si/index.php/informatica/article/viewFile/368/369)
60. [https://okenna.hashnode.dev/backend-communication-design-patterns-request-response-pattern](https://okenna.hashnode.dev/backend-communication-design-patterns-request-response-pattern)
61. [https://journal.esrgroups.org/jes/article/download/3611/2775/6494](https://journal.esrgroups.org/jes/article/download/3611/2775/6494)
62. [https://developer.android.com/topic/architecture/domain-layer](https://developer.android.com/topic/architecture/domain-layer)
63. [https://www.speakeasy.com/api-design/responses](https://www.speakeasy.com/api-design/responses)
64. [https://sparknlp.org/analyze_spelling_grammar](https://sparknlp.org/analyze_spelling_grammar)
65. [https://www.reddit.com/r/androiddev/comments/1c804jm/guide_to_app_architecture_what_is_the_domain_layer/](https://www.reddit.com/r/androiddev/comments/1c804jm/guide_to_app_architecture_what_is_the_domain_layer/)
66. [https://www.catchpoint.com/api-monitoring-tools/api-architecture](https://www.catchpoint.com/api-monitoring-tools/api-architecture)
67. [https://bagustris.github.io/nlp-python/09-gramatika/index.html](https://bagustris.github.io/nlp-python/09-gramatika/index.html)
68. [https://blog.stoplight.io/api-design-patterns-for-rest-web-services](https://blog.stoplight.io/api-design-patterns-for-rest-web-services)

View File

@@ -0,0 +1,35 @@
---
tags:
- UserStories
- Personas
---
# Quellen
[Atlassian - User Stories](https://www.atlassian.com/agile/project-management/user-stories)
# Methodik
Eine Vorversion wird anhand bereits existierenden wissen zur Erstellung mehrer Personas erstellt. Diese wird anschließend mit einer KI aufgebessert und final durch Eigenarbeit erneut überprüft. Die Personas sollen dabei alle Forderungen an das System darstellen, sodass das Erstellen von mehreren #Epic und spätere Bearbeitung und Planung in #OpenProject durchgeführt werden kann.
# Personas (Eigenarbeit)
| Persona | Forderungen | So what? |
| ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| Emily | Ich möchte als Studentin, nachvollziehen können ob meine Texte wissenschaftlichen Standards entsprechen. | - Kontext prüfen<br>- Quellen prüfen |
| Sascha | Ich möchte als Wissenschaftler Quellenbasierte Texte von generativen KIs erhalten und diese bereits überprüft zurückbekommen. Informationen und Fehler sollen mit Quellen versehen sein, damit ich sicher damit arbeiten kann. | - Quellen prüfen<br>- Fehlermarkierungen<br>- Quellen durch Hovering kenntlich machen |
| Max | Als Schüler fällt es mir schwer den Kontext in meinen Texten richtig rüberbringen. Eine Software, die den Kontext für mich prüft wäre sehr schön. | - Kontext prüfen |
| Franzi | Als Arbeitnehmerin möchte ich schnelle und überprüfbare Texte von bereits existierenden KIs erhalten, die mit Markierungen versehen sind. Ich will mögliche Fehler bereits kenntlich gemacht haben um selber (mit einer anderen Software) Korrekturen vornehmen zu können. | - Performanz<br>- Quellen durch Hovering kenntlich machen<br>- Fehlermarkierungen |
| Chris | Als Schüler möchte ich meine Texte auf Grammatik, Rechtschreibung und Punkt und Komma-Setzung automatisch prüfen lassen. | - Grammatik prüfen<br>- Rechtschreibung prüfen<br>- Punkt-und-Kommasetzung prüfen |
| Miriam | Als Wissenschaftlerin im Bereich KI möchte ich überprüfen und KI so verbessern, dass diese sich weniger Wiederholt. Ein Tool, welches dies Automatisiert darstellt würde dies helfen. | - Wiederholungen prüfen |
# Personas (KI verbessert)
| Persona | Forderungen | So what? |
| ---------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| Emily | Als Studentin möchte ich erkennen können, ob mein Text wissenschaftlichen Standards entspricht. | - Sicherheit bei Abgaben- Vermeidung formaler Fehler |
| Sascha | Als Wissenschaftler möchte ich KI-generierte Texte mit geprüften Quellen und markierten Fehlern erhalten. | - Vertrauenswürdige Inhalte- Nachvollziehbarkeit |
| Max | Als Schüler möchte ich Feedback zum inhaltlichen Zusammenhang meines Textes erhalten. | - Verständlichkeit verbessern |
| Franzi | Als Arbeitnehmerin möchte ich schnelle, überprüfbare Texte mit klaren Markierungen erhalten. | - Zeitersparnis- Effiziente Nachbearbeitung |
| Chris | Als Schüler möchte ich meine Texte automatisch auf Grammatik, Rechtschreibung und Zeichensetzung prüfen lassen. | - Sprachlich korrekte Texte |
| Miriam | Als KI-Forscherin möchte ich Wiederholungen in KI-Texten automatisch erkennen. | - Modellverbesserung |
| **Alex** | Als Systemadministrator möchte ich Plugins überwachen, konfigurieren und bei Fehlern eingreifen können. | - Stabiler Betrieb- Fehlerkontrolle |
| **Nina** | Als Produktmanagerin möchte ich Analyse-Ergebnisse aggregiert auswerten können. | - Produktverbesserung- Priorisierung von Features |
| **Tobias** | Als Entwickler möchte ich neue Analysis-Plugins einfach integrieren und testen können. | - Erweiterbarkeit- Wartbarkeit |
| **Laura** | Als Datenschutz-/Compliance-Beauftragte möchte ich nachvollziehen können, wie Analyse-Ergebnisse zustande kommen. | - Rechtssicherheit- Transparenz |

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

@@ -0,0 +1,21 @@
# Grundbegriffe
## Intrinsic vs extrinsic
**Intrinsisch:** Widerspruch mit gegebenen Kontext oder zur Eingabe
**Extrinsisch:** Aussage lässt sich weder aus Kontext noch aus verl. Weltwissen belegen, Model "erfindet" Inhalte oder Quellen.
## Faculty vs Faithfulness
**Fakultät:** Ob Aussage mit der realen Welt übereinstimmt (objektiv wahr/falsch)
**Faithfulness:** Treue des Modells zur Vorgabe (Prompt, Kontextdokument, Instruktion).
# Halluzinationstypen (Häufig Genannt)
**Input-conflicting / intrinsic Hal.:**
- Modell prod. Inh., die dem geg. Text, Daten oder der Frage direkt widersprechen.
- typ. bei kompl. Zusammenfassungen
**Extrensic / open-domain Hal.:**
- Modell erg. Details, die im Kontext nicht vorkommen und sich auch extern nicht belegen lassen
- Oft getrigger durch offene Fragen ohne klaren Wissensanker

View File

@@ -0,0 +1,87 @@
---
tags:
- Webscraping
- NLP
- FactChecking
- ContextChecking
- ExplanationGeneration
- AES
---
You can combine web scraping with NLP by building a small “factchecking” pipeline: extract a claim, scrape relevant pages, then use retrieval and naturallanguage inference models to decide whether the web evidence supports or contradicts the claim.[aclanthology+1](https://aclanthology.org/2025.knowledgenlp-1.26/)
## Overall idea
- Turn the text you want to verify into one or more clear, atomic claims (e.g. “X happened on date Y”).[mbzuai+1](https://mbzuai.ac.ae/news/new-resources-for-fact-checking-llms-presented-at-emnlp/)
- Use web scraping or search APIs to collect pages from trusted sources related to the claim.
- Use NLP models to rank, filter, and compare those pages against the claim, then output a verdict such as supported / contradicted / not enough info.[sciencedirect+1](https://www.sciencedirect.com/science/article/abs/pii/S0952197625002842)
## Step 1: Extract and normalize claims
Use NLP to make the input “checkable”:
- Sentence splitting and claim extraction to break long text into short, singlefact claims.[aclanthology+1](https://aclanthology.org/2025.emnlp-main.1615/)
- Optionally generate clarifying questions about the claim (who, when, where) to guide retrieval and disambiguation.[aclanthology+1](https://aclanthology.org/2025.knowledgenlp-1.26/)
Useful keywords/approaches: “atomic fact decomposition”, “checkworthy claim detection”, and “JEDI fact decomposition for NLI”.[github+1](https://github.com/Cartus/Automated-Fact-Checking-Resources)
## Step 2: Web scraping for evidence
Use web scraping or search to gather potential evidence:
- Formulate search queries from the claim (or the generated questions), then fetch top results from selected domains (news, Wikipedia, official sites). FIRE and other systems iteratively refine queries until they get good evidence.[aclanthology+1](https://aclanthology.org/2025.findings-naacl.158.pdf)
- Parse the pages with BeautifulSoup, Firecrawl, or similar; DEFAME is one example that combines automated scraping with factchecking.[edam+1](https://edam.org.tr/Uploads/Yukleme_Resim/pdf-28-08-2023-23-40-14.pdf)
Key points:
- Restrict to trusted / whitelisted domains to reduce noise.
- Store page title, URL, and cleaned text paragraphs for later scoring.
## Step 3: Retrieve and rank relevant snippets
Rather than feeding whole pages to the model, use retrieval to find the most relevant passages:
- Split pages into passages (e.g. 23 sentences) and compute embeddings (e.g. sentencetransformers) to rank them by similarity to the claim.[acm+1](https://dl.acm.org/doi/10.1145/3477495.3531827)
- Generative retrieval (GERE) and dualstage BM25 + dense retrieval (as in Fathom) are standard patterns you can replicate.[aclanthology+1](https://aclanthology.org/anthology-files/pdf/fever/2025.fever-1.20.pdf)
This gives you a small set of topk evidence snippets that actually talk about the claim.
## Step 4: Compare claim vs evidence with NLP
Use Natural Language Inference (NLI) or factchecking models:
- Treat the claim as hypothesis and each evidence snippet as premise, and run an NLI model to classify each pair as supported / contradicted / unrelated.[arxiv+1](https://arxiv.org/html/2407.18367v1)
- Aggregate scores across snippets to produce a final label like supported, contradicted, or not enough info (NEI), similar to FEVERstyle factchecking.[arxiv+1](https://arxiv.org/abs/2110.14532)
Patterns you can adapt:
- VERITASNLI: scrapes news articles and uses NLI models to verify headlines in real time.[sciencedirect](https://www.sciencedirect.com/science/article/abs/pii/S0952197625002842)
- ClaimCheck and FIRE: decompose claims, retrieve web evidence, then use smaller LMs/NLI models to derive a verdict.[aclanthology+1](https://aclanthology.org/2025.findings-naacl.158.pdf)
## Step 5: Produce explanation and handle uncertainty
For practical use, you should return more than just a label:
- Return a short naturallanguage explanation plus top evidence snippets and URLs (e.g. “According to [source], X happened in 2022, not 2020”). Systems like FacTeRCheck and explanationoriented factchecking pipelines use this pattern.[sciencedirect+1](https://www.sciencedirect.com/science/article/pii/S0952197624016506)
- If evidence is weak or conflicting, mark the result as “uncertain / needs human review” instead of forcing a yes/no answer.[arxiv+1](https://arxiv.org/html/2412.15189v3)
1. [https://aclanthology.org/2025.knowledgenlp-1.26/](https://aclanthology.org/2025.knowledgenlp-1.26/)
2. [https://www.sciencedirect.com/science/article/abs/pii/S0952197625002842](https://www.sciencedirect.com/science/article/abs/pii/S0952197625002842)
3. [https://mbzuai.ac.ae/news/new-resources-for-fact-checking-llms-presented-at-emnlp/](https://mbzuai.ac.ae/news/new-resources-for-fact-checking-llms-presented-at-emnlp/)
4. [https://aclanthology.org/2025.emnlp-main.1615/](https://aclanthology.org/2025.emnlp-main.1615/)
5. [https://github.com/Cartus/Automated-Fact-Checking-Resources](https://github.com/Cartus/Automated-Fact-Checking-Resources)
6. [https://aclanthology.org/2025.findings-naacl.158.pdf](https://aclanthology.org/2025.findings-naacl.158.pdf)
7. [https://aclanthology.org/anthology-files/pdf/fever/2025.fever-1.20.pdf](https://aclanthology.org/anthology-files/pdf/fever/2025.fever-1.20.pdf)
8. [https://edam.org.tr/Uploads/Yukleme_Resim/pdf-28-08-2023-23-40-14.pdf](https://edam.org.tr/Uploads/Yukleme_Resim/pdf-28-08-2023-23-40-14.pdf)
9. [https://github.com/multimodal-ai-lab/DEFAME](https://github.com/multimodal-ai-lab/DEFAME)
10. [https://dl.acm.org/doi/10.1145/3477495.3531827](https://dl.acm.org/doi/10.1145/3477495.3531827)
11. [https://arxiv.org/html/2407.18367v1](https://arxiv.org/html/2407.18367v1)
12. [https://arxiv.org/abs/2110.14532](https://arxiv.org/abs/2110.14532)
13. [https://www.sciencedirect.com/science/article/pii/S0952197624016506](https://www.sciencedirect.com/science/article/pii/S0952197624016506)
14. [https://arxiv.org/html/2412.15189v3](https://arxiv.org/html/2412.15189v3)
15. [https://www.biz4group.com/blog/developing-ai-automated-fact-checking-system](https://www.biz4group.com/blog/developing-ai-automated-fact-checking-system)
16. [https://download.hrz.tu-darmstadt.de/pub/FB20/Dekanat/Publikationen/AIPHES/Andreas_Hanselowski_NIPS-WPOC-2017.pdf](https://download.hrz.tu-darmstadt.de/pub/FB20/Dekanat/Publikationen/AIPHES/Andreas_Hanselowski_NIPS-WPOC-2017.pdf)
17. [https://journals.itb.ac.id/index.php/jictra/article/view/24157](https://journals.itb.ac.id/index.php/jictra/article/view/24157)
18. [https://search.gesis.org/research_data/SDN-10.7802-2469](https://search.gesis.org/research_data/SDN-10.7802-2469)
19. [https://arxiv.org/abs/2504.18376](https://arxiv.org/abs/2504.18376)
20. [https://ui.adsabs.harvard.edu/abs/arXiv:2409.00061](https://ui.adsabs.harvard.edu/abs/arXiv:2409.00061)

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

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

View File

@@ -0,0 +1,4 @@
- Hintergrund / Problemstellung warum ist dieses Thema relevant
- Nicht von Interesse hier
- der verwaus auf eine Modulleistung oder Abschlussarbeit
- eigene Motivation, wie z.B. eine (fachliche) Interesse

View File

@@ -0,0 +1,3 @@
- Thema genauer spezifizieren
- Ziel des Projektes / Versuchs
- **Tipp: Einzelne Teilaufgaben nummerieren, dann können Sie im Kapitel syst. vorgehen und laufen nicht Gefahr etwas zu vergessen**

View File

@@ -0,0 +1,2 @@
- Kurze Beschreibung, was in den Kapiteln (Ab Kap. 2) dargestellt wird
- Kapitelnummer nennen (im nächsten Kapitel ist noch IO, übernächstes NIO)

View File

@@ -0,0 +1,7 @@
- Beginnt mit Seiter **1 (eins, mit arabischen Zahlen)**
- Neues Kapiter auf einer neuen Seite beginnen
- 1.1 braucht bspw. keine neue Seite
- Kurzer überblich, was im Kapitel dargestellt wird
- **Tipp: den kurzen Überblick jedes Kapitels zunächst in die Zusammenfassung kopieren**
- Einführen einer neuen Gliederungsebene nur dann, wenn es mindestens zwei Elemente auf der Gliederungsebene gibt
- bei Einf. einer neuen Gliederungseben immer ein kuryer überblick, warum die Gliederungsebene eingeführt wird

View File

@@ -0,0 +1,3 @@
- Definition / Festlegung eines planvollen Vorgehens: Methodik
- Erkennung von Abhängigkeiten
- *Zeitplanung*

View File

@@ -0,0 +1,12 @@
## Allgemeines
- *Wenn eine Unternehmensdarstellung erforderlich ist, dann hier als Unterabschnitt => optional je nach Prüfer / Unternehmen*
- Wenn es mehrere unterschiedliche Themen gibt, dürfen Sie auch mehrere Kapitel verwenden
- **Tipp: Seien Sie mit der Überschrift / den Überschriften kreativer als dieses Dokument**
## Was wird in der Theorie dargestellt
- Sie schreiben **kein** Lehrbuch
- kurz den Stand der Technik für Fachkräfte dar
- So wenig wie möglich, so viel wie nötig!
- 5 - 10, max. 15 Seiten
**Hier kann ich mich auf die #Fragen beruhen und sollte alle bestehenden Fragen mindestens geklärt haben**

View File

@@ -0,0 +1,4 @@
- Lösungstrategie
- Auswahl der geeigneten Lösung mittel nachvollziehbarer Kriterien
- Darstellung wer die Bewertung durchgeführt hat
- Bei unabhängiger Arbeit müssen Bewertungskriterien an eine Prüfende Person übermittelt werden. **WIR SIND NICHT DAZU BEFÄHIGT EINE PROFESSIONELLE BEWERTUNG SELBSTSTÄNDIG ZU ÜBERNEHMEN!!!!**

View File

@@ -0,0 +1,3 @@
- Darstellung der Versuchsreihen
- Auflistung der Ergebnisse
- **KEINE INTERPRETATION**

View File

@@ -0,0 +1,2 @@
- Beschreibung der eigenen Arbeit
- Gerne auf mehrere Kapitel verteilen

View File

@@ -0,0 +1,4 @@
- Interpretation der Versuchsauswertung
- Abgleich ggf. den Teilaufgaben
- ggf. bis hin zu Empfehlungen
- **Tipp: Hier dürfen wir erstmals eigene Bewertung treffen!**

View File

@@ -0,0 +1,2 @@
- Kurz darstellen was in jedem Kapitel behandelt wurde und
- das wesentliche Ergebnis jeden Kap. ausführen

View File

@@ -0,0 +1,2 @@
- Offen gebliebene Fragestellungen
- Erweiterungsmöglichkeiten

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

View File

View File

View File

@@ -0,0 +1,19 @@
Das Dokumentieren der Performanz ist von Interesse für weitere Iterationen. Hiermit kann in Zukunft folgendes geplant werden:
1. Performance Patches / Optimierungen
2. Issue-Detection
3. Scalability proaktiv unterstützen
4. Fehlerrate
# Anwendungsorientierung
Von Interesse sind #continuousMonitoring und #syntheticMonitoring aufgrund
folgender Kriterien:
- mimic real life scenarios
- key metric monitoring
- real-time observation
# Performance Baseline
# Sources
[Middleware-python-performance-monitoring](https://middleware.io/blog/python-performance-monitoring/)

View File

View File

@@ -0,0 +1,20 @@
Antworten sollen eine Verständliche und simple Struktur darstellen.
Beispielweise als JSON Objekt:
```json
{
position: {
from: {
x: number,
y: number
},
to: {
x: number,
y: number
}
},
issue_type: ENUM_ISSUE_TYPE,
comment: string,
}
```

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>

23
_Hinweise.md Normal file
View File

@@ -0,0 +1,23 @@
- einfache Grammatik
- Füllwörter vermeiden
- Verwenden Sie passive Formulierungen: es gibt **kein** man, ich , wir etc.
- Vermeiden Sie den Konjunktiv
- Separieren Sie Ihre Gedanken und stellen Sie die Inh. in sich geschlossenen Formatierungsblöcken (z.B. Absätzen)
- Viel Fließtext ist unübersichtlich und ggf. anstrengend zu lesen / zu verstehen
- **Tipp Strukturierern Sie Ihren Text durch:**
- Absätze
- Aufzählungen
- Abbildungen
- Tabellen
- Abstände zu Aufzählungen, Tabellen und Abbildungen
- Sinnvolle Seitenumbrüche
- Prüfen Sie die Orthografie Ihres Berichts
- mittels Rechtschreibkorrektur, oder auch
- durch den Einsatz entsprechender (KI-)-Tools
- **Tipp: Lesen Sie Ihren Text durch, bevor Sie ihn einreichen!**
- Behauptungen müssen belegt sein (Quellen)
- Vermeiden Sie Bewertungen
- **Tipp: Sie werden nicht nach der Seitenzahl des Berichts bewertet, sondern nach:**
- dem Inhalt
- der Darstellungsform
- ggf. der praktischen Arbeit