CoolFace
Apppublic

v2431/FormulaShowcase

sourceHugging Faceupdated 7mo agoView on Hugging Face
0likes
test_llm.py68 linesDownload Raw Back to root
1#!/usr/bin/env python3
2# -*- coding: utf-8 -*-
3"""
4测试脚本:使用 llm_conclusion.py 生成报告的文字内容部分
5仅使用已有的 llm_result.json 文件,不重新计算其他数据
6本次测试仅基于 r4 场景
7"""
8
9import yaml
10from llm_conclusion import LLMConclusion
11
12def main():
13    # 加载配置
14    with open('config.yaml', 'r', encoding='utf-8') as f:
15        config = yaml.safe_load(f)
16
17    # 初始化 LLMConclusion
18    llm_conclusion = LLMConclusion(config['LLM'])
19    
20    # 测试场景(可以根据需要修改为其他场景,如 r4、r5 等)
21    # 选项1:手动指定要处理的场景
22    # test_scenarios = ["r4"]
23    
24    # 选项2:自动查找results文件夹中的所有结果文件夹
25    import os
26    results_dir = "results"
27    if os.path.exists(results_dir):
28        test_scenarios = [d for d in os.listdir(results_dir) if os.path.isdir(os.path.join(results_dir, d))]
29        print(f"自动检测到 {len(test_scenarios)} 个场景: {test_scenarios}")
30    else:
31        print(f"未找到results文件夹: {results_dir}")
32        return
33    
34    for scenario in test_scenarios:
35        print(f"=== 处理场景: {scenario} ===")
36        
37        # 查找所有以report开头的文件夹
38        scenario_path = f"results/{scenario}"
39        import glob
40        report_dirs = glob.glob(os.path.join(scenario_path, "report*"))
41        
42        if not report_dirs:
43            print(f"跳过 {scenario}: 未找到以report开头的文件夹")
44            print()
45            continue
46            
47        for report_dir in report_dirs:
48            print(f"  处理报告目录: {report_dir}")
49            
50            # 检查llm_result.json文件是否存在
51            llm_result_files = glob.glob(os.path.join(report_dir, "formula_*/llm_result.json"))
52            if not llm_result_files:
53                print(f"  跳过 {report_dir}: 未找到llm_result.json文件")
54                print()
55                continue
56                
57            print(f"  找到 {len(llm_result_files)} 个llm_result.json文件")
58            
59            # 调用 LLMConclusion.run() 方法
60            # 注意:这里会检查报告是否已存在,并询问是否重新生成
61            llm_conclusion.run(report_dir=report_dir, force_regenerate=False)
62        
63        print()
64        
65    print("=== 测试完成 ===")
66
67if __name__ == "__main__":
68    main()