-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun_oneclick.sh
More file actions
executable file
·86 lines (70 loc) · 2.51 KB
/
Copy pathrun_oneclick.sh
File metadata and controls
executable file
·86 lines (70 loc) · 2.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/usr/bin/env bash
set -euo pipefail
# =========================
# 手动填写你的 API Keys(必填)
# =========================
DEEPSEEK_API_KEY="YOUR_DEEPSEEK_API_KEY_HERE"
TAVILY_API_KEY="YOUR_TAVILY_API_KEY_HERE"
# =========================
# 可选运行参数(可按需修改)
# =========================
QUERY_DEFAULT="什么是量子计算?"
MAX_REFLECTION_LOOPS="1"
LOG_LEVEL="INFO"
RESULTS_DIR="runs"
CONDA_ENV_NAME="multiAgents"
PRECHECK_ONLY="${PRECHECK_ONLY:-0}"
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$ROOT_DIR"
CONDA_CMD="CONDA_NO_PLUGINS=true conda"
if ! command -v conda >/dev/null 2>&1; then
echo "[ERROR] 未找到 conda,请先安装 Miniconda/Anaconda"
exit 1
fi
if [[ "$DEEPSEEK_API_KEY" == "PASTE_YOUR_DEEPSEEK_API_KEY_HERE" || -z "$DEEPSEEK_API_KEY" ]]; then
echo "[ERROR] 请先在 run_oneclick.sh 内设置 DEEPSEEK_API_KEY"
exit 1
fi
if [[ "$TAVILY_API_KEY" == "PASTE_YOUR_TAVILY_API_KEY_HERE" || -z "$TAVILY_API_KEY" ]]; then
echo "[ERROR] 请先在 run_oneclick.sh 内设置 TAVILY_API_KEY"
exit 1
fi
if [[ ! -f "requirements.txt" ]]; then
echo "[ERROR] 当前目录缺少 requirements.txt: $ROOT_DIR"
exit 1
fi
if ! eval "$CONDA_CMD env list" | awk '{print $1}' | grep -qx "$CONDA_ENV_NAME"; then
echo "[ERROR] conda 环境 '$CONDA_ENV_NAME' 不存在。"
echo " 请先手动创建该环境后再运行脚本。"
exit 1
fi
# 激活 conda 虚拟环境
eval "$(CONDA_NO_PLUGINS=true conda shell.bash hook)"
conda activate "$CONDA_ENV_NAME"
echo "[INFO] 升级 pip 并安装依赖..."
python -m pip install --upgrade pip >/dev/null
python -m pip install -r requirements.txt
# 兼容导入:代码中使用 v2_paragraph_reflective.*,当前仓库文件在根目录
BOOTSTRAP_DIR="$ROOT_DIR/.bootstrap_pkg"
PKG_LINK="$BOOTSTRAP_DIR/v2_paragraph_reflective"
mkdir -p "$BOOTSTRAP_DIR"
if [[ -L "$PKG_LINK" || -e "$PKG_LINK" ]]; then
rm -rf "$PKG_LINK"
fi
ln -s "$ROOT_DIR" "$PKG_LINK"
export PYTHONPATH="$BOOTSTRAP_DIR:${PYTHONPATH:-}"
if [[ "$PRECHECK_ONLY" == "1" ]]; then
echo "[DONE] 预检完成(已激活 $CONDA_ENV_NAME 并安装依赖),未执行主流程。"
exit 0
fi
QUERY="${1:-$QUERY_DEFAULT}"
echo "[INFO] 启动 MARDS..."
echo "[INFO] Query: $QUERY"
python main.py \
--deepseek_key "$DEEPSEEK_API_KEY" \
--tavily_key "$TAVILY_API_KEY" \
--query "$QUERY" \
--results_dir "$RESULTS_DIR" \
--max_reflection_loops "$MAX_REFLECTION_LOOPS" \
--log_level "$LOG_LEVEL"
echo "[DONE] 全流程执行完成,结果目录: $RESULTS_DIR"