Spaces:
Running
Running
File size: 2,068 Bytes
da8db3e | 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 | import "./server-only-shim.mjs"
import fs from "fs"
// Replicate the dataset_url fallback chain from components/eval-card.tsx:83-86 verbatim.
// Original uses `??` (nullish), NOT truthiness — empty strings stay; only
// null/undefined fall through. Pipeline must produce identical outputs.
function resolveDatasetUrl(sourceData) {
const fromDataset = sourceData?.dataset_url
const fromUrl = Array.isArray(sourceData?.url) ? sourceData?.url?.[0] : sourceData?.url
const fromHfRepo = sourceData?.hf_repo ? `https://huggingface.co/datasets/${sourceData.hf_repo}` : undefined
return fromDataset ?? fromUrl ?? fromHfRepo
}
// === Audit: distribution of which fallback branch fires ===
const dir = ".cache/hf-data/evals"
const files = fs.readdirSync(dir)
const branches = { dataset_url: 0, url_array: 0, url_string: 0, hf_repo: 0, undefined: 0 }
const examples = { dataset_url: [], url_array: [], url_string: [], hf_repo: [], undefined: [] }
let total = 0
for (const f of files) {
const data = JSON.parse(fs.readFileSync(`${dir}/${f}`, "utf8"))
const sd = data.source_data
total++
const url = resolveDatasetUrl(sd)
let branch
if (!sd) branch = "undefined"
else if (sd.dataset_url) branch = "dataset_url"
else if (Array.isArray(sd.url)) branch = "url_array"
else if (typeof sd.url === "string") branch = "url_string"
else if (sd.hf_repo) branch = "hf_repo"
else branch = "undefined"
branches[branch]++
if (examples[branch].length < 3) examples[branch].push({ id: data.eval_summary_id, sourceData: sd, resolved: url })
}
console.log(`=== Audit: dataset_url fallback branch distribution (${total} eval-detail files) ===`)
for (const [b, n] of Object.entries(branches)) {
console.log(` ${b}: ${n}`)
}
console.log()
console.log("=== Examples per branch ===")
for (const [b, exs] of Object.entries(examples)) {
if (exs.length === 0) continue
console.log(`\n--- ${b} ---`)
for (const ex of exs) {
console.log(` ${ex.id}: source_data=${JSON.stringify(ex.sourceData)}`)
console.log(` → resolved: ${ex.resolved}`)
}
}
|