Proposal: EvalPort import/export bridge for Dataset + Evaluation results
Hi maintainers — I'm Sahi, maintainer of EvalPort, an open spec (JSON Schemas + Python/TS SDKs) for portable LLM eval test suites, test cases, and result sets. Filing this as a genuine proposal, not a drive-by — happy to build it myself if there's interest.
I went through ragaai_catalyst/dataset.py and ragaai_catalyst/evaluation.py before writing this, so this is grounded in what's actually there, not a guess:
Dataset.create_from_csv()/Dataset.create_from_jsonl()already take aschema_mappingdict and push rows into Catalyst as a project-scoped dataset.Evaluation.get_results()pulls the metric-evaluation output back down as a pandasDataFrame(columns filtered to drop the_-prefixed and_claims_internal ones).
That's basically half of an EvalPort round-trip already. The idea: a small evalport extra (or standalone adapter) that adds
from ragaai_catalyst import Dataset
from evalport_sdk import from_openeval, to_openeval
# EvalPort TestSuite (JSON) -> Catalyst dataset, reusing the existing JSONL path
suite = from_openeval("my_suite.evalport.json")
Dataset(project_name="my-project").create_from_jsonl(
suite.to_jsonl(), dataset_name="my_suite", schema_mapping=suite.schema_mapping()
)
# Catalyst evaluation results -> portable EvalPort ResultSet
results_df = Evaluation("my-project", "my_suite").get_results()
to_openeval(results_df, kind="result_set").save("results.evalport.json")Why this might be worth it for RagaAI-Catalyst specifically: teams that build a suite against Catalyst's schema-mapped CSV/JSONL format currently can't take that suite anywhere else, and results coming out of get_results() are locked to your column conventions. An EvalPort bridge would let that same dataset run against other harnesses without hand-rewriting the CSV schema each time, and let external suites (or CI-generated ones) land in Catalyst without a bespoke importer.
Spec (schemas for TestSuite/TestCase/ResultSet): https://github.com/adhabnr-ux/evalport/blob/main/SPEC.md
No pressure at all if this isn't a priority right now — happy to open a draft PR against ragaai_catalyst/ if a maintainer thinks it's worth exploring, or to just leave this here for reference. Thanks for the project either way.
Source: raga-ai-hub/RagaAI-Catalyst