You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

65 lines
1.8 KiB

#!/bin/bash
folderPath=$1
fileName=$2
major=$3
split_size=$4
echo "正在进行文件预处理,请稍后"
python3 step1_pre.py "$folderPath/$fileName" "$major" "$split_size"
echo "文件预处理完成,请查看spilited_ai1文件夹中内容"
echo "现在开始处理AI答案正确检测...第一遍"
i=0
for file in $(ls "$folderPath"/spilited_ai1 | sort -V)
do
echo "启动任务,文件路径是:$folderPath/spilited_ai1/$file"
nohup python3 step2_ai1.py "$folderPath" "$folderPath/spilited_ai1/$file" "$i" > /dev/null 2>&1 &
i=$((i+1))
done
# 检测AI1任务是否完成
while true; do
file_count=$(ls -1 "$folderPath/ai_1" | grep -v '^d' | wc -l)
echo "AI1当前文件数量为"
echo "$file_count"
if [ "$file_count" -ge "$i" ]; then
echo "AI1任务全部完成,继续执行后续操作..."
break
else
echo "未达到"
echo "$i"
echo "个,等待10秒后继续..."
sleep 10
fi
done
echo "现在开始处理AI答案正确检测...第二遍"
j=0
for file in $(ls "$folderPath"/ai_1 | sort -V)
do
echo "启动任务,文件路径是:$folderPath/ai_1/$file"
nohup python3 step3_ai2.py "$folderPath" "$folderPath/ai_1/$file" "$j" > /dev/null 2>&1 &
j=$((j+1))
done
# 检测AI2任务是否完成
while true; do
file_count=$(ls -1 "$folderPath/ai_2" | grep -v '^d' | wc -l)
echo "AI2当前文件数量为"
echo "$file_count"
if [ "$file_count" -ge "$i" ]; then
echo "AI2任务全部完成,继续执行后续操作..."
break
else
echo "未达到"
echo "$i"
echo "个,等待10秒后继续..."
sleep 10
fi
done
echo "现在开始合并最终结果"
cat "$folderPath"/ai_2/* > "$folderPath"/ai_2_total/final_output.jsonl
echo "处理完成,请注意合并数据时课程与后续id重设等操作!"