Skip to content

integrated gepa training, ui to track#747

Merged
willccbb merged 9 commits intoPrimeIntellect-ai:mainfrom
eligotts:gepa-integration
Jan 22, 2026
Merged

integrated gepa training, ui to track#747
willccbb merged 9 commits intoPrimeIntellect-ai:mainfrom
eligotts:gepa-integration

Conversation

@eligotts
Copy link
Contributor

@eligotts eligotts commented Jan 20, 2026

Description

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Test improvement

Testing

  • All existing tests pass when running uv run pytest locally.
  • New tests have been added to cover the changes

Checklist

  • My code follows the style guidelines of this project as outlined in AGENTS.md
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

Additional Notes


Note

Introduces GEPA-based system prompt optimization and unifies the Rich-based UI across eval and optimization.

  • Adds vf-gepa CLI with GEPA integration: adapter to Verifiers (VerifiersGEPAAdapter), Rich GEPADisplay, result saving (best_prompt.txt, pareto_frontier.jsonl, metadata.json), and configurable reflection LM
  • New shared display infra (BaseDisplay, log capture, TTY handling); refactors eval TUI → EvalDisplay with improved final summary and reward histograms; eval now always uses Rich display with --tui toggling alternate screen mode
  • Updates docs: evaluation --tui now -u and clarified behavior; adds “Prompt Optimization with vf-gepa” section to training guide
  • Wiring & deps: add gepa dependency, register vf-gepa script, path helper for GEPA outputs; minor logging/verbosity tweaks and switch prints→logger in alphabet_sort

Written by Cursor Bugbot for commit 51a00f4. This will update automatically on new commits. Configure here.

@CLAassistant
Copy link

CLAassistant commented Jan 20, 2026

CLA assistant check
All committers have signed the CLA.

Comment on lines +199 to +209
def _serialize(value: Any) -> Any:
"""Make value JSON-serializable."""
if hasattr(value, "model_dump"):
return value.model_dump()
if isinstance(value, list):
return [_serialize(v) for v in value]
if isinstance(value, dict):
return {k: _serialize(v) for k, v in value.items()}
if isinstance(value, Exception):
return repr(value)
return value
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't we have something more general for state[col] serialization ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not really yet, think that's coming with the env worker PR -- by default we don't enforce that state cols are serializable, and it's up to the user to only select serializable columns (e.g. for make_dataset).

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@willccbb willccbb self-requested a review January 21, 2026 07:38
cursor[bot]

This comment was marked as outdated.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

@willccbb willccbb merged commit 044ba3e into PrimeIntellect-ai:main Jan 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants