Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Optional EvalPort export for StructEval's key_validation_score / render pipeline results

Aperta
#8 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
30/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
python

Direzione di ricerca

Start by reading structeval/eval_engine/eval_nonrenderable.py and eval_vqa.py, then inspect render_engine/ to map the reported result fields and supported output formats. Resolve whether the work belongs in a standalone adapter or eval_engine export. Done means real tests validate the exported results against EvalPort's actual JSON Schema.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Hi StructEval team — I maintain EvalPort, an open, framework-agnostic JSON spec for portable LLM eval datasets and results (a TestCase/Suite/ResultSet schema with a JSON Schema validator, so a dataset or a graded run can move between tools without hand-writing a converter each time).

I read the real scoring code rather than guessing, e.g. structeval/eval_engine/eval_nonrenderable.py:

item["VQA_score"] = None
item["key_validation_score"] = 0
if item.get("render_score") == 0:
    item["key_validation_score"] = 0
    continue
...
for path in raw_output_metric:
    if path_exists(structure, path):
        item["key_validation_score"] += 1
item["key_validation_score"] = item["key_validation_score"] / len(raw_output_metric)

So each task item already carries a small, well-defined result bundle depending on output type: render_score (did it render/parse at all), key_validation_score (fraction of raw_output_metric paths found in the parsed structure, for non-renderable formats like JSON/YAML/LaTeX), and VQA_score (for renderable formats like HTML/SVG/Vue, presumably scored by eval_vqa.py). That three-part shape (render check → structural/VQA scoring → per-item float) maps cleanly onto an EvalPort ResultSet: one Result per task item, with render_score/key_validation_score/VQA_score becoming named GraderResults under a custom type (since they're structural-path and vision-QA checks, not a stock exact_match/semantic_similarity), and the task's target output format (JSON, HTML, LaTeX, Vue, etc. — you support quite a few per render_engine/) preserved as TestCase metadata so nothing about the original format requirement gets lost in translation.

Two ways I could see this landing, no strong preference:

  1. A standalone structeval-openeval-adapter package in the EvalPort repo, depending on structeval as a normal dependency. Zero footprint on this repo.
  2. A small optional export function inside eval_engine/ if you'd rather it live here.

Either way, real tests would validate against EvalPort's actual JSON Schema, not a mock. Let me know which direction you'd prefer, or if this isn't a fit for your roadmap right now — no worries either way.

— Sahi, independent contributor (not affiliated with StructEval)

Lingua principale
Python
Stelle
23
Fork
8
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di TIGER-AI-Lab/StructEval

Tutte le issue di TIGER-AI-Lab/StructEval

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.