triage/analysis/run_analysis.sh
iomgaa 7c723fbc4b 删除废弃的disease_analyst智能体模块
删除了不再使用的disease_analyst模块的所有相关文件:
- agent.py: 疾病分析智能体主逻辑
- prompt.py: 疾病分析提示模板
- response_model.py: 响应数据模型
- __init__.py: 模块初始化文件

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-03 21:44:01 +08:00

158 lines
4.5 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# -*- coding: utf-8 -*-
# AIM智能体系统分析工具自动化脚本
# 用法: ./run_analysis.sh results/results0902
#
# Author: ycz copilot
# 移除set -e改为手动错误处理
# set -e
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
print_info() { echo -e "${BLUE}[INFO]${NC} $1"; }
print_success() { echo -e "${GREEN}[SUCCESS]${NC} $1"; }
print_warning() { echo -e "${YELLOW}[WARNING]${NC} $1"; }
print_error() { echo -e "${RED}[ERROR]${NC} $1"; }
# 检查参数
if [ $# -eq 0 ]; then
print_error "请提供数据目录路径"
echo "用法: $0 <data_dir_path>"
echo "示例: $0 results/results0902"
exit 1
fi
RESULTS_DIR=$1
OUTPUT_DIR="analysis/$(basename ${RESULTS_DIR} | sed 's/results//')"
print_info "开始运行AIM智能体系统分析..."
print_info "数据目录: ${RESULTS_DIR}"
print_info "输出目录: ${OUTPUT_DIR}"
# 检查数据目录
if [ ! -d "${RESULTS_DIR}" ]; then
print_error "数据目录不存在: ${RESULTS_DIR}"
exit 1
fi
# 检查是否存在.jsonl文件
if [ -z "$(ls -A ${RESULTS_DIR}/*.jsonl 2>/dev/null)" ]; then
print_error "数据目录中没有找到.jsonl文件: ${RESULTS_DIR}"
exit 1
fi
# 创建输出目录
mkdir -p "${OUTPUT_DIR}"
# 检查并安装依赖
print_info "检查Python依赖包..."
for package in matplotlib numpy; do
if ! uv run python -c "import $package" 2>/dev/null; then
print_info "安装缺失的依赖包: $package"
uv add "$package"
fi
done
# 运行分析脚本的函数
run_script() {
local script=$1
local name=$(basename "$script" .py)
print_info "运行: ${name}"
# 执行Python脚本捕获错误但继续运行
print_info "执行命令: uv run python analysis/${script} ${RESULTS_DIR} ${OUTPUT_DIR}"
# 使用临时变量存储退出状态
local exit_code=0
uv run python "analysis/${script}" "${RESULTS_DIR}" "${OUTPUT_DIR}" || exit_code=$?
if [ $exit_code -eq 0 ]; then
print_success "${name} 执行成功"
return 0
else
print_error "${name} 执行失败 (退出码: $exit_code)"
return 1
fi
}
# 主执行流程
print_info "==============================================="
print_info "AIM智能体系统自动化分析工具"
print_info "==============================================="
success=0
total=0
# 1. 首先运行完成度检查(预处理步骤)
print_info "=========================================="
print_info "步骤1: 检查工作流完成度"
print_info "=========================================="
if uv run python "analysis/workflow_completeness_checker.py" "${RESULTS_DIR}" "${OUTPUT_DIR}"; then
print_success "工作流完成度检查成功"
else
print_error "工作流完成度检查失败"
exit 1
fi
print_info ""
print_info "=========================================="
print_info "步骤2: 运行分析脚本(仅处理完成的文件)"
print_info "=========================================="
# 要运行的分析脚本列表
scripts=(
"medical_workflow_analysis.py"
"evaluate_metrics_analysis.py"
"triage_accuracy_analysis.py"
"extract_error_cases.py"
"failed_tasks_analyzer.py"
)
# 运行各个分析脚本
for script in "${scripts[@]}"; do
if [ -f "analysis/${script}" ]; then
print_info "----------------------------------------"
print_info "准备执行脚本: ${script}"
((total++))
if run_script "$script"; then
((success++))
print_info "脚本 ${script} 执行完成"
else
print_error "脚本 ${script} 执行失败"
fi
else
print_warning "脚本不存在: analysis/${script}"
fi
done
print_info "----------------------------------------"
print_info "分析完成: 成功 ${success}/${total} 个脚本"
if [ $success -eq $total ] && [ $total -gt 0 ]; then
print_success "所有分析脚本执行成功!"
elif [ $success -gt 0 ]; then
print_warning "部分分析脚本执行成功 (${success}/${total})"
else
print_error "所有分析脚本执行失败"
fi
if [ $success -gt 0 ]; then
print_info "分析结果已保存到: ${OUTPUT_DIR}"
if [ -d "${OUTPUT_DIR}" ]; then
print_info "生成的文件:"
find "${OUTPUT_DIR}" -type f \( -name "*.png" -o -name "*.json" -o -name "*.csv" -o -name "*.md" -o -name "*.txt" \) | sort | sed 's|.*/| - |'
fi
else
print_error "未生成任何分析结果"
fi
print_success "AIM智能体系统分析完成"