tidy: clean up old benchmark and add gym (#7081)
This commit is contained in:
@@ -10,7 +10,6 @@ use goose_mcp::{
|
||||
AutoVisualiserRouter, ComputerControllerServer, DeveloperServer, MemoryServer, TutorialServer,
|
||||
};
|
||||
|
||||
use crate::commands::bench::agent_generator;
|
||||
use crate::commands::configure::{configure_telemetry_consent_dialog, handle_configure};
|
||||
use crate::commands::info::handle_info;
|
||||
use crate::commands::project::{handle_project_default, handle_projects_interactive};
|
||||
@@ -31,11 +30,6 @@ use crate::session::{build_session, SessionBuilderConfig};
|
||||
use goose::agents::Container;
|
||||
use goose::session::session_manager::SessionType;
|
||||
use goose::session::SessionManager;
|
||||
use goose_bench::bench_config::BenchRunConfig;
|
||||
use goose_bench::runners::bench_runner::BenchRunner;
|
||||
use goose_bench::runners::eval_runner::EvalRunner;
|
||||
use goose_bench::runners::metric_aggregator::MetricAggregator;
|
||||
use goose_bench::runners::model_runner::ModelRunner;
|
||||
use std::io::Read;
|
||||
use std::path::PathBuf;
|
||||
use tracing::warn;
|
||||
@@ -598,60 +592,6 @@ enum SchedulerCommand {
|
||||
CronHelp {},
|
||||
}
|
||||
|
||||
#[derive(Subcommand)]
|
||||
pub enum BenchCommand {
|
||||
#[command(name = "init-config", about = "Create a new starter-config")]
|
||||
InitConfig {
|
||||
#[arg(short, long, help = "filename with extension for generated config")]
|
||||
name: String,
|
||||
},
|
||||
|
||||
#[command(about = "Run all benchmarks from a config")]
|
||||
Run {
|
||||
#[arg(
|
||||
short,
|
||||
long,
|
||||
help = "A config file generated by the config-init command"
|
||||
)]
|
||||
config: PathBuf,
|
||||
},
|
||||
|
||||
#[command(about = "List all available selectors")]
|
||||
Selectors {
|
||||
#[arg(
|
||||
short,
|
||||
long,
|
||||
help = "A config file generated by the config-init command"
|
||||
)]
|
||||
config: Option<PathBuf>,
|
||||
},
|
||||
|
||||
#[command(name = "eval-model", about = "Run an eval of model")]
|
||||
EvalModel {
|
||||
#[arg(short, long, help = "A serialized config file for the model only.")]
|
||||
config: String,
|
||||
},
|
||||
|
||||
#[command(name = "exec-eval", about = "run a single eval")]
|
||||
ExecEval {
|
||||
#[arg(short, long, help = "A serialized config file for the eval only.")]
|
||||
config: String,
|
||||
},
|
||||
|
||||
#[command(
|
||||
name = "generate-leaderboard",
|
||||
about = "Generate a leaderboard CSV from benchmark results"
|
||||
)]
|
||||
GenerateLeaderboard {
|
||||
#[arg(
|
||||
short,
|
||||
long,
|
||||
help = "Path to the benchmark directory containing model evaluation results"
|
||||
)]
|
||||
benchmark_dir: PathBuf,
|
||||
},
|
||||
}
|
||||
|
||||
#[derive(Subcommand)]
|
||||
enum RecipeCommand {
|
||||
/// Validate a recipe file
|
||||
@@ -862,13 +802,6 @@ enum Command {
|
||||
reconfigure: bool,
|
||||
},
|
||||
|
||||
/// Evaluate system configuration across a range of practical tasks
|
||||
#[command(about = "Evaluate system configuration across a range of practical tasks")]
|
||||
Bench {
|
||||
#[command(subcommand)]
|
||||
cmd: BenchCommand,
|
||||
},
|
||||
|
||||
/// Start a web server with a chat interface
|
||||
#[command(about = "Experimental: Start a web server with a chat interface")]
|
||||
Web {
|
||||
@@ -1018,7 +951,6 @@ fn get_command_name(command: &Option<Command>) -> &'static str {
|
||||
Some(Command::Run { .. }) => "run",
|
||||
Some(Command::Schedule { .. }) => "schedule",
|
||||
Some(Command::Update { .. }) => "update",
|
||||
Some(Command::Bench { .. }) => "bench",
|
||||
Some(Command::Recipe { .. }) => "recipe",
|
||||
Some(Command::Web { .. }) => "web",
|
||||
Some(Command::Term { .. }) => "term",
|
||||
@@ -1029,7 +961,7 @@ fn get_command_name(command: &Option<Command>) -> &'static str {
|
||||
|
||||
async fn handle_mcp_command(server: McpCommand) -> Result<()> {
|
||||
let name = server.name();
|
||||
crate::logging::setup_logging(Some(&format!("mcp-{name}")), None)?;
|
||||
let _ = crate::logging::setup_logging(Some(&format!("mcp-{name}")));
|
||||
match server {
|
||||
McpCommand::AutoVisualiser => serve(AutoVisualiserRouter::new()).await?,
|
||||
McpCommand::ComputerController => serve(ComputerControllerServer::new()).await?,
|
||||
@@ -1426,25 +1358,6 @@ async fn handle_schedule_command(command: SchedulerCommand) -> Result<()> {
|
||||
}
|
||||
}
|
||||
|
||||
async fn handle_bench_command(cmd: BenchCommand) -> Result<()> {
|
||||
match cmd {
|
||||
BenchCommand::Selectors { config } => BenchRunner::list_selectors(config)?,
|
||||
BenchCommand::InitConfig { name } => {
|
||||
let mut config = BenchRunConfig::default();
|
||||
let cwd = std::env::current_dir()?;
|
||||
config.output_dir = Some(cwd);
|
||||
config.save(name);
|
||||
}
|
||||
BenchCommand::Run { config } => BenchRunner::new(config)?.run()?,
|
||||
BenchCommand::EvalModel { config } => ModelRunner::from(config)?.run()?,
|
||||
BenchCommand::ExecEval { config } => EvalRunner::from(config)?.run(agent_generator).await?,
|
||||
BenchCommand::GenerateLeaderboard { benchmark_dir } => {
|
||||
MetricAggregator::generate_csv_from_benchmark_dir(&benchmark_dir)?
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn handle_recipe_subcommand(command: RecipeCommand) -> Result<()> {
|
||||
match command {
|
||||
RecipeCommand::Validate { recipe_name } => handle_validate(&recipe_name),
|
||||
@@ -1597,7 +1510,6 @@ pub async fn cli() -> anyhow::Result<()> {
|
||||
crate::commands::update::update(canary, reconfigure)?;
|
||||
Ok(())
|
||||
}
|
||||
Some(Command::Bench { cmd }) => handle_bench_command(cmd).await,
|
||||
Some(Command::Recipe { command }) => handle_recipe_subcommand(command),
|
||||
Some(Command::Web {
|
||||
port,
|
||||
|
||||
Reference in New Issue
Block a user