diff --git a/agent/README.md b/agent/README.md index 5bf3be7..d9c3b58 100644 --- a/agent/README.md +++ b/agent/README.md @@ -2,9 +2,9 @@ | 目录 | 服务 | 端口 | 入口(白名单明文) | conda | |---|---|---|---|---| -| qa/ | QA V1.1.73 断言锚定检索 | 8091(浸泡影子 7921) | scripts/qa_v1_1_73_server.py | gfpy312 | -| methodology/ | Methodology 提取 | 8092(浸泡影子 8001) | scripts/methodology_server.py | gfpy312 | -| legacy-rag/ | 旧路由族(app 3 路由/main 11 族) | 8093(浸泡影子 7911) | api/app.py | plantai-bff | +| qa/ | QA V1.1.73 断言锚定检索 | 8091 | scripts/qa_v1_1_73_server.py | plantai-rag-new-venv | +| methodology/ | Methodology 提取 | 8092 | scripts/methodology_server.py | plantai-rag-new-venv | +| legacy-rag/ | 旧路由族(app 3 路由/main 11 族) | 8093 | api/app.py | plantai-rag-new-venv | | vendor/ | 共享源码池(非服务) | — | — | — | 约束:仅 shell 启动(`scripts/{start,stop,status,restart}.sh`);编译产物 `.so` 隐藏源码;`compile.manifest` 记录模块级白名单。vendor 为源码单份,编译时复制进各 agent 暂存目录。 diff --git a/agent/legacy-rag/api/methodology_routes.py b/agent/legacy-rag/api/methodology_routes.py index 006d1dd..3d0b901 100755 --- a/agent/legacy-rag/api/methodology_routes.py +++ b/agent/legacy-rag/api/methodology_routes.py @@ -32,7 +32,7 @@ REVIEW_RESULTS_CSV = BATCH_DIR / "review_results.csv" # 2026-08-31 新工程适配:上传目录/产出根支持 env 覆盖 UPLOAD_JOBS_DIR = Path(os.environ.get("METHODOLOGY_UPLOAD_JOBS_DIR", PROJECT_ROOT / "data" / "evaluation" / "methodology_upload_jobs")) UPLOAD_OUTPUT_ROOT = Path(os.environ.get("METHODOLOGY_UPLOAD_OUTPUT_ROOT", PROJECT_ROOT / "data" / "evaluation" / "0505")) -DEFAULT_MINERU_CMD = str(conda_env_path("minerupy311") / "bin" / "mineru") +DEFAULT_MINERU_CMD = str(conda_env_path("minerupy312") / "bin" / "mineru") DEFAULT_MINERU_API_URL = "http://127.0.0.1:50215" DEFAULT_MINERU_BACKEND = "hybrid-auto-engine" DEFAULT_MINERU_METHOD = "auto" @@ -554,7 +554,7 @@ def run_uploaded_methodology_job( } ) batch_cmd = [ - str(conda_env_path(os.environ.get("GF_PYTHON_ENV", "gfpy312")) / "bin" / "python"), + str(conda_env_path(os.environ.get("GF_PYTHON_ENV", "/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv")) / "bin" / "python"), "scripts/run_methodology_batch.py", "--papers", str(papers_csv), diff --git a/agent/legacy-rag/scripts/restart.sh b/agent/legacy-rag/scripts/restart.sh index 307ef9c..5072e33 100755 --- a/agent/legacy-rag/scripts/restart.sh +++ b/agent/legacy-rag/scripts/restart.sh @@ -2,6 +2,6 @@ # agent/legacy/scripts/restart.sh —— 重启(停 → 起) set -euo pipefail AGENT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" -PORT="${1:-7920}" +PORT="${1:-8093}" bash "$AGENT_ROOT/scripts/stop.sh" "$PORT" || true bash "$AGENT_ROOT/scripts/start.sh" "$PORT" diff --git a/agent/legacy-rag/scripts/start.sh b/agent/legacy-rag/scripts/start.sh index 447178b..6093ccc 100755 --- a/agent/legacy-rag/scripts/start.sh +++ b/agent/legacy-rag/scripts/start.sh @@ -1,15 +1,15 @@ #!/usr/bin/env bash # agent/legacy-rag/scripts/start.sh —— 旧路由族服务唯一启动接口 -main]|main] +# 用法:bash scripts/start.sh [port] [app|main] # app = 3 路由(生产 7900 同源,默认) / main = 11 路由裁剪版 set -euo pipefail AGENT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" -PORT="${1:-8093}" # 终态端口(浸泡期显式传 7911) +PORT="${1:-8093}" # 终态端口 ENTRY="${2:-app}" ENV_FILE="${LEGACY_ENV_FILE:-$AGENT_ROOT/env/prod.env}" LOG_FILE="${LEGACY_LOG_FILE:-/tmp/plantai-agent-legacy-$PORT.log}" PID_FILE="$AGENT_ROOT/run/legacy-$PORT.pid" -PYTHON="${LEGACY_PYTHON:-/home/xzq/miniconda3/envs/test4py311/bin/python}" +PYTHON="${LEGACY_PYTHON:-/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python}" BIND="${LEGACY_API_HOST:-127.0.0.1}" case "$ENTRY" in diff --git a/agent/legacy-rag/scripts/stop.sh b/agent/legacy-rag/scripts/stop.sh index e064f7b..2881210 100755 --- a/agent/legacy-rag/scripts/stop.sh +++ b/agent/legacy-rag/scripts/stop.sh @@ -2,7 +2,7 @@ # agent/legacy/scripts/stop.sh —— 停止 legacy-rag 服务(停而不删,保留日志/pid 供回滚诊断) set -euo pipefail AGENT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" -PORT="${1:-7920}" +PORT="${1:-8093}" PID_FILE="$AGENT_ROOT/run/legacy-$PORT.pid" if [[ -f "$PID_FILE" ]]; then PID="$(cat "$PID_FILE")" diff --git a/agent/methodology/api/methodology_routes.py b/agent/methodology/api/methodology_routes.py index 3e244f9..847b82f 100755 --- a/agent/methodology/api/methodology_routes.py +++ b/agent/methodology/api/methodology_routes.py @@ -32,7 +32,7 @@ REVIEW_RESULTS_CSV = BATCH_DIR / "review_results.csv" # 2026-08-31 新工程适配:上传目录/产出根支持 env 覆盖(数据根迁移时无需改代码) UPLOAD_JOBS_DIR = Path(os.environ.get("METHODOLOGY_UPLOAD_JOBS_DIR", PROJECT_ROOT / "data" / "evaluation" / "methodology_upload_jobs")) UPLOAD_OUTPUT_ROOT = Path(os.environ.get("METHODOLOGY_UPLOAD_OUTPUT_ROOT", PROJECT_ROOT / "data" / "evaluation" / "0505")) -DEFAULT_MINERU_CMD = str(conda_env_path("minerupy311") / "bin" / "mineru") +DEFAULT_MINERU_CMD = str(conda_env_path("minerupy312") / "bin" / "mineru") DEFAULT_MINERU_API_URL = "http://127.0.0.1:50215" DEFAULT_MINERU_BACKEND = "hybrid-auto-engine" DEFAULT_MINERU_METHOD = "auto" @@ -554,7 +554,7 @@ def run_uploaded_methodology_job( } ) batch_cmd = [ - str(conda_env_path(os.environ.get("GF_PYTHON_ENV", "gfpy312")) / "bin" / "python"), + str(conda_env_path(os.environ.get("GF_PYTHON_ENV", "/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv")) / "bin" / "python"), "scripts/run_methodology_batch.py", "--papers", str(papers_csv), diff --git a/agent/methodology/scripts/restart.sh b/agent/methodology/scripts/restart.sh index 7499c88..3cba82b 100755 --- a/agent/methodology/scripts/restart.sh +++ b/agent/methodology/scripts/restart.sh @@ -2,6 +2,6 @@ # agent/methodology/scripts/restart.sh —— 重启(停 → 起) set -euo pipefail AGENT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" -PORT="${1:-7920}" +PORT="${1:-8092}" bash "$AGENT_ROOT/scripts/stop.sh" "$PORT" || true bash "$AGENT_ROOT/scripts/start.sh" "$PORT" diff --git a/agent/methodology/scripts/start.sh b/agent/methodology/scripts/start.sh index c694a92..c3ab28f 100755 --- a/agent/methodology/scripts/start.sh +++ b/agent/methodology/scripts/start.sh @@ -3,11 +3,11 @@ # 用法:bash scripts/start.sh [port] (默认 8092 终态;浸泡期影子用 8001) set -euo pipefail AGENT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" -PORT="${1:-8092}" # 终态端口(浸泡期显式传 8001) +PORT="${1:-8092}" # 终态端口 ENV_FILE="${METHODOLOGY_ENV_FILE:-$AGENT_ROOT/env/prod.env}" LOG_FILE="${METHODOLOGY_LOG_FILE:-/tmp/plantai-agent-methodology-$PORT.log}" PID_FILE="$AGENT_ROOT/run/methodology-$PORT.pid" -PYTHON="${METHODOLOGY_PYTHON:-/home/xzq/miniconda3/envs/gfpy312/bin/python}" +PYTHON="${METHODOLOGY_PYTHON:-/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python}" BIND="${METHODOLOGY_API_HOST:-0.0.0.0}" mkdir -p "$AGENT_ROOT/run" diff --git a/agent/methodology/scripts/stop.sh b/agent/methodology/scripts/stop.sh index eb0a228..6270501 100755 --- a/agent/methodology/scripts/stop.sh +++ b/agent/methodology/scripts/stop.sh @@ -2,7 +2,7 @@ # agent/methodology/scripts/stop.sh —— 停止 Methodology 服务(停而不删,保留日志/pid 供回滚诊断) set -euo pipefail AGENT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" -PORT="${1:-7920}" +PORT="${1:-8092}" PID_FILE="$AGENT_ROOT/run/methodology-$PORT.pid" if [[ -f "$PID_FILE" ]]; then PID="$(cat "$PID_FILE")" diff --git a/agent/qa/scripts/restart.sh b/agent/qa/scripts/restart.sh index 0e3bf6f..ecad852 100755 --- a/agent/qa/scripts/restart.sh +++ b/agent/qa/scripts/restart.sh @@ -2,6 +2,6 @@ # agent/qa/scripts/restart.sh —— 重启(停 → 起) set -euo pipefail AGENT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" -PORT="${1:-7920}" +PORT="${1:-8091}" bash "$AGENT_ROOT/scripts/stop.sh" "$PORT" || true bash "$AGENT_ROOT/scripts/start.sh" "$PORT" diff --git a/agent/qa/scripts/start.sh b/agent/qa/scripts/start.sh index 94d8da4..0b2a9bf 100755 --- a/agent/qa/scripts/start.sh +++ b/agent/qa/scripts/start.sh @@ -3,11 +3,11 @@ # 用法:bash scripts/start.sh [port] (默认 8091 终态;浸泡期影子用 7921) set -euo pipefail AGENT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" -PORT="${1:-8091}" # 终态端口(浸泡期显式传 7921) +PORT="${1:-8091}" # 终态端口 ENV_FILE="${QA_ENV_FILE:-$AGENT_ROOT/env/prod.env}" LOG_FILE="${QA_LOG_FILE:-/tmp/plantai-agent-qa-$PORT.log}" PID_FILE="$AGENT_ROOT/run/qa-$PORT.pid" -PYTHON="${QA_PYTHON:-/home/xzq/miniconda3/envs/gfpy312/bin/python}" +PYTHON="${QA_PYTHON:-/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python}" mkdir -p "$AGENT_ROOT/run" [[ -x "$PYTHON" ]] || { echo "QA Python 不可执行: $PYTHON" >&2; exit 1; } diff --git a/agent/qa/scripts/stop.sh b/agent/qa/scripts/stop.sh index dde3d56..5408cc2 100755 --- a/agent/qa/scripts/stop.sh +++ b/agent/qa/scripts/stop.sh @@ -2,7 +2,7 @@ # agent/qa/scripts/stop.sh —— 停止 QA 服务(停而不删,保留日志/pid 供回滚诊断) set -euo pipefail AGENT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" -PORT="${1:-7920}" +PORT="${1:-8091}" PID_FILE="$AGENT_ROOT/run/qa-$PORT.pid" if [[ -f "$PID_FILE" ]]; then PID="$(cat "$PID_FILE")" diff --git a/deploy/bff_restart.sh b/deploy/bff_restart.sh old mode 100644 new mode 100755 index 294e484..62aca1f --- a/deploy/bff_restart.sh +++ b/deploy/bff_restart.sh @@ -1,38 +1,39 @@ #!/bin/bash -# deploy/bff_restart.sh —— 远端 BFF 重启(PM 使用,在远端执行) -# 用法:ssh 192.168.0.175 -p 26518 'bash ~/5090/teamWorkspace/zh/PlantAI-rag-new/deploy/bff_restart.sh [bind_addr]' -# 参数:可选绑定地址(默认 127.0.0.1;内网演示传 0.0.0.0) -# 要点:用 setsid 完全脱离 SSH 会话,stdout/stderr 全部落日志。 +# deploy/bff_restart.sh —— 远端 BFF 重启(PM 使用,在远端执行) +# 用法:ssh 192.168.0.175 -p 26518 'bash ~/5090/teamWorkspace/zh/PlantAI-rag-new/deploy/bff_restart.sh [bind_addr]' +# 参数:可选绑定地址(默认 127.0.0.1;内网演示传 0.0.0.0) +# 要点:用 setsid 完全脱离 SSH 会话,stdout/stderr 全部落日志。 +# 2026-09-01 统一 Python:conda plantai-bff → plantai-rag-new-venv(py3.12.13) set -uo pipefail -ROOT="/home/xzq/5090/teamWorkspace/zh/PlantAI-rag-new" +SDK_ROOT="/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-deploy-unified/sdk" +PYTHON="/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python" BIND="${1:-127.0.0.1}" -source ~/miniconda3/etc/profile.d/conda.sh -conda activate plantai-bff +[[ -x "$PYTHON" ]] || { echo "BFF Python 不可执行: $PYTHON" >&2; exit 1; } -# 杀旧进程([u] 正则技巧防 pkill 自匹配) +# 杀旧进程([u] 正则技巧防 pkill 自匹配) pkill -f "[a]pp.main:app" 2>/dev/null sleep 2 -cd "$ROOT/sdk" -# 加载运行时凭据(sdk/.env,不入 git)并导出给应用进程。 -# pydantic-settings 会把 .env 载入 settings 对象,但 services/neo4j.py 的 -# _env() 直接读 os.environ,故需显式 set -a 导出。 +cd "$SDK_ROOT" +# 加载运行时凭据(sdk/.env,不入 git)并导出给应用进程。 +# pydantic-settings 会把 .env 载入 settings 对象,但 services/neo4j.py 的 +# _env() 直接读 os.environ,故需显式 set -a 导出。 set -a [ -f .env ] && source .env set +a -setsid python -m uvicorn app.main:app --host "$BIND" --port 8090 \ +setsid "$PYTHON" -m uvicorn app.main:app --host "$BIND" --port 8090 \ > /tmp/plantai-bff.log 2>&1 < /dev/null & disown sleep 12 if ss -tln | grep -q ":8090 "; then - echo "BFF UP ($BIND:8090)" + echo "BFF UP ($BIND:8090, venv py3.12.13)" curl -s --max-time 20 http://127.0.0.1:8090/api/health | head -c 200 echo - # 生产形态:静态托管 ui/dist(存在时 BFF 单进程服务整个前端) - curl -s --max-time 10 http://127.0.0.1:8090/ | grep -o "[^<]*" || echo "(静态托管未生效,需同步 dist)" + # 生产形态:静态托管 ui/dist(存在时 BFF 单进程服务整个前端) + curl -s --max-time 10 http://127.0.0.1:8090/ | grep -o "<title>[^<]*" || echo "(静态托管未生效,需同步 dist)" else - echo "BFF FAIL —— 日志尾部:" + echo "BFF FAIL —— 日志尾部:" tail -15 /tmp/plantai-bff.log exit 1 fi diff --git a/deploy/start-dev.sh b/deploy/start-dev.sh index 6501e90..34a3ff2 100644 --- a/deploy/start-dev.sh +++ b/deploy/start-dev.sh @@ -3,8 +3,8 @@ set -euo pipefail ROOT="/home/xzq/5090/teamWorkspace/zh/PlantAI-rag-new" echo "== 启动 BFF (127.0.0.1:8090) ==" -(cd "$ROOT/sdk" && source ~/miniconda3/etc/profile.d/conda.sh && conda activate plantai-bff && \ - nohup uvicorn app.main:app --host 127.0.0.1 --port 8090 > /tmp/plantai-bff.log 2>&1 &) +(cd "$ROOT/sdk" && \ + nohup /home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python -m uvicorn app.main:app --host 127.0.0.1 --port 8090 > /tmp/plantai-bff.log 2>&1 &) echo "== 启动 Vite dev (127.0.0.1:5180) ==" (cd "$ROOT/ui" && nohup npm run dev > /tmp/plantai-vite.log 2>&1 &) sleep 3 diff --git a/sdk/run.sh b/sdk/run.sh index 13fb039..41f6e62 100755 --- a/sdk/run.sh +++ b/sdk/run.sh @@ -1,21 +1,12 @@ #!/usr/bin/env bash -# run.sh —— 本地起 BFF(ARCHITECTURE.md §3:127.0.0.1:8090,占用则退 8091)。 -# 用法:bash sdk/run.sh +# run.sh —— 本地起 BFF(ARCHITECTURE.md §3:127.0.0.1:8090,占用则退 8091)。 +# 用法:bash sdk/run.sh +# 2026-09-01 统一 Python:conda plantai-bff → plantai-rag-new-venv(py3.12.13) set -euo pipefail cd "$(dirname "$0")" PORT="${PORT:-8090}" +PYTHON="${PLANTAI_BFF_PYTHON:-/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python}" -if ! command -v conda >/dev/null 2>&1; then - echo "run.sh: 未找到 conda,尝试直接使用当前 python 运行" >&2 - exec python -m uvicorn app.main:app --host 127.0.0.1 --port "$PORT" -fi - -if ! conda env list | awk '{print $1}' | grep -qx "plantai-bff"; then - echo "run.sh: conda 环境 plantai-bff 不存在" >&2 - echo " 创建:conda create -n plantai-bff python=3.11 -y && conda activate plantai-bff && pip install -e '.[dev]'" >&2 - exit 1 -fi - -exec conda run --no-capture-output -n plantai-bff \ - python -m uvicorn app.main:app --host 127.0.0.1 --port "$PORT" +[[ -x "$PYTHON" ]] || { echo "run.sh: 统一 venv 不可执行: $PYTHON" >&2; exit 1; } +exec "$PYTHON" -m uvicorn app.main:app --host 127.0.0.1 --port "$PORT" diff --git a/tooling/build_all.sh b/tooling/build_all.sh index e1ccd41..304ee18 100755 --- a/tooling/build_all.sh +++ b/tooling/build_all.sh @@ -33,13 +33,17 @@ bash "$SCRIPT_DIR/compile/compile_methodology.sh" \ bash "$SCRIPT_DIR/compile/compile_legacy.sh" \ "$PROJECT_ROOT/agent/legacy-rag" "$BUILD_ROOT/compiled/legacy-rag" "$LEGACY_PYTHON" -# ---- 2. 双审计 ---- +# ---- 2. 双审计(各树用编译时的 Python——ABI 后缀必须匹配) ---- echo "[2/6] 编译树审计" AUDIT="$SCRIPT_DIR/compile/tools/audit_compiled_tree.py" +declare -A TREE_PY=( [sdk]="$SDK_PYTHON" [qa]="$QA_PYTHON" [methodology]="$METHODOLOGY_PYTHON" [legacy-rag]="$LEGACY_PYTHON" ) for tree in sdk qa methodology legacy-rag; do - "$SDK_PYTHON" "$AUDIT" --tree "$BUILD_ROOT/compiled/$tree" --project "$tree" --write-marker \ + py="${TREE_PY[$tree]}" + "$py" "$AUDIT" --tree "$BUILD_ROOT/compiled/$tree" --project "$tree" --write-marker \ | python3 -c "import json,sys; r=json.load(sys.stdin); print(f' $tree: ok={r[\"ok\"]} exts={r[\"extension_count\"]}'); sys.exit(0 if r['ok'] else 1)" \ || { echo "$tree 审计失败" >&2; exit 2; } + "$py" "$AUDIT" --tree "$BUILD_ROOT/compiled/$tree" --project "$tree" --require-marker \ + >/dev/null || { echo "$tree marker 校验失败" >&2; exit 2; } done # ---- 3. 冒烟(起服务探 /health,全 .so import 检查) ---- diff --git a/tooling/legacy_plantai_server_package/server.env b/tooling/legacy_plantai_server_package/server.env index 826e47e..e3a810e 100644 --- a/tooling/legacy_plantai_server_package/server.env +++ b/tooling/legacy_plantai_server_package/server.env @@ -47,8 +47,8 @@ SECRETS_DIR=/home/xzq/5090/PlanAI-cooperate/hsj-workspace/encryption-test/server # OUT_DIR=/home/xzq/5090/PlanAI-cooperate/hsj-workspace/encryption-test/server/plantai_server_package/out/1.0.0 # 与目标部署环境 ABI 一致的 Python。 -PLANTAI_PYTHON=/home/xzq/miniconda3/envs/test4py311/bin/python -QA_PYTHON=/home/xzq/miniconda3/envs/gfpy312/bin/python +PLANTAI_PYTHON=/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python +QA_PYTHON=/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python # 供应商私钥口令文件,权限应为 600。 SUPPLIER_KEY_PASSPHRASE_FILE=/home/xzq/5090/PlanAI-cooperate/hsj-workspace/encryption-test/server/plantai_server_package/secrets/private_key.pass diff --git a/tooling/requirements.lock b/tooling/requirements.lock new file mode 100644 index 0000000..93ced41 --- /dev/null +++ b/tooling/requirements.lock @@ -0,0 +1,130 @@ +aiofiles==25.1.0 +aiohappyeyeballs==2.6.2 +aiohttp==3.13.5 +aiosignal==1.4.0 +aiosqlite==0.22.1 +annotated-doc==0.0.5 +annotated-types==0.8.0 +anyio==4.14.2 +attrs==26.1.0 +biopython==1.87 +certifi==2026.7.22 +charset-normalizer==3.5.1 +click==8.4.2 +coverage==7.15.4 +Cython==3.2.8 +distro==1.9.0 +et_xmlfile==2.0.0 +faiss-cpu==1.14.3 +fastapi==0.141.1 +filelock==3.29.4 +frozenlist==1.8.0 +fsspec==2026.6.0 +greenlet==3.5.1 +grpcio==1.80.0 +h11==0.16.0 +h2==4.3.0 +hf-xet==1.5.1 +hpack==4.1.0 +httpcore==1.0.9 +httpcore2==2.12.0 +httptools==0.8.0 +httpx==0.28.1 +httpx-sse==0.4.3 +httpx2==2.12.0 +huggingface_hub==1.19.0 +hyperframe==6.1.0 +idna==3.19 +iniconfig==2.3.0 +Jinja2==3.1.6 +jiter==0.16.0 +joblib==1.5.3 +jsonpatch==1.33 +jsonpointer==3.1.1 +langchain==1.3.2 +langchain-classic==1.0.7 +langchain-community==0.4.2 +langchain-core==1.4.0 +langchain-huggingface==1.2.2 +langchain-protocol==0.0.16 +langchain-text-splitters==1.1.2 +langgraph==1.2.2 +langgraph-checkpoint==4.1.1 +langgraph-prebuilt==1.1.0 +langgraph-sdk==0.3.15 +langsmith==0.8.7 +loguru==0.7.3 +lxml==6.1.2 +markdown-it-py==4.2.0 +MarkupSafe==3.0.3 +mdurl==0.1.2 +mpmath==1.3.0 +multidict==6.7.1 +narwhals==2.25.0 +neo4j==6.2.0 +networkx==3.6.1 +numpy==2.4.6 +openai==3.3.1 +openpyxl==3.1.5 +orjson==3.11.9 +ormsgpack==1.12.2 +packaging==26.3 +pandas==3.0.5 +pluggy==1.6.0 +portalocker==3.2.0 +propcache==0.5.2 +protobuf==7.35.0 +pydantic==2.13.4 +pydantic-settings==2.15.0 +pydantic_core==2.46.4 +Pygments==2.21.0 +pymupdf==1.28.2 +pytest==9.1.1 +pytest-asyncio==1.4.0 +pytest-cov==7.1.0 +python-dateutil==2.9.0.post0 +python-docx==1.1.2 +python-dotenv==1.2.3 +python-multipart==0.0.32 +pytz==2026.3.post1 +PyYAML==6.0.3 +qdrant-client==1.18.0 +rank-bm25==0.2.2 +redis==8.0.0 +regex==2026.5.9 +requests==2.34.2 +requests-toolbelt==1.0.0 +respx==0.23.1 +rich==15.0.0 +safetensors==0.8.0 +scikit-learn==1.9.0 +scipy==1.17.1 +sentence-transformers==5.6.0 +setuptools==81.0.0 +shellingham==1.5.4 +six==1.17.0 +sniffio==1.3.1 +SQLAlchemy==2.0.50 +starlette==1.6.0 +sympy==1.14.0 +tenacity==9.1.4 +threadpoolctl==3.6.0 +tokenizers==0.22.2 +torch==2.13.0+cpu +tqdm==4.67.3 +transformers==5.12.1 +truststore==0.10.4 +typer==0.25.1 +typing-inspection==0.4.4 +typing_extensions==4.16.0 +urllib3==2.7.0 +uuid_utils==0.16.0 +uvicorn==0.52.4 +uvloop==0.22.1 +watchfiles==1.2.0 +websockets==16.0 +wheel==0.47.0 +xlrd==2.0.1 +xxhash==3.7.0 +yarl==1.24.2 +zstandard==0.25.0 diff --git a/tooling/tooling.env b/tooling/tooling.env index 32f8c2a..06af9c5 100644 --- a/tooling/tooling.env +++ b/tooling/tooling.env @@ -6,11 +6,11 @@ VERSION=2.0.0 PROJECT_ROOT=/home/xzq/5090/teamWorkspace/zh/PlantAI-rag-new # 编译 Python 环境(ABI 各服务独立) -SDK_PYTHON=/home/xzq/miniconda3/envs/plantai-bff/bin/python -QA_PYTHON=/home/xzq/miniconda3/envs/gfpy312/bin/python -METHODOLOGY_PYTHON=/home/xzq/miniconda3/envs/gfpy312/bin/python -LEGACY_PYTHON=/home/xzq/miniconda3/envs/test4py311/bin/python # 仅编译;运行用 plantai-bff -LEGACY_RUN_PYTHON=/home/xzq/miniconda3/envs/plantai-bff/bin/python +SDK_PYTHON=/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python +QA_PYTHON=/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python +METHODOLOGY_PYTHON=/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python +LEGACY_PYTHON=/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python +LEGACY_RUN_PYTHON=/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python # KB(定版后启用 SKIP_KB=0) SKIP_KB=1