Optional EvalPort export for Dealer.SearchResult — portable retrieval-eval interchange #20254
adhabnr-ux
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi RAGFlow team — I maintain EvalPort, an open JSON-Schema spec for portable LLM eval data (TestCase/Suite/Grader/Result/ResultSet/GraderResult).
I saw discussion #1259 asking for RAG evaluation support, and read
rag/nlp/search.pydirectly.Dealer.SearchResult(total,ids,query_vector,field,highlight,aggregation,keywords,group_docs) is the retrieval result every chunk search in RAGFlow already produces — eachidinidswith itsfield[id]metadata/score is close to an EvalPortGraderResult(chunk_id → grader target, score → score), and a batch of queries run against it is the shape of an EvalPortResultSet.I'd propose a standalone
ragflow-openeval-adapterpackage (to_openeval(search_result, query)/from_openeval(suite)), tested against a realDealer.search()call, not a mock — purely optional, zero footprint on this repo. It would let someone diff RAGFlow's retrieval quality against another framework's graders on identical inputs, which seems relevant to what #1259 was asking for.Happy to build it as a package in EvalPort's own
adapters/directory, or discuss a small in-repo module if that's preferred.Spec: https://github.com/adhabnr-ux/evalport/blob/main/SPEC.md
— Sahi, independent contributor (not affiliated with RAGFlow/InfiniFlow)
All reactions