MCPcopy Create free account
hub / github.com/InternLM/InternBootcamp / main

Function main

internbootcamp/utils/run_evaluation.py:181–354  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

179
180
181def main():
182 parser = argparse.ArgumentParser(
183 description="通用命令行评测脚本",
184 formatter_class=argparse.RawDescriptionHelpFormatter,
185 epilog="""
186使用示例: verl/Bootcampv2/example_bootcamp/examples/run_example_evaluation.sh
187"""
188 )
189
190 parser.add_argument('--dataset-path', type=str, help='数据集文件路径 (.json, .jsonl, .parquet)')
191 parser.add_argument('--output-dir', type=str, help='评测结果输出目录')
192 parser.add_argument('--api-key', type=str, help='API 密钥')
193 parser.add_argument('--api-url', type=str, default=None, help='API URL (如果不指定则使用默认的OpenAI API)')
194 parser.add_argument('--api-model', type=str, default='gpt-3.5-turbo', help='模型名称 (默认: gpt-3.5-turbo)')
195 parser.add_argument('--api-proxy', type=str, default='', help='代理url')
196 parser.add_argument('--api-extra-headers', type=str, default=None, help='额外的API头部,格式: "key1:value1,key2:value2"')
197 parser.add_argument('--api-start-url', type=str, default=None, help='Start阶段的API URL (用于Bayesian Agent评测器)')
198 parser.add_argument('--api-start-key', type=str, default=None, help='Start阶段的API 密钥 (默认使用--api-key)')
199 parser.add_argument('--api-start-headers', type=str, default=None, help='Start阶段的额外API头部 (默认使用--api-extra-headers)')
200 parser.add_argument('--api-start-model', type=str, default=None, help='Start阶段的模型名称 (默认使用--api-model)')
201 parser.add_argument('--api-loop-url', type=str, default=None, help='Loop阶段的API URL (用于Bayesian Agent评测器)')
202 parser.add_argument('--api-loop-key', type=str, default=None, help='Loop阶段的API 密钥 (默认使用--api-key)')
203 parser.add_argument('--api-loop-headers', type=str, default=None, help='Loop阶段的额外API头部 (默认使用--api-extra-headers)')
204 parser.add_argument('--api-loop-model', type=str, default=None, help='Loop阶段的模型名称 (默认使用--api-model)')
205 parser.add_argument('--api-extra-params', type=str, default=None, help='额外的模型参数;支持 JSON 字符串或 @文件(JSON)。示例:\n 1) JSON 字符串:\n --api-extra-params \'{"temperature":0.7, "max_completion_tokens":65536, "extra_body": {"enable_thinking": true}}\'\n 2) 从文件读取(以 @ 开头):\n --api-extra-params @/path/to/params.json\n 3) 回退兼容旧格式:"temperature:0.7,max_tokens:2048,top_p:0.9"')
206 parser.add_argument('--verify-correction-kwargs', type=str, default=None, help='额外的奖励计算函数参数;支持格式同api-extra-params(该参数解包传递给reward calculator的verify correction方法)')
207 parser.add_argument('--evaluator-class', type=str, default=None, help='评测器类路径 (如: verl.Bootcampv2.example_bootcamp.example_evaluator.ExampleEvaluator)')
208 parser.add_argument('--reward-calculator-class', type=str, default=None, help='奖励计算器类路径(可选,优先级低于 --reward-config)')
209 parser.add_argument('--reward-config', type=str, default=None, help='reward配置YAML文件路径')
210 parser.add_argument('--tool-config', type=str, default=None, help='工具配置YAML文件路径')
211 parser.add_argument('--interaction-config', type=str, default=None, help='交互配置YAML文件路径')
212 parser.add_argument('--max-tool-turns-per-interaction', type=int, default=None, help='每次交互的最大工具调用轮次 (已弃用)')
213 parser.add_argument('--max-interaction-turns', type=int, default=None, help='最大交互轮次 (已弃用)')
214 parser.add_argument('--max-assistant-turns', type=int, default=None, help='assistant响应的最大轮次 (默认: None,无限制)')
215 parser.add_argument('--max-user-turns', type=int, default=None, help='user输入的最大轮次(包括tool response, interaction response) (默认: None,无限制)')
216 parser.add_argument('--max-concurrent', type=int, default=1, help='最大并发数 (默认: 1)')
217 parser.add_argument('--verbose', action='store_true', help='输出详细信息')
218 parser.add_argument('--dry-run', action='store_true', help='只验证配置,不实际运行评测')
219 parser.add_argument('--tokenizer-path', type=str, default=None, nargs='?', const=None, help='tokenizer路径(可选, apply template时使用)')
220 parser.add_argument('--bootcamp-registry', type=str, default=None, help='bootcamp注册表路径(可选, 用于批量评测)')
221 parser.add_argument('--resume-from-result-path', type=str, default=None, help='断点重试模式:指定要恢复的结果文件路径(.jsonl)')
222 parser.add_argument('--max-iterations', type=int, default=None, help='单轮数据最大迭代次数(用于单轮评测)')
223 parser.add_argument('--use-retrieval', action='store_true', help='是否启用参数检索')
224 parser.add_argument('--retrieval-db-path', type=str, default=None, help='参数检索数据库路径(文件或目录)')
225 parser.add_argument('--retrieval-top-n', type=int, default=5, help='参数检索返回的近邻数量')
226 parser.add_argument('--max-loops', type=int, default=None, help='单轮数据最大迭代次数(用于单轮评测)')
227 parser.add_argument('--bayesian-n-workers', type=int, default=None, help='贝叶斯优化工人数量')
228 parser.add_argument('--bayesian-init-points', type=int, default=None, help='贝叶斯优化初始点数量')
229 parser.add_argument('--bayesian-n-iter', type=int, default=None, help='贝叶斯优化迭代次数')
230 parser.add_argument('--cold-start-type', type=str, default=None, help='冷启动类型')
231 args = parser.parse_args()
232
233 # 验证输入文件
234 if not os.path.exists(args.dataset_path):
235 print(f"❌ 错误: 数据集文件不存在: {args.dataset_path}")
236 sys.exit(1)
237
238 # 验证断点重试文件

Callers 1

run_evaluation.pyFile · 0.70

Calls 8

load_class_from_stringFunction · 0.90
parse_extra_headersFunction · 0.85
parse_extra_paramsFunction · 0.85
load_yamlFunction · 0.85
create_evaluatorFunction · 0.85
existsMethod · 0.45
runMethod · 0.45
run_evaluationMethod · 0.45

Tested by

no test coverage detected