File size: 1,384 Bytes
754d8d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import json
from pathlib import Path
from typing import List, Dict


def load_queries_log(log_file: str = "logs/queries.jsonl") -> List[Dict]:
    """Load all logged queries."""
    queries = []
    if not Path(log_file).exists():
        return queries
    
    with open(log_file, "r") as f:
        for line in f:
            queries.append(json.loads(line))
    
    return queries


def analyze_confidence_distribution(log_file: str = "logs/queries.jsonl") -> Dict:
    """Analyze confidence score distribution from logs."""
    queries = load_queries_log(log_file)
    
    confidence_counts = {"High": 0, "Medium": 0, "Low": 0, "N/A": 0}
    
    for query in queries:
        confidence = query.get("response", {}).get("confidence", "N/A")
        confidence_counts[confidence] = confidence_counts.get(confidence, 0) + 1
    
    return {
        "total_queries": len(queries),
        "confidence_distribution": confidence_counts
    }


def compare_prompts(question: str, rag_pipeline) -> Dict:
    """Compare initial vs improved prompt responses."""
    initial_response = rag_pipeline.query(question, prompt_type="initial")
    improved_response = rag_pipeline.query(question, prompt_type="improved")
    
    return {
        "question": question,
        "initial": initial_response,
        "improved": improved_response
    }