diff --git a/admin-compliance/app/sdk/agent/_components/AgentTestTab.tsx b/admin-compliance/app/sdk/agent/_components/AgentTestTab.tsx index 0b631f6c..3696764f 100644 --- a/admin-compliance/app/sdk/agent/_components/AgentTestTab.tsx +++ b/admin-compliance/app/sdk/agent/_components/AgentTestTab.tsx @@ -258,26 +258,45 @@ function MethodikInfo() {
  1. - Machine-Checks (MCs) — deterministische - Pattern-Tests gegen Gesetzestext (z.B. § 5 TMG). Schnell, - reproduzierbar. + Pattern-Checks — deterministische Regex-Tests + gegen Pflichtangaben-Schema (z.B. § 5 TMG/DDG). Schnell, + reproduzierbar. Hinweis: diese Pattern-IDs (z.B. + IMP-MC-001) sind interne Test-IDs, + nicht die Master-Control-IDs aus der canonical_controls-DB + (~314.000 Master-Controls). Die formale Verknüpfung + Pattern-Check → Master-Control folgt in einem späteren Schritt.
  2. Knowledge-Base — kuratierte Patterns aus anonymisierten Mandanten-FAQs.
  3. - LLM-Eskalation — nur bei unklaren MCs: - erst lokales qwen2.5:7b, bei Bedarf größeres OVH-Modell. - Claude (Cloud) erst nach Anonymisierung. + Auto-Learning-Pattern-Library — Labels die + der LLM-Validator gefunden hat (z.B. „Telefonnr." statt + „Telefon") werden persistiert. Beim nächsten Run sind sie + deterministisch erkennbar — der LLM wird seltener gerufen.
  4. - Cross-Doc-Vergleich — Konsistenz zwischen - DSE, Cookie-Policy, Impressum (späterer Agent). + Semantic-Validator (LLM) — nur bei + missing-Pflichtangabe: ein Aufruf des Self-Hosted-LLM + (qwen3.5:35b-a3b auf macmini) prüft ob die + Angabe doch da ist, nur unter abweichendem Label. Bei + Treffer wird HIGH→LOW demoted und „Umbenennen zu Standard" + empfohlen. +
  5. +
  6. + LLM-Eskalation (Fallback) — wenn der + Validator unsicher bleibt: OVH 120b, dann anonymisierter + Claude-Cloud-Call. Aktuell deaktiviert (OVH-Key leer). +
  7. +
  8. + Cross-Placement-Agent — erkennt deplatzierten + Content (Copyright, Disclaimer, WEEE im Impressum) + + empfiehlt Footer-Reiter „Legal".

- Disclaimer: keine Aussagen wie "rechtssicher" oder "konform" — + Disclaimer: keine Aussagen wie „rechtssicher" oder „konform" — nur Findings + Empfehlungen + Herleitung. Verbotene Begriffe werden vom Linter aus Agent-Outputs entfernt.

diff --git a/backend-compliance/compliance/services/specialist_agents/_escalation.py b/backend-compliance/compliance/services/specialist_agents/_escalation.py index 474ac57f..fde2be8d 100644 --- a/backend-compliance/compliance/services/specialist_agents/_escalation.py +++ b/backend-compliance/compliance/services/specialist_agents/_escalation.py @@ -29,8 +29,12 @@ logger = logging.getLogger(__name__) OLLAMA_URL = os.environ.get( "OLLAMA_URL", "http://host.docker.internal:11434", ) +# Default ist das Self-Hosted-LLM des Stacks (qwen3.5:35b-a3b auf +# macmini, gesetzt via SELF_HOSTED_LLM_MODEL). Kann pro Agent via +# AGENT_MODEL_LOCAL überschrieben werden. OLLAMA_MODEL_LOCAL = os.environ.get( - "AGENT_MODEL_LOCAL", "qwen2.5:7b", + "AGENT_MODEL_LOCAL", + os.environ.get("SELF_HOSTED_LLM_MODEL", "qwen3.5:35b-a3b"), ) OVH_URL = os.environ.get("OVH_LLM_URL", "") OVH_MODEL = os.environ.get("OVH_LLM_MODEL", "Meta-Llama-3.1-70B-Instruct")