11#! /bin/bash
2- set -e
2+ set -e
33# ===============================================================================
44# 1. 配置区域 - 用户只需修改这里
55# ===============================================================================
6- SUFFIX=" newjudge " # 实验后缀,影响所有日志和实验名称
7- PREFIX=" ajet_newjudge " # 实验前缀,影响日志和实验所在文件夹
6+ SUFFIX=" deepfinance " # 实验后缀,影响所有日志和实验名称
7+ PREFIX=" ajet_deepfinance " # 实验前缀,影响日志和实验所在文件夹
88
99# OpenJudge 模型配置
10- OPENJUDGE_LLM= ' qwen-flash ' # OpenJudge 评分模型
11- RM_LLM =' qwen-max ' # RM Gallery 评分模型
12- JUDGE_CONCURRENCY=10
13-
10+ # finance_llm 可单独配置 Finance 评估使用的模型,留空则复用 OPENJUDGE_LLM
11+ OPENJUDGE_LLM =' qwen-flash ' # OpenJudge 评分模型(用于通用评估)
12+ FINANCE_LLM= ' qwen-max ' # Finance 评估专用模型(可选,留空则复用 OPENJUDGE_LLM)
13+ JUDGE_CONCURRENCY=20
1414# 奖励权重配置
15- RM_WEIGHT=0.5
16- PRESENTATION_QUALITY_WEIGHT=0.25
17- GROUNDING_WEIGHT=0.25
18- CGCV_WEIGHT=0.0 # 不使用 CGCV,设为 0
19- AUDIT_WEIGHT=0.0 # 不使用 Audit,设为 0
20- TRACEABILITY_WEIGHT=0.0 # 不使用 Traceability,设为 0
21- EBTU_WEIGHT=0.0 # 不使用 EBTU,设为 0
22-
15+ # rm_weight 现在对应 FinanceCompositionEvaluator(基于 OpenJudge)
16+ RM_WEIGHT=0.5 # Finance 评估权重(stock_analysis/industry/macro/event/search)
17+ PRESENTATION_QUALITY_WEIGHT=0.2 # 报告呈现质量
18+ GROUNDING_WEIGHT=0.1 # 引用规范性评估
19+ AUDIT_WEIGHT=0.2 # 引用逻辑审计
2320# 训练参数配置
24- NUM_REPEAT=4 # group size,每个query rollout NUM_REPEAT次
25- TRAIN_BATCH_SIZE=32 # 训练batchsize
26- NUM_STEPS=6 # 每个样本step轮数
21+ NUM_REPEAT=4 # group size,每个query rollout NUM_REPEAT次
22+ TRAIN_BATCH_SIZE=32 # 训练batchsize
23+ NUM_STEPS=10 # 每个样本step轮数
2724DEEPFINANCE_TOOL_RESULT_MAX_CHARS=10000
2825
2926# Env Service URL 配置
3027ENV_SERVICE_URL=" http://127.0.0.1:8080" # 环境服务地址
3128
3229# 主目录(需要更改)
33- export AJET_ROOT=" /mnt/data_cpfs/taoshuchang.tsc/deepresearch/AgentJet_new "
30+ export AJET_ROOT=" /path/to/agent_jet "
3431
35- NNODES=${WORLD_SIZE}
32+ NNODES=${WORLD_SIZE:- 1}
33+ GPUS_PER_NODE=8
34+ CURRENT_TIME=$( date " +%Y%m%d_%H%M%S" )
35+ LOG_DIR=" ${AJET_ROOT} /logs/${PREFIX} "
36+ TRAIN_LOG=" ${LOG_DIR} /train_${SUFFIX} _${CURRENT_TIME} .log"
37+ mkdir -p ${LOG_DIR}
3638
3739# 涉密的配置(API_KEY以及模型、数据位置)从.env读取
3840cd ${AJET_ROOT}
@@ -48,12 +50,15 @@ if [ -f "$ENV_FILE" ]; then
4850else
4951 echo -e " \033[31m警告: 找不到 .env 文件: $ENV_FILE \033[0m"
5052fi
53+ export TRAIN_DATA_PATH=" /mnt/data_cpfs/taoshuchang.tsc/deepresearch/AgentJet_new/tutorial/example_deep_finance/data/train_merged_all.json"
54+ export TRAIN_REF_ANS_PATH=" /mnt/data_cpfs/taoshuchang.tsc/deepresearch/AgentJet_new/tutorial/example_deep_finance/data/Reference_merged_all.json"
55+
5156
5257# ===============================================================================
5358# 2. 动态生成配置文件 (从yaml template生成yaml)
5459# ===============================================================================
5560# 修改:配置文件生成路径,现在动态生成到 yaml 目录下
56- CONFIG_TEMPLATE=" tutorial/example_deep_finance/deep_finance .yaml"
61+ CONFIG_TEMPLATE=" tutorial/example_deep_finance/yaml_template/deepfinance_template .yaml"
5762CONFIG_FILE=" ${AJET_ROOT} /tutorial/example_deep_finance/yaml/${SUFFIX} .yaml"
5863mkdir -p $( dirname ${CONFIG_FILE} )
5964
@@ -64,10 +69,8 @@ sed -e "s|{{SUFFIX}}|${SUFFIX}|g" \
6469 -e " s|{{RM_WEIGHT}}|${RM_WEIGHT} |g" \
6570 -e " s|{{PRESENTATION_QUALITY_WEIGHT}}|${PRESENTATION_QUALITY_WEIGHT} |g" \
6671 -e " s|{{GROUNDING_WEIGHT}}|${GROUNDING_WEIGHT} |g" \
67- -e " s|{{CGCV_WEIGHT}}|${CGCV_WEIGHT} |g" \
6872 -e " s|{{AUDIT_WEIGHT}}|${AUDIT_WEIGHT} |g" \
69- -e " s|{{TRACEABILITY_WEIGHT}}|${TRACEABILITY_WEIGHT} |g" \
70- -e " s|{{EBTU_WEIGHT}}|${EBTU_WEIGHT} |g" \
73+ -e " s|{{FINANCE_LLM}}|${FINANCE_LLM} |g" \
7174 -e " s|{{OPENJUDGE_LLM}}|${OPENJUDGE_LLM} |g" \
7275 -e " s|{{RM_LLM}}|${RM_LLM} |g" \
7376 -e " s|{{JUDGE_CONCURRENCY}}|${JUDGE_CONCURRENCY} |g" \
@@ -79,11 +82,19 @@ sed -e "s|{{SUFFIX}}|${SUFFIX}|g" \
7982 -e " s|{{TRAIN_REF_ANS_PATH}}|${TRAIN_REF_ANS_PATH} |g" \
8083 -e " s|{{VAL_REF_ANS_PATH}}|${VAL_REF_ANS_PATH} |g" \
8184 -e " s|{{CKPT_SAVE_PATH}}|${CKPT_SAVE_PATH} |g" \
85+ -e " s|{{MAX_MODEL_LEN}}|${MAX_MODEL_LEN} |g" \
8286 -e " s|{{ENV_SERVICE_URL}}|${ENV_SERVICE_URL} |g" \
8387 ${AJET_ROOT} /${CONFIG_TEMPLATE} > ${CONFIG_FILE}
8488
8589echo " 配置文件已生成: ${CONFIG_FILE} "
86- echo " 参数确认: RM=${RM_WEIGHT} , PresentationQuality=${PRESENTATION_QUALITY_WEIGHT} , Grounding=${GROUNDING_WEIGHT} , CGCV=${CGCV_WEIGHT} , Audit=${AUDIT_WEIGHT} , Traceability=${TRACEABILITY_WEIGHT} , EBTU=${EBTU_WEIGHT} , OpenJudge=${OPENJUDGE_LLM} , RM_LLM=${RM_LLM} "
90+ echo " === OpenJudge Finance 配置 ==="
91+ echo " Finance评估权重: ${RM_WEIGHT} (使用 FinanceCompositionEvaluator)"
92+ echo " Finance评估模型: ${FINANCE_LLM_DISPLAY} "
93+ echo " PresentationQuality: ${PRESENTATION_QUALITY_WEIGHT} "
94+ echo " Grounding: ${GROUNDING_WEIGHT} "
95+ echo " CGCV: ${CGCV_WEIGHT} "
96+ echo " Audit: ${AUDIT_WEIGHT} "
97+ echo " OpenJudge LLM: ${OPENJUDGE_LLM} "
8798
8899# ===============================================================================
89100# 3. 环境配置
@@ -112,7 +123,7 @@ cat > ${DEEPFINANCE_MCP_CONFIG} << EOF
112123 }
113124}
114125EOF
115- export DEEPFINANCE_MCP_CONFIG DEEPFINANCE_TOOL_RESULT_MAX_CHARS
126+ export DEEPFINANCE_MCP_CONFIG DEEPFINANCE_TOOL_RESULT_MAX_CHARS
116127
117128# 其他服务配置
118129HF_ENDPOINT=" https://hf-mirror.com"
@@ -121,16 +132,12 @@ export HF_ENDPOINT ES_HOSTS
121132
122133# log 文件位置
123134CURRENT_TIME=$( date " +%Y%m%d_%H%M%S" )
124- LOG_DIR=" ${AJET_ROOT} /logs/${PREFIX} "
125- MASTER_IP_FILE=" ${LOG_DIR} /master-ip_${SUFFIX} .log"
126- ENV_SERVICE_LOG=" ${LOG_DIR} /env_service_${SUFFIX} _${CURRENT_TIME} .log"
127- TRAIN_LOG=" ${LOG_DIR} /train_${SUFFIX} _${CURRENT_TIME} .log"
128135env_log_prefix=" ${SUFFIX} __${CURRENT_TIME} "
136+ MASTER_IP_FILE=" ${LOG_DIR} /master-ip_${SUFFIX} .log"
137+
129138# 多机训练参数配置
130- GPUS_PER_NODE=8
131139EXPECTED_WORKERS=$WORLD_SIZE
132140
133-
134141# ===============================================================================
135142# 4. 工具函数 以及 NCCL 配置(固定)
136143# ===============================================================================
@@ -165,17 +172,22 @@ export NCCL_ASYNC_ERROR_HANDLING=1
165172# 5. 工具envservice 环境变量
166173# ===============================================================================
167174
168- export PYTHONPATH=" ${AJET_ROOT} :${PYTHONPATH} "
175+ export PYTHONPATH=" ${AJET_ROOT} :${OPENJUDGE_ROOT} : ${ PYTHONPATH}"
169176export RAY_CLUSTER_MODE=" multi_node"
170- export DEEPFINANCE_PATH=" ${ENV_SERVICE_ROOT} " # AgentJet 内部可能使用此路径
177+ export DEEPFINANCE_PATH=" ${ENV_SERVICE_ROOT} "
171178export DEEPFINANCE_SCRIPT=" source /mnt/data/taoshuchang.tsc/anaconda3/etc/profile.d/conda.sh && conda activate finworld_1209 && cd ${ENV_SERVICE_ROOT} && DEEPFINANCE_TOOL_RESULT_MAX_CHARS=${DEEPFINANCE_TOOL_RESULT_MAX_CHARS} DEEPFINANCE_MCP_CONFIG=${DEEPFINANCE_MCP_CONFIG} CACHE_TYPE=${CACHE_TYPE} MONGO_URI=${MONGO_URI} MONGO_DB_NAME=${MONGO_DB_NAME} MONGO_COLLECTION_NAME=${MONGO_COLLECTION_NAME} python -m env_service.env_service --env finworld --portal 0.0.0.0 --port 8080"
179+ # 打印 PYTHONPATH 确认
180+ echo " === PYTHONPATH 配置 ==="
181+ echo " AJET_ROOT: ${AJET_ROOT} "
182+ echo " OPENJUDGE_ROOT: ${OPENJUDGE_ROOT} "
172183
173184
174185# ===============================================================================
175186# 6. 主流程
176187# ===============================================================================
177188log " 开始多机多卡训练: ${SUFFIX} "
178189log " 节点数: ${NNODES} , 每节点GPU数: ${GPUS_PER_NODE} "
190+ log " 使用 OpenJudge FinanceCompositionEvaluator 进行 Finance 评估"
179191mkdir -p ${LOG_DIR}
180192mkdir -p $( dirname ${CONFIG_FILE} )
181193
@@ -208,8 +220,10 @@ if [[ $HOSTNAME == *"-master-"* ]]; then
208220 export RAY_ADDRESS=" ray://localhost:10001"
209221
210222 print_green " ==================================="
211- print_green " Training Configuration "
223+ print_green " OpenJudge Finance Training "
212224 print_green " Total GPUs: $(( NNODES * GPUS_PER_NODE)) "
225+ print_green " OpenJudge LLM: ${OPENJUDGE_LLM} "
226+ print_green " Finance Weight: ${RM_WEIGHT} "
213227 print_green " Log: ${TRAIN_LOG} "
214228 print_green " ==================================="
215229
232246 ray stop || true
233247 ray start --address $MASTER_ADDR :6379 --num-gpus 8
234248 while true ; do sleep 60; done
235- fi
249+ fi
0 commit comments