#!/usr/bin/env bash
# ════════════════════════════════════════════════════════════
# 海事问答智能体对比实验 — 启动脚本
# 用法:
#   ./run_experiment.sh rag      # 启动 RAG 模式智能体
#   ./run_experiment.sh wiki     # 启动 Wiki 模式智能体
#   ./run_experiment.sh status   # 查看状态
#   ./run_experiment.sh test     # 运行对比测试
# ════════════════════════════════════════════════════════════

set -e

PROJECT=/home/67/lambdagentpaas
VENV=$PROJECT/.venv
RAG_CONFIG=$PROJECT/agentexample/qaagent67/agent-config.yml
WIKI_CONFIG=$PROJECT/agentexample/qaagent67wiki/agent-config.yml
KNOWLEDGE_DIR=/home/67/knowledge/maritime/raw

source $VENV/bin/activate

case "${1:-status}" in
  rag)
    echo '═══════════════════════════════════════'
    echo '  启动 qaagent67 (RAG 模式) ❓'
    echo '═══════════════════════════════════════'
    cd $PROJECT
    python -m lambdagent run $RAG_CONFIG
    ;;
  wiki)
    echo '═══════════════════════════════════════'
    echo '  启动 qaagent67wiki (Wiki 模式) 📚'
    echo '═══════════════════════════════════════'
    cd $PROJECT
    python -m lambdagent run $WIKI_CONFIG
    ;;
  status)
    echo '=== Ollama 状态 ==='
    ollama list 2>/dev/null || echo 'Ollama 未运行'
    echo ''
    echo '=== 知识库文件 ==='
    echo "PDF 文件数: $(ls $KNOWLEDGE_DIR/*.pdf 2>/dev/null | wc -l)"
    echo "总大小: $(du -sh $KNOWLEDGE_DIR 2>/dev/null | cut -f1)"
    echo ''
    echo '=== 智能体配置 ==='
    echo "RAG:  $RAG_CONFIG"
    echo "Wiki: $WIKI_CONFIG"
    echo ''
    echo '=== Python 环境 ==='
    python --version
    pip list 2>/dev/null | grep -E 'lambdagent|agentpaas|pymupdf'
    ;;
  test)
    echo '═══════════════════════════════════════'
    echo '  Ollama API 测试'
    echo '═══════════════════════════════════════'
    curl -s http://localhost:11434/api/generate       -d '{"model":"qwen2.5:32b","prompt":"请用一句话解释什么是船舶适航证书","stream":false}'       | python3 -c "import sys,json; print(json.load(sys.stdin).get('response','ERROR'))"
    ;;
  *)
    echo "用法: $0 {rag|wiki|status|test}"
    ;;
esac
