All checks were successful
Deploy mindnet to llm-node / deploy (push) Successful in 4s
65 lines
1.9 KiB
Python
65 lines
1.9 KiB
Python
import requests
|
|
import json
|
|
import sys
|
|
import time
|
|
|
|
# Konfiguration
|
|
BASE_URL = "http://localhost:8001"
|
|
QUERY_URL = f"{BASE_URL}/query"
|
|
FEEDBACK_URL = f"{BASE_URL}/feedback"
|
|
|
|
def run_test():
|
|
print(f"--- 1. Sende Suchanfrage an {QUERY_URL} ---")
|
|
query_payload = {
|
|
"query": "mindnet architecture",
|
|
"mode": "hybrid",
|
|
"top_k": 2,
|
|
"explain": True # Wir wollen auch Breakdown loggen
|
|
}
|
|
|
|
try:
|
|
r = requests.post(QUERY_URL, json=query_payload)
|
|
r.raise_for_status()
|
|
res_data = r.json()
|
|
except Exception as e:
|
|
print(f"ERROR bei Suche: {e}")
|
|
sys.exit(1)
|
|
|
|
query_id = res_data.get("query_id")
|
|
results = res_data.get("results", [])
|
|
|
|
if not query_id:
|
|
print("FAIL: Keine query_id in der Antwort erhalten!")
|
|
sys.exit(1)
|
|
|
|
if not results:
|
|
print("WARNUNG: Keine Treffer gefunden, Test kann Feedback nur simuliert senden.")
|
|
target_node_id = "fake-node-id"
|
|
else:
|
|
target_node_id = results[0].get("node_id")
|
|
|
|
print(f"SUCCESS: Suche OK. Erhaltene Query-ID: {query_id}")
|
|
print(f"Target Node für Feedback: {target_node_id}")
|
|
|
|
# Kurze Pause, damit Background-Task Zeit hat zu schreiben (nur für Log-Check relevant)
|
|
time.sleep(0.5)
|
|
|
|
print(f"\n--- 2. Sende Feedback an {FEEDBACK_URL} ---")
|
|
feedback_payload = {
|
|
"query_id": query_id,
|
|
"node_id": target_node_id,
|
|
"score": 1,
|
|
"comment": "Automatisierter Smoke-Test: Dieser Treffer war hilfreich."
|
|
}
|
|
|
|
try:
|
|
r_fb = requests.post(FEEDBACK_URL, json=feedback_payload)
|
|
r_fb.raise_for_status()
|
|
print(f"SUCCESS: Feedback gesendet. Status: {r_fb.status_code}")
|
|
print(f"Response: {r_fb.json()}")
|
|
except Exception as e:
|
|
print(f"ERROR bei Feedback: {e}")
|
|
sys.exit(1)
|
|
|
|
if __name__ == "__main__":
|
|
run_test() |