Explorer
/proc/2012/task/2095/root/tmp/collect_qa_results.py
← Zurück ↓ Download
import json
from pathlib import Path
out=[]
for label,path,q in [
 ('A – Einquelle/Grundfrage','/tmp/qa-a.json','Welche drei Achsen sollte eine Wissenslösung bei Architekturentscheidungen berücksichtigen?'),
 ('B – zwei Quellen','/tmp/qa-b.json','Wie lassen sich Nachvollziehbarkeit und sicherer Betrieb in einer Wissenslösung verbinden?'),
 ('C – mindestens drei Quellen','/tmp/qa-c-final-2.json','Welche Empfehlung ergibt sich aus Zweck, Betrieb und Entscheidungsregel gemeinsam für eine Wissenslösung?'),
 ('D – Widerspruch','/tmp/qa-d-2.json','Ist maximale Schreibfreigabe oder eine strikt read-only Recherchetrennung die bessere Betriebsentscheidung?'),
 ('E – unzureichende Evidenz','/tmp/qa-e-final-2.json','Welche exakte durchschnittliche Lebensdauer hat ein unbekanntes Gerät in einer nicht dokumentierten Marsstation?'),
]:
 d=json.load(open(path)); obs=[x for x in d.get('sources',[]) if x.get('layer')=='obsidian']; out.append({'label':label,'question':q,'answer':d.get('answer',''),'confidence':d.get('confidence'),'warning':d.get('warning'),'retrieval':d.get('retrieval'),'source_count':len(d.get('sources',[])),'test_obsidian_sources':obs})
Path('/tmp/qa-results.json').write_text(json.dumps(out,ensure_ascii=False,indent=2))
print(json.dumps([{'label':x['label'],'confidence':x['confidence'],'warning':x['warning'],'retrieval':x['retrieval'],'source_count':x['source_count']} for x in out],ensure_ascii=False,indent=2))