forked from offlinecv/OfflineCV
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathparse-eval.html
More file actions
129 lines (129 loc) · 4.44 KB
/
Copy pathparse-eval.html
File metadata and controls
129 lines (129 loc) · 4.44 KB
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>OfflineCV — Parse-resume eval (dev only)</title>
<meta
name="description"
content="Dev-only eval harness for the LLM structured-parse provider (issue #241). Not part of the production bundle."
/>
<meta name="color-scheme" content="light dark" />
<!--
Dev-only tool page; not subject to the design-token policy that
governs feature code under src/components/**. CSS keeps to system
colors (Canvas / CanvasText) so the page renders standalone without
loading the app's design system.
-->
<style>
:root {
color-scheme: light dark;
font-family: ui-sans-serif, system-ui, sans-serif;
}
body {
max-width: 880px;
margin: 2rem auto;
padding: 0 1rem;
line-height: 1.5;
color: CanvasText;
background: Canvas;
}
h1 { margin-bottom: 0.25rem; }
.subtitle { color: GrayText; margin-top: 0; }
label { margin-right: 0.4rem; }
select {
font-size: 1rem;
padding: 0.3rem 0.5rem;
border-radius: 4px;
border: 1px solid GrayText;
background: Canvas;
color: CanvasText;
}
button {
padding: 0.6rem 1.2rem;
font-size: 1rem;
cursor: pointer;
border-radius: 6px;
margin-left: 0.75rem;
}
button[disabled] { opacity: 0.5; cursor: not-allowed; }
#status { font-weight: 600; margin: 1rem 0 0.25rem; }
#progress { font-family: ui-monospace, monospace; color: GrayText; }
#log {
background: color-mix(in srgb, CanvasText 92%, Canvas);
color: Canvas;
padding: 0.75rem;
border-radius: 6px;
font-family: ui-monospace, monospace;
font-size: 0.85rem;
height: 360px;
overflow-y: auto;
white-space: pre-wrap;
margin-top: 1rem;
}
.downloads {
margin-top: 1rem;
display: flex;
gap: 0.75rem;
}
.downloads a[hidden] { display: none; }
.downloads a {
padding: 0.5rem 0.9rem;
border: 1px solid currentColor;
border-radius: 6px;
text-decoration: none;
}
.note {
font-size: 0.9rem;
color: GrayText;
margin-top: 1.5rem;
}
</style>
</head>
<body>
<h1>Parse-resume eval harness</h1>
<p class="subtitle">
Issue #241 · dev-only · WebGPU required · not bundled into production.
</p>
<p>
Runs BOTH the SEPARATE pass (<code>parseResumeWithLlm</code> +
<code>critiqueResumeWithLlm</code>) AND the COMBINED pass
(<code>analyzeResumeWithLlm</code>) over 3 inline PII-safe resume
fixtures (<code>software-engineer</code>,
<code>marketing-coordinator</code>, <code>recent-grad</code>) and scores
field-level accuracy. Two reports come out: the original parse-only one
(PR #241) and a side-by-side comparison (PR #262, load-bearing quality
gate).
</p>
<p>
One model per tab on purpose: cycling multi-GB models in a single tab is
fragile on consumer GPUs. Run each model in a fresh tab, download its
report, then open a new tab for the next model.
</p>
<p>
<label for="model">Model:</label>
<select id="model"></select>
<button id="run" type="button">Run eval</button>
</p>
<p id="status">Idle. Click “Run eval” to start.</p>
<p id="progress"> </p>
<div class="downloads">
<a id="download-json" hidden>Download JSON report (parse-only, #241)</a>
<a id="download-md" hidden>Download Markdown report (parse-only, #241)</a>
<a id="download-combo-json" hidden>Download JSON report (combined comparison, #262)</a>
<a id="download-combo-md" hidden>Download Markdown report (combined comparison, #262)</a>
</div>
<pre id="log"></pre>
<p class="note">
The parse-only report goes in PR #241; the combined-comparison report
goes in
<a href="https://github.com/offlinecv/OfflineCV/issues/262" target="_blank"
>PR #262</a
>
under the quality-measurement gate. This page is not committed to
<code>dist/</code> — see <code>src/lib/webllm/parse-eval/README.md</code>
for details.
</p>
<script type="module" src="/src/lib/webllm/parse-eval/parse-eval-browser.ts"></script>
</body>
</html>