neues Testscript
This commit is contained in:
parent
9cc16bb220
commit
972cd0dfac
|
|
@ -1,14 +1,14 @@
|
||||||
"""
|
"""
|
||||||
tests/test_wp06_decision.py — Flexibler Integrationstest für WP-06
|
tests/test_wp06_decision.py — Flexibler Integrationstest für WP-06
|
||||||
Führt eine Entscheidungsfrage gegen die API aus.
|
Führt eine Entscheidungsfrage gegen die API aus.
|
||||||
Unterstützt Parameter für Frage und Port.
|
Unterstützt Parameter für Frage, Port und erwarteten Intent.
|
||||||
"""
|
"""
|
||||||
import requests
|
import requests
|
||||||
import json
|
import json
|
||||||
import sys
|
import sys
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
def test_decision_engine(query: str, port: int):
|
def test_decision_engine(query: str, port: int, expected_intent: str):
|
||||||
api_url = f"http://localhost:{port}"
|
api_url = f"http://localhost:{port}"
|
||||||
print(f"🔵 Starte WP-06 Decision Engine Test gegen {api_url}...\n")
|
print(f"🔵 Starte WP-06 Decision Engine Test gegen {api_url}...\n")
|
||||||
|
|
||||||
|
|
@ -31,8 +31,9 @@ def test_decision_engine(query: str, port: int):
|
||||||
|
|
||||||
# 1. Intent Check
|
# 1. Intent Check
|
||||||
intent = data.get("intent", "UNKNOWN")
|
intent = data.get("intent", "UNKNOWN")
|
||||||
print(f"\n1. INTENT DETECTION: [{'✅' if intent == 'DECISION' else '❌'}]")
|
match = intent == expected_intent
|
||||||
print(f" Erkannt: {intent}")
|
print(f"\n1. INTENT DETECTION: [{'✅' if match else '❌'}]")
|
||||||
|
print(f" Erkannt: {intent} (Erwartet: {expected_intent})")
|
||||||
|
|
||||||
# 2. Source Check (Strategic Retrieval)
|
# 2. Source Check (Strategic Retrieval)
|
||||||
sources = data.get("sources", [])
|
sources = data.get("sources", [])
|
||||||
|
|
@ -52,11 +53,10 @@ def test_decision_engine(query: str, port: int):
|
||||||
|
|
||||||
# Marker für Ausgabe
|
# Marker für Ausgabe
|
||||||
marker = " "
|
marker = " "
|
||||||
if node_type in ["value", "principle", "goal"]:
|
# Wir prüfen hier generisch auf alle strategischen Typen
|
||||||
|
if node_type in ["value", "principle", "goal", "experience", "belief", "profile"]:
|
||||||
marker = "🎯" # Strategischer Treffer
|
marker = "🎯" # Strategischer Treffer
|
||||||
strategic_hits.append(title)
|
strategic_hits.append(title)
|
||||||
elif node_type in ["decision", "experience"]:
|
|
||||||
marker = "🧠"
|
|
||||||
else:
|
else:
|
||||||
marker = "📄"
|
marker = "📄"
|
||||||
fact_hits.append(title)
|
fact_hits.append(title)
|
||||||
|
|
@ -67,7 +67,7 @@ def test_decision_engine(query: str, port: int):
|
||||||
if strategic_hits:
|
if strategic_hits:
|
||||||
print(f"\n ✅ ERFOLG: Strategische Quellen geladen: {strategic_hits}")
|
print(f"\n ✅ ERFOLG: Strategische Quellen geladen: {strategic_hits}")
|
||||||
else:
|
else:
|
||||||
print(f"\n ⚠️ WARNUNG: Keine strategischen Quellen (Value/Principle/Goal) gefunden.")
|
print(f"\n ℹ️ INFO: Keine strategischen Quellen (Value/Experience/etc.) gefunden.")
|
||||||
|
|
||||||
# 3. Reasoning Check (LLM Antwort)
|
# 3. Reasoning Check (LLM Antwort)
|
||||||
answer = data.get("answer", "")
|
answer = data.get("answer", "")
|
||||||
|
|
@ -91,7 +91,10 @@ if __name__ == "__main__":
|
||||||
parser.add_argument("--port", "-p", type=int,
|
parser.add_argument("--port", "-p", type=int,
|
||||||
default=8002,
|
default=8002,
|
||||||
help="Der Port der API (Default: 8002 für Dev).")
|
help="Der Port der API (Default: 8002 für Dev).")
|
||||||
|
parser.add_argument("--expect", "-e", type=str,
|
||||||
|
default="DECISION",
|
||||||
|
help="Der erwartete Intent (z.B. DECISION, EMPATHY).")
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
test_decision_engine(args.query, args.port)
|
test_decision_engine(args.query, args.port, args.expect)
|
||||||
Loading…
Reference in New Issue
Block a user