Merge remote-tracking branch 'origin/main' into sec
This commit is contained in:
2
.obsidian/graph.json
vendored
2
.obsidian/graph.json
vendored
@@ -8,7 +8,7 @@
|
|||||||
"collapse-color-groups": false,
|
"collapse-color-groups": false,
|
||||||
"colorGroups": [
|
"colorGroups": [
|
||||||
{
|
{
|
||||||
"query": "tag:Praktikum",
|
"query": "file:Tasks",
|
||||||
"color": {
|
"color": {
|
||||||
"a": 1,
|
"a": 1,
|
||||||
"rgb": 14701138
|
"rgb": 14701138
|
||||||
|
|||||||
12292
.obsidian/plugins/obsidian-git/main.js
vendored
12292
.obsidian/plugins/obsidian-git/main.js
vendored
File diff suppressed because one or more lines are too long
7
.obsidian/plugins/obsidian-git/manifest.json
vendored
7
.obsidian/plugins/obsidian-git/manifest.json
vendored
@@ -1,9 +1,10 @@
|
|||||||
{
|
{
|
||||||
|
"author": "Vinzent",
|
||||||
|
"authorUrl": "https://github.com/Vinzent03",
|
||||||
"id": "obsidian-git",
|
"id": "obsidian-git",
|
||||||
"name": "Git",
|
"name": "Git",
|
||||||
"description": "Backup your vault with Git.",
|
"description": "Integrate Git version control with automatic backup and other advanced features.",
|
||||||
"isDesktopOnly": false,
|
"isDesktopOnly": false,
|
||||||
"fundingUrl": "https://ko-fi.com/vinzent",
|
"fundingUrl": "https://ko-fi.com/vinzent",
|
||||||
"js": "main.js",
|
"version": "2.35.2"
|
||||||
"version": "2.24.1"
|
|
||||||
}
|
}
|
||||||
|
|||||||
82
.obsidian/plugins/obsidian-git/styles.css
vendored
82
.obsidian/plugins/obsidian-git/styles.css
vendored
@@ -14,11 +14,19 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.workspace-leaf-content[data-type="git-view"] .view-content {
|
.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 {
|
.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 {
|
.loading > svg {
|
||||||
@@ -39,6 +47,10 @@
|
|||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.obsidian-git-disabled {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
.obsidian-git-center-button {
|
.obsidian-git-center-button {
|
||||||
display: block;
|
display: block;
|
||||||
margin: 20px auto;
|
margin: 20px auto;
|
||||||
@@ -51,6 +63,15 @@
|
|||||||
.tooltip.mod-right {
|
.tooltip.mod-right {
|
||||||
overflow-wrap: break-word;
|
overflow-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Limits the scrollbar to the view body */
|
||||||
|
.git-view {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
position: relative;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.git-tools {
|
.git-tools {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
@@ -77,6 +98,25 @@
|
|||||||
height: auto;
|
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 {
|
.git-author {
|
||||||
color: var(--text-accent);
|
color: var(--text-accent);
|
||||||
}
|
}
|
||||||
@@ -549,3 +589,41 @@
|
|||||||
padding: 0px 6px 0px 6px;
|
padding: 0px 6px 0px 6px;
|
||||||
white-space: pre; /* Keep spaces and do not collapse them. */
|
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);
|
||||||
|
}
|
||||||
|
|||||||
165
.obsidian/plugins/obsidian-style-settings/main.js
vendored
Normal file
165
.obsidian/plugins/obsidian-style-settings/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
10
.obsidian/plugins/obsidian-style-settings/manifest.json
vendored
Normal file
10
.obsidian/plugins/obsidian-style-settings/manifest.json
vendored
Normal 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
|
||||||
|
}
|
||||||
243
.obsidian/plugins/obsidian-style-settings/styles.css
vendored
Normal file
243
.obsidian/plugins/obsidian-style-settings/styles.css
vendored
Normal file
File diff suppressed because one or more lines are too long
504
.obsidian/plugins/obsidian-tasks-plugin/main.js
vendored
Normal file
504
.obsidian/plugins/obsidian-tasks-plugin/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
12
.obsidian/plugins/obsidian-tasks-plugin/manifest.json
vendored
Normal file
12
.obsidian/plugins/obsidian-tasks-plugin/manifest.json
vendored
Normal 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
|
||||||
|
}
|
||||||
1
.obsidian/plugins/obsidian-tasks-plugin/styles.css
vendored
Normal file
1
.obsidian/plugins/obsidian-tasks-plugin/styles.css
vendored
Normal file
File diff suppressed because one or more lines are too long
8
.obsidian/themes/Prism/manifest.json
vendored
Normal file
8
.obsidian/themes/Prism/manifest.json
vendored
Normal 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
11287
.obsidian/themes/Prism/theme.css
vendored
Normal file
File diff suppressed because one or more lines are too long
7
.obsidian/themes/Typewriter/manifest.json
vendored
Normal file
7
.obsidian/themes/Typewriter/manifest.json
vendored
Normal 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
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
28
.obsidian/types.json
vendored
Normal 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
239
.obsidian/workspace.json
vendored
Normal 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"
|
||||||
|
]
|
||||||
|
}
|
||||||
35
Exposé/0_Problembeschreibung.md
Normal file
35
Exposé/0_Problembeschreibung.md
Normal 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
17
Exposé/1_Ziele.md
Normal 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.
|
||||||
65
Exposé/3_Verwendete_Methoden.md
Normal file
65
Exposé/3_Verwendete_Methoden.md
Normal 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
6
Exposé/4_Zeitplan.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- Zeitplan
|
||||||
|
- Arbeitspakete
|
||||||
|
- Ziele
|
||||||
|
---
|
||||||
9
Exposé/_Inhalt.md
Normal file
9
Exposé/_Inhalt.md
Normal 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
9
Fragen.md
Normal 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
12
Ideen Vorgehensweise.md
Normal 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
54
Kommentare.md
Normal 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
26
Methodologie.md
Normal 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
32
Tasks.md
Normal 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]]
|
||||||
9
Themen/Orga/Architektur.md
Normal file
9
Themen/Orga/Architektur.md
Normal 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
264
Themen/Orga/Epics.md
Normal 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
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
228
Themen/Orga/Quellen Architektur.md
Normal file
228
Themen/Orga/Quellen Architektur.md
Normal 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)
|
||||||
35
Themen/Orga/User Stories.md
Normal file
35
Themen/Orga/User Stories.md
Normal 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 |
|
||||||
2
Themen/Recherche/Evaluationsmethoden/Precision@2.md
Normal file
2
Themen/Recherche/Evaluationsmethoden/Precision@2.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Teilmenge von Token-F1
|
||||||
|
**Beurteilung eines binären Klassifikators**
|
||||||
4
Themen/Recherche/Evaluationsmethoden/ROUGE-L.md
Normal file
4
Themen/Recherche/Evaluationsmethoden/ROUGE-L.md
Normal 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.
|
||||||
2
Themen/Recherche/Evaluationsmethoden/Span-IoU.md
Normal file
2
Themen/Recherche/Evaluationsmethoden/Span-IoU.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Informationsextraktion, wurden die korrekten Daten extrahiert?
|
||||||
|
Dies steht in direktem Bezug zur korrekten Datenextraktion durch ein LLM-System
|
||||||
17
Themen/Recherche/Evaluationsmethoden/Token-F1.md
Normal file
17
Themen/Recherche/Evaluationsmethoden/Token-F1.md
Normal 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]()
|
||||||
3
Themen/Recherche/Evaluationsmethoden/n-gram Overlap.md
Normal file
3
Themen/Recherche/Evaluationsmethoden/n-gram Overlap.md
Normal 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]()
|
||||||
21
Themen/Recherche/Halluzinationstypen.md
Normal file
21
Themen/Recherche/Halluzinationstypen.md
Normal 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
|
||||||
|
|
||||||
87
Themen/Recherche/Kontext Checking.md
Normal file
87
Themen/Recherche/Kontext Checking.md
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- Webscraping
|
||||||
|
- NLP
|
||||||
|
- FactChecking
|
||||||
|
- ContextChecking
|
||||||
|
- ExplanationGeneration
|
||||||
|
- AES
|
||||||
|
---
|
||||||
|
|
||||||
|
You can combine web scraping with NLP by building a small “fact‑checking” pipeline: extract a claim, scrape relevant pages, then use retrieval and natural‑language 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, single‑fact 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 fact‑checking.[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. 2–3 sentences) and compute embeddings (e.g. sentence‑transformers) to rank them by similarity to the claim.[acm+1](https://dl.acm.org/doi/10.1145/3477495.3531827)
|
||||||
|
- Generative retrieval (GERE) and dual‑stage 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 top‑k evidence snippets that actually talk about the claim.
|
||||||
|
|
||||||
|
## Step 4: Compare claim vs evidence with NLP
|
||||||
|
|
||||||
|
Use Natural Language Inference (NLI) or fact‑checking 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 FEVER‑style fact‑checking.[arxiv+1](https://arxiv.org/abs/2110.14532)
|
||||||
|
|
||||||
|
Patterns you can adapt:
|
||||||
|
|
||||||
|
- VERITAS‑NLI: 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 natural‑language explanation plus top evidence snippets and URLs (e.g. “According to [source], X happened in 2022, not 2020”). Systems like FacTeR‑Check and explanation‑oriented fact‑checking 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
2
Themen/Recherche/MCP.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
https://github.com/QuixiAI/dolphin-mcp/tree/main
|
||||||
BIN
Themen/assets/Architecture.png
Normal file
BIN
Themen/assets/Architecture.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 112 KiB |
4
Thesis/00_Einleitung/01_Motivation/_Inhalt.md
Normal file
4
Thesis/00_Einleitung/01_Motivation/_Inhalt.md
Normal 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
|
||||||
3
Thesis/00_Einleitung/02_Aufgabenstellung/_Inhalt.md
Normal file
3
Thesis/00_Einleitung/02_Aufgabenstellung/_Inhalt.md
Normal 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**
|
||||||
2
Thesis/00_Einleitung/03_Gliederung der Arbeit/_Inhalt.md
Normal file
2
Thesis/00_Einleitung/03_Gliederung der Arbeit/_Inhalt.md
Normal 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)
|
||||||
7
Thesis/00_Einleitung/_Inhalt.md
Normal file
7
Thesis/00_Einleitung/_Inhalt.md
Normal 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
|
||||||
3
Thesis/01_Analyse der Aufgabenstellung/_Inhalt.md
Normal file
3
Thesis/01_Analyse der Aufgabenstellung/_Inhalt.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
- Definition / Festlegung eines planvollen Vorgehens: Methodik
|
||||||
|
- Erkennung von Abhängigkeiten
|
||||||
|
- *Zeitplanung*
|
||||||
12
Thesis/02_Versuchsbeschreibung/01_Theorie/_Inhalt.md
Normal file
12
Thesis/02_Versuchsbeschreibung/01_Theorie/_Inhalt.md
Normal 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**
|
||||||
@@ -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!!!!**
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
- Darstellung der Versuchsreihen
|
||||||
|
- Auflistung der Ergebnisse
|
||||||
|
- **KEINE INTERPRETATION**
|
||||||
2
Thesis/02_Versuchsbeschreibung/_Inhalt.md
Normal file
2
Thesis/02_Versuchsbeschreibung/_Inhalt.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- Beschreibung der eigenen Arbeit
|
||||||
|
- Gerne auf mehrere Kapitel verteilen
|
||||||
4
Thesis/03_Ergebnisse/_Inhalt.md
Normal file
4
Thesis/03_Ergebnisse/_Inhalt.md
Normal 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!**
|
||||||
2
Thesis/04_Ausblick/01_Zusammenfassung/_Inhalt.md
Normal file
2
Thesis/04_Ausblick/01_Zusammenfassung/_Inhalt.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- Kurz darstellen was in jedem Kapitel behandelt wurde und
|
||||||
|
- das wesentliche Ergebnis jeden Kap. ausführen
|
||||||
2
Thesis/04_Ausblick/02_Ausblick/_Inhalt.md
Normal file
2
Thesis/04_Ausblick/02_Ausblick/_Inhalt.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- Offen gebliebene Fragestellungen
|
||||||
|
- Erweiterungsmöglichkeiten
|
||||||
102
Umsetzung/.$Untitled Diagram.drawio.bkp
Normal file
102
Umsetzung/.$Untitled Diagram.drawio.bkp
Normal 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<br>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<div>Answer</div>" 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<div>Context</div>" 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<div>SLM</div>" 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/<div>Automated Input</div>" 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="<font face="Helvetica">Multi Labeled Output</font>" 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="<font face="Helvetica">Markierter Code</font>" 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.Ä)<div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div>" 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>
|
||||||
0
Umsetzung/1_Core_Layer/CLI.md
Normal file
0
Umsetzung/1_Core_Layer/CLI.md
Normal file
0
Umsetzung/1_Core_Layer/Documentation Tool.md
Normal file
0
Umsetzung/1_Core_Layer/Documentation Tool.md
Normal file
0
Umsetzung/1_Core_Layer/Explanation Engine.md
Normal file
0
Umsetzung/1_Core_Layer/Explanation Engine.md
Normal file
0
Umsetzung/1_Core_Layer/Logger.md
Normal file
0
Umsetzung/1_Core_Layer/Logger.md
Normal file
0
Umsetzung/1_Core_Layer/Parser.md
Normal file
0
Umsetzung/1_Core_Layer/Parser.md
Normal file
19
Umsetzung/1_Core_Layer/Performance Metric Observator.md
Normal file
19
Umsetzung/1_Core_Layer/Performance Metric Observator.md
Normal 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/)
|
||||||
0
Umsetzung/1_Core_Layer/Plug-In-Manager.md
Normal file
0
Umsetzung/1_Core_Layer/Plug-In-Manager.md
Normal file
0
Umsetzung/1_Core_Layer/Port Listener.md
Normal file
0
Umsetzung/1_Core_Layer/Port Listener.md
Normal file
0
Umsetzung/2.1_Analysis_Orchestrator/Pipeline.md
Normal file
0
Umsetzung/2.1_Analysis_Orchestrator/Pipeline.md
Normal file
0
Umsetzung/2.1_Analysis_Orchestrator/Workflow.md
Normal file
0
Umsetzung/2.1_Analysis_Orchestrator/Workflow.md
Normal file
0
Umsetzung/2_Core_Analysis/Grammar Checker.md
Normal file
0
Umsetzung/2_Core_Analysis/Grammar Checker.md
Normal file
0
Umsetzung/2_Core_Analysis/Punctuation Checker.md
Normal file
0
Umsetzung/2_Core_Analysis/Punctuation Checker.md
Normal file
0
Umsetzung/2_Core_Analysis/Repetition Checker.md
Normal file
0
Umsetzung/2_Core_Analysis/Repetition Checker.md
Normal file
0
Umsetzung/2_Core_Analysis/Spelling Checker.md
Normal file
0
Umsetzung/2_Core_Analysis/Spelling Checker.md
Normal file
0
Umsetzung/3_Service_Layer/API Endpoints.md
Normal file
0
Umsetzung/3_Service_Layer/API Endpoints.md
Normal file
20
Umsetzung/3_Service_Layer/Response Orchestrator.md
Normal file
20
Umsetzung/3_Service_Layer/Response Orchestrator.md
Normal 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,
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
0
Umsetzung/3_Service_Layer/Scoring Model.md
Normal file
0
Umsetzung/3_Service_Layer/Scoring Model.md
Normal file
0
Umsetzung/3_Service_Layer/Socket Connector.md
Normal file
0
Umsetzung/3_Service_Layer/Socket Connector.md
Normal file
102
Umsetzung/Untitled Diagram.drawio
Normal file
102
Umsetzung/Untitled Diagram.drawio
Normal 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<br>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<div>Answer</div>" 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<div>Context</div>" 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<div>SLM</div>" 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/<div>Automated Input</div>" 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="<font face="Helvetica">Multi Labeled Output</font>" 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="<font face="Helvetica">Markierter Code</font>" 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.Ä)<div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div>" 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
23
_Hinweise.md
Normal 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
|
||||||
Reference in New Issue
Block a user