import type { LlmBenchmarkRunOptions } from './framework/index';
/**
* 基准运行默认配置(可被同目录下 `.env` 中 `BENCH_*` 变量覆盖)。
*/
export const benchmarkConfig: LlmBenchmarkRunOptions = {
// 单模型 id;未配置 `models` 时必填其一。与 `models` 并存时可作「主模型」元数据(报告 / Judge 默认等)
model: 'DeepSeek-V3.2',
// 多模型对比列表;有值时优先于 model,按列表逐模型生成并汇总报告
models: undefined,
// 为 true 时默认用 maas-models.json 中全部模型名填满 models(显式 models / BENCH_MODELS 优先)
modelsFromMaasManifest: true,
// Prompt 生成使用的前端框架物料(影响系统提示词的配置)
framework: 'Vue',
// 单场景过滤(兼容项);为空时不过滤
scenario: undefined,
// 多场景过滤(优先级高于 scenario);为空时跑全部内置场景
scenarios: undefined,
// 每个“模型 × 场景”重复执行次数(最小为 1)
repeat: 1,
// 为 true 时额外生成空 system 的「纯文本」对照样本(*_plain.json);可用 BENCH_COMPARE_EMPTY_SYSTEM=true
compareEmptySystem: true,
// 为 true 时仅生成 plain(不生成 full);与已有 full 同目录对比时配合 targetSampleRunDir / BENCH_TARGET_SAMPLE_RUN_DIR
compareEmptySystemPlainOnly: true,
// 非空时样本直接写入该目录(不新建时间戳子目录);相对路径相对于样本根目录(默认 reports/)
targetSampleRunDir: undefined,
// 生成阶段并发度(最小为 1);值越大请求并发越高
concurrency: 5,
// streamText 单次请求超时(毫秒);可由 BENCH_STREAM_TIMEOUT_MS 覆盖;0=不限制
streamTimeoutMs: 600_000,
// 生成样本时的 prompt 组合配置(genPrompt + specificPrompt + userAppendPrompt)
promptConfig: {
// genPrompt 的自定义配置(对应 metadata.tinygenui 形态)
tgCustomConfig: {},
// 固定附加到 system 的提示词片段
specificPrompt: 'schemaJson必须使用```schemaJson```包裹。',
// 用户自定义追加提示词(通常用于临时调优)
userAppendPrompt: '',
},
// LLM-as-a-Judge 配置(默认关闭,避免报告阶段额外模型调用)
llmJudge: {
// 是否启用 Judge 评估
enabled: false,
// Judge 模型 id;为空则复用 model
model: undefined,
// 可选 system prompt;为空时使用内置默认规则
systemPrompt: undefined,
},
// 是否在控制台输出 JSON 结果(true: JSON;false: 表格 + 汇总)
json: false,
// 是否在报告目录生成 report_<runDir>.xlsx(汇总 + 原始 JSON 样本展开)
writeExcel: true,
// 输出根目录(默认 reports/);每次运行会在其下创建时间戳子目录
samplesDir: undefined,
// 报告输出目录(默认跟随本次运行目录;一般无需单独配置)
outputDir: undefined,
};