Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Optional EvalPort adapter for WorkflowRunResult (portable eval-result interchange)

オープン
#676 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
python

調査の方向性

Start with runtime/sdk.py to inspect WorkflowRunResult and run_workflow(), then read EvalPort's SPEC.md to verify the Result, ResultSet, Suite, and TestCase mappings. Confirm with maintainers whether the adapter belongs in ChatDev or EvalPort and how an optional dependency should be handled. Done means the chosen adapter scope and portable task-to-workflow mapping are agreed and implemented without changing the executor.

索引モデルが issue の本文から書いたものです。

説明

I've been reading runtime/sdk.pyrun_workflow() returning a WorkflowRunResult(final_message: Message, meta_info: WorkflowMetaInfo), where WorkflowMetaInfo carries session_name, log_id, outputs, token_usage, and output_dir. That's a clean, structured shape for "what happened when this workflow graph ran" — session identity, token accounting, and the final output message all in one place.

I maintain EvalPort, a JSON-Schema-based interchange spec (TestCase/Suite/Grader/Result/ResultSet) so eval data — a run's outcome plus whatever graded it — doesn't stay locked to one framework's format. It's early-stage (~35 shipped adapters, no notable star count — being upfront about that).

WorkflowRunResult maps fairly directly onto an EvalPort Result: final_message as the graded output, token_usage as EvalPort's usage metadata, session_name/log_id as run identifiers. Running the same YAML workflow over a batch of task prompts and collecting the WorkflowRunResults would give a natural ResultSet. What's missing is a way to get that out in a form another framework's grading tooling could read, or to drive run_workflow() from a portable task suite instead of one-off task_prompt strings.

I'd propose a standalone, optional adapter: WorkflowRunResult → EvalPort Result/ResultSet, plus a helper that maps an EvalPort Suite's TestCase.inputs onto run_workflow(..., task_prompt=...) calls. No required dependency, no change to runtime/sdk.py or the graph executor.

Happy to build this as a PR into ChatDev (e.g. a small module beside runtime/sdk.py), or as a standalone package in EvalPort's own adapters/ directory with zero footprint on this repo — whichever you'd prefer. Spec: https://github.com/adhabnr-ux/evalport/blob/main/SPEC.md

— Sahi, independent contributor (not affiliated with ChatDev/OpenBMB)

主要言語
Python
スター
34.3k
フォーク
4.3k
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

OpenBMB/ChatDev のほかの issue

OpenBMB/ChatDev の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。