| { |
| "summary": { |
| "total_questions": 20, |
| "route_accuracy": 1.0, |
| "avg_topic_recall": 1.0, |
| "retrieval_latency_ms_avg": 46.26, |
| "retrieval_latency_ms_p95": 101.1 |
| }, |
| "results": [ |
| { |
| "id": "q01", |
| "query": "Explain how binary search works", |
| "expected_route": "single_topic", |
| "predicted_route": "single_topic", |
| "route_correct": true, |
| "expected_topics": [ |
| "Binary Search" |
| ], |
| "retrieved_topics": [ |
| "Binary Search" |
| ], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 144.79 |
| }, |
| { |
| "id": "q02", |
| "query": "What is the time complexity of merge sort?", |
| "expected_route": "single_topic", |
| "predicted_route": "single_topic", |
| "route_correct": true, |
| "expected_topics": [ |
| "Merge Sort" |
| ], |
| "retrieved_topics": [ |
| "Merge Sort" |
| ], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 30.63 |
| }, |
| { |
| "id": "q03", |
| "query": "Explain quick sort with an example", |
| "expected_route": "single_topic", |
| "predicted_route": "single_topic", |
| "route_correct": true, |
| "expected_topics": [ |
| "Quick Sort" |
| ], |
| "retrieved_topics": [ |
| "Quick Sort" |
| ], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 33.24 |
| }, |
| { |
| "id": "q04", |
| "query": "What is a Trie used for?", |
| "expected_route": "single_topic", |
| "predicted_route": "single_topic", |
| "route_correct": true, |
| "expected_topics": [ |
| "Trie" |
| ], |
| "retrieved_topics": [ |
| "Trie" |
| ], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 31.99 |
| }, |
| { |
| "id": "q05", |
| "query": "What is a doubly linked list?", |
| "expected_route": "single_topic", |
| "predicted_route": "single_topic", |
| "route_correct": true, |
| "expected_topics": [ |
| "Doubly Linked List" |
| ], |
| "retrieved_topics": [ |
| "Doubly Linked List" |
| ], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 34.44 |
| }, |
| { |
| "id": "q06", |
| "query": "Explain how a stack works", |
| "expected_route": "single_topic", |
| "predicted_route": "single_topic", |
| "route_correct": true, |
| "expected_topics": [ |
| "Stack" |
| ], |
| "retrieved_topics": [ |
| "Stack" |
| ], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 28.98 |
| }, |
| { |
| "id": "q07", |
| "query": "What is topological sort used for?", |
| "expected_route": "single_topic", |
| "predicted_route": "single_topic", |
| "route_correct": true, |
| "expected_topics": [ |
| "Topological Sort" |
| ], |
| "retrieved_topics": [ |
| "Topological Sort" |
| ], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 33.71 |
| }, |
| { |
| "id": "q08", |
| "query": "Explain Dijkstra's Algorithm", |
| "expected_route": "single_topic", |
| "predicted_route": "single_topic", |
| "route_correct": true, |
| "expected_topics": [ |
| "Dijkstra's Algorithm" |
| ], |
| "retrieved_topics": [ |
| "Dijkstra's Algorithm" |
| ], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 27.78 |
| }, |
| { |
| "id": "q09", |
| "query": "What is a segment tree?", |
| "expected_route": "single_topic", |
| "predicted_route": "single_topic", |
| "route_correct": true, |
| "expected_topics": [ |
| "Segment Tree" |
| ], |
| "retrieved_topics": [ |
| "Segment Tree" |
| ], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 35.57 |
| }, |
| { |
| "id": "q10", |
| "query": "Explain the sliding window technique", |
| "expected_route": "single_topic", |
| "predicted_route": "single_topic", |
| "route_correct": true, |
| "expected_topics": [ |
| "Sliding Window Technique" |
| ], |
| "retrieved_topics": [ |
| "Sliding Window Technique" |
| ], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 34.67 |
| }, |
| { |
| "id": "q11", |
| "query": "What is the difference between BFS and DFS?", |
| "expected_route": "comparison", |
| "predicted_route": "comparison", |
| "route_correct": true, |
| "expected_topics": [ |
| "Breadth-First Search", |
| "Depth-First Search" |
| ], |
| "retrieved_topics": [ |
| "Breadth-First Search", |
| "Depth-First Search" |
| ], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 51.73 |
| }, |
| { |
| "id": "q12", |
| "query": "Compare merge sort vs quick sort", |
| "expected_route": "comparison", |
| "predicted_route": "comparison", |
| "route_correct": true, |
| "expected_topics": [ |
| "Merge Sort", |
| "Quick Sort" |
| ], |
| "retrieved_topics": [ |
| "Merge Sort", |
| "Quick Sort" |
| ], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 63.2 |
| }, |
| { |
| "id": "q13", |
| "query": "Difference between a stack and a queue", |
| "expected_route": "comparison", |
| "predicted_route": "comparison", |
| "route_correct": true, |
| "expected_topics": [ |
| "Stack", |
| "Queue" |
| ], |
| "retrieved_topics": [ |
| "Queue", |
| "Stack" |
| ], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 66.79 |
| }, |
| { |
| "id": "q14", |
| "query": "Which one is better, Prim's Algorithm or Kruskal's Algorithm, for MST?", |
| "expected_route": "comparison", |
| "predicted_route": "comparison", |
| "route_correct": true, |
| "expected_topics": [ |
| "Prim's Algorithm (MST)", |
| "Kruskal's Algorithm (MST)" |
| ], |
| "retrieved_topics": [ |
| "Kruskal's Algorithm (MST)", |
| "Prim's Algorithm (MST)" |
| ], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 98.8 |
| }, |
| { |
| "id": "q15", |
| "query": "Compare AVL Tree and Binary Search Tree", |
| "expected_route": "comparison", |
| "predicted_route": "comparison", |
| "route_correct": true, |
| "expected_topics": [ |
| "AVL Tree", |
| "Binary Search Tree" |
| ], |
| "retrieved_topics": [ |
| "AVL Tree", |
| "Binary Search", |
| "Binary Search Tree" |
| ], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 84.79 |
| }, |
| { |
| "id": "q16", |
| "query": "Who won the football World Cup in 2022?", |
| "expected_route": "out_of_scope", |
| "predicted_route": "out_of_scope", |
| "route_correct": true, |
| "expected_topics": [], |
| "retrieved_topics": [], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 23.85 |
| }, |
| { |
| "id": "q17", |
| "query": "What's a good recipe for chocolate cake?", |
| "expected_route": "out_of_scope", |
| "predicted_route": "out_of_scope", |
| "route_correct": true, |
| "expected_topics": [], |
| "retrieved_topics": [], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 16.91 |
| }, |
| { |
| "id": "q18", |
| "query": "What is the capital of France?", |
| "expected_route": "out_of_scope", |
| "predicted_route": "out_of_scope", |
| "route_correct": true, |
| "expected_topics": [], |
| "retrieved_topics": [], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 14.83 |
| }, |
| { |
| "id": "q19", |
| "query": "Can you explain that again?", |
| "expected_route": "followup", |
| "predicted_route": "followup", |
| "route_correct": true, |
| "expected_topics": [], |
| "retrieved_topics": [], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 44.24 |
| }, |
| { |
| "id": "q20", |
| "query": "Give me another example", |
| "expected_route": "followup", |
| "predicted_route": "followup", |
| "route_correct": true, |
| "expected_topics": [], |
| "retrieved_topics": [], |
| "topic_recall": 1.0, |
| "retrieval_latency_ms": 24.32 |
| } |
| ] |
| } |