diff --git a/config/prompts.yaml b/config/prompts.yaml index bec60d4..13b800d 100644 --- a/config/prompts.yaml +++ b/config/prompts.yaml @@ -1,6 +1,6 @@ -# config/prompts.yaml — Final V2.5.4 (Strict Hybrid & OpenRouter Primary) -# WP-20: Optimierte Cloud-Templates für OpenRouter (openai/gpt-oss-20b:free). -# FIX: Vollständige technische Maskierung (Doppel-Klammern) zur Vermeidung von KeyError: '"to"'. +# config/prompts.yaml — Final V2.5.5 (OpenRouter Hardening) +# WP-20: Optimierte Cloud-Templates zur Unterdrückung von Modell-Geschwätz. +# FIX: Explizite Verbote für Einleitungstexte zur Vermeidung von JSON-Parsing-Fehlern. # OLLAMA: UNVERÄNDERT laut Benutzeranweisung. system_prompt: | @@ -189,11 +189,14 @@ edge_allocation_template: KANDIDATEN: {edge_list} OUTPUT: STRIKT eine flache JSON-Liste ["typ:ziel"]. Kein Text davor/danach. Wenn nichts: []. Keine Objekte! openrouter: | - Filtere relevante Kanten aus dem Pool. + TASK: Filtere relevante Kanten aus dem Pool. ERLAUBTE TYPEN: {valid_types} TEXT: {chunk_text} - KANDIDATEN: {edge_list} - OUTPUT: STRIKT eine flache JSON-Liste von Strings: [["typ:ziel"]]. Kein Text, keine Erklärung. Wenn leer: []. + POOL: {edge_list} + ANWEISUNG: Gib NUR eine flache JSON-Liste von Strings zurück. + BEISPIEL: ["kind:target", "kind:target"] + REGEL: Kein Text, keine Analyse, keine Kommentare. Wenn nichts passt, gib [] zurück. + OUTPUT: # --------------------------------------------------------- # 7. SMART EDGE ALLOCATION: Extraktion (Intent: INGEST) @@ -226,9 +229,11 @@ edge_extraction: TEXT: {text} OUTPUT: STRIKT JSON-Array von Objekten: [[{{"to":"Ziel","kind":"typ"}}]]. Kein Text davor/danach. Wenn nichts: []. openrouter: | - Wissensgraph-Extraktion für die Notiz '{note_id}'. + TASK: Extrahiere semantische Relationen für '{note_id}'. ERLAUBTE TYPEN: {valid_types} TEXT: {text} - ANWEISUNG: Finde Relationen zu anderen Konzepten. - OUTPUT: STRIKT JSON-Array von Objekten: [[{{"to":"X","kind":"Y"}}]]. - Regeln: Kein Text davor/danach. Kein Wrapper-Objekt (kein 'edges' Key). Wenn leer: []. \ No newline at end of file + ANWEISUNG: Antworte AUSSCHLIESSLICH mit einem JSON-Array von Objekten. + FORMAT: [[{{"to":"Ziel-Begriff","kind":"typ"}}]] + STRIKTES VERBOT: Schreibe keine Einleitung, keine Analyse und keine Erklärungen. + Wenn keine Relationen existieren, antworte NUR mit: [] + OUTPUT: \ No newline at end of file