Skip to content

feat: Add LLM benchmark support for e2b_bench - #49

Open
JackWeiw wants to merge 12 commits into
mainfrom
e2b_llm
Open

feat: Add LLM benchmark support for e2b_bench#49
JackWeiw wants to merge 12 commits into
mainfrom
e2b_llm

Conversation

@JackWeiw

Copy link
Copy Markdown
Owner
  • Add LLMConfig and task_mode configuration
  • Implement scenario loader for prompt configuration
  • Create LLMScenarioRunner for Gateway HTTP requests
  • Extend LLMMetrics and TestSnapshot for LLM mode
  • Update stats_collector for LLM mode reports
  • Add scenarios.yaml template and usage documentation
  • Add comprehensive unit tests (28 tests)

Key features:

  • Health check for MockLLM service
  • Gateway HTTP requests to sandbox internal endpoint
  • Scenario-based benchmark with configurable timeouts
  • Compatible with existing browser task mode

JackWeiw and others added 12 commits July 16, 2026 16:36
- Add LLMConfig and task_mode configuration
- Implement scenario loader for prompt configuration
- Create LLMScenarioRunner for Gateway HTTP requests
- Extend LLMMetrics and TestSnapshot for LLM mode
- Update stats_collector for LLM mode reports
- Add scenarios.yaml template and usage documentation
- Add comprehensive unit tests (28 tests)

Key features:
- Health check for MockLLM service
- Gateway HTTP requests to sandbox internal endpoint
- Scenario-based benchmark with configurable timeouts
- Compatible with existing browser task mode

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Add requests>=2.28.0 to pyproject.toml dependencies
- Revert urllib changes, use requests for health check
- Update unit tests to mock requests.get

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Add OpenClawConfig class for dynamic provider configuration
- Configure MockLLM endpoint before benchmark starts
- Use 'openclaw config set' and 'openclaw models set' commands
- Gateway hot-reloads after configuration change
- Update documentation with dynamic config flow

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Preserved both LLM benchmark (PR #49) and round-robin/refactored
ReportFormatter (main) features:

- bench.py: Keep all imports (llm_runner, round_robin, SandboxState)
- stats_collector.py:
  - _take_snapshot: LLM mode collects llm_metrics, browser mode
    keeps round comparison (_round_start_totals)
  - generate_report: LLM mode uses new format_llm_stats_section(),
    browser mode uses refactored ReportFormatter methods
  - Added format_llm_stats_section() to ReportFormatter for LLM stats
- llm_runner.py: ruff-format fixes
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.

1 participant