Mukul Rayana commited on
Commit
2668471
·
1 Parent(s): 7fc5654

fix: MistralJudge JSON extraction for DeepEval faithfulness, commit Wilcoxon results (Day 15)

Browse files
Files changed (2) hide show
  1. eval/run_ragas.py +18 -1
  2. eval/wilcoxon_results.json +112 -0
eval/run_ragas.py CHANGED
@@ -52,7 +52,24 @@ class MistralJudge(DeepEvalBaseLLM):
52
  temperature=0.0,
53
  stop=["[INST]"],
54
  )
55
- return out["choices"][0]["text"].strip()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
 
57
  async def a_generate(self, prompt: str) -> str:
58
  # DeepEval calls a_generate when async_mode=True.
 
52
  temperature=0.0,
53
  stop=["[INST]"],
54
  )
55
+ text = out["choices"][0]["text"].strip()
56
+ # Extract valid JSON from response — Mistral occasionally appends
57
+ # commentary after the JSON block which causes DeepEval to fail.
58
+ # Find the outermost JSON object or array and return only that.
59
+ import re
60
+ # Try to find JSON array first (claim lists), then object (verdicts)
61
+ for pattern in (r"\[.*?\]", r"\{.*?\}"):
62
+ match = re.search(pattern, text, re.DOTALL)
63
+ if match:
64
+ candidate = match.group(0)
65
+ try:
66
+ import json as _json
67
+ _json.loads(candidate) # validate
68
+ return candidate
69
+ except Exception:
70
+ continue
71
+ # No valid JSON found — return as-is and let DeepEval handle it
72
+ return text
73
 
74
  async def a_generate(self, prompt: str) -> str:
75
  # DeepEval calls a_generate when async_mode=True.
eval/wilcoxon_results.json ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "condition_d_mean": 0.88,
3
+ "condition_a_mean": 0.3,
4
+ "condition_d_scores": [
5
+ 1,
6
+ 1,
7
+ 1,
8
+ 1,
9
+ 1,
10
+ 1,
11
+ 1,
12
+ 1,
13
+ 1,
14
+ 1,
15
+ 0,
16
+ 1,
17
+ 1,
18
+ 1,
19
+ 1,
20
+ 1,
21
+ 1,
22
+ 1,
23
+ 0,
24
+ 0,
25
+ 1,
26
+ 1,
27
+ 1,
28
+ 1,
29
+ 1,
30
+ 1,
31
+ 1,
32
+ 0,
33
+ 1,
34
+ 0,
35
+ 1,
36
+ 1,
37
+ 1,
38
+ 1,
39
+ 0,
40
+ 1,
41
+ 1,
42
+ 1,
43
+ 1,
44
+ 1,
45
+ 1,
46
+ 1,
47
+ 1,
48
+ 1,
49
+ 1,
50
+ 1,
51
+ 1,
52
+ 1,
53
+ 1,
54
+ 1
55
+ ],
56
+ "condition_a_scores": [
57
+ 1,
58
+ 1,
59
+ 1,
60
+ 1,
61
+ 0,
62
+ 0,
63
+ 0,
64
+ 0,
65
+ 0,
66
+ 0,
67
+ 0,
68
+ 1,
69
+ 0,
70
+ 0,
71
+ 0,
72
+ 0,
73
+ 0,
74
+ 1,
75
+ 0,
76
+ 0,
77
+ 0,
78
+ 0,
79
+ 0,
80
+ 0,
81
+ 0,
82
+ 0,
83
+ 0,
84
+ 0,
85
+ 0,
86
+ 0,
87
+ 0,
88
+ 0,
89
+ 1,
90
+ 0,
91
+ 0,
92
+ 1,
93
+ 1,
94
+ 1,
95
+ 1,
96
+ 0,
97
+ 0,
98
+ 1,
99
+ 1,
100
+ 0,
101
+ 0,
102
+ 1,
103
+ 0,
104
+ 1,
105
+ 0,
106
+ 0
107
+ ],
108
+ "wilcoxon_statistic": 1044.0,
109
+ "p_value": 3.6189149358699976e-08,
110
+ "significant": true,
111
+ "n": 50
112
+ }