import json from collections import Counter LOG_FILE = "rag_eval_logs.jsonl" def analyze(): print(f"--- Analyzing {LOG_FILE} ---\n") total = 0 known_count = 0 unknown_count = 0 conf_sum = 0.0 try: with open(LOG_FILE, "r", encoding="utf-8") as f: for line in f: line = line.strip() if not line: continue total += 1 data = json.loads(line) if data.get("answer_known"): known_count += 1 else: unknown_count += 1 conf_sum += data.get("confidence", 0.0) if total == 0: print("No logs found.") return print(f"Total Queries: {total}") print(f"Answered (Known): {known_count}") print(f"Unanswered (False): {unknown_count}") print(f"Average Confidence: {conf_sum / total:.2f}") print("-" * 30) accuracy = (known_count / total) * 100 print(f"System 'Knowledge Rate': {accuracy:.1f}%") except FileNotFoundError: print(f"Log file {LOG_FILE} not found.") if __name__ == "__main__": analyze()