forked from admin/PlantAI-rag-new
active_library.env 里 $QA_ROOT 从未定义,QA start.sh 在 set -u 下 source 时报 unbound variable 导致 8091 起不来。改用 prod.env 中已定义的 GENE_FAMILY_ROOT。
23 lines
1.5 KiB
Bash
Executable File
23 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# 渲染 active_library.env:读 <库目录>/manifest.yaml,输出五触点 env。
|
|
# 用法: render_active_library_env.sh <manifest.yaml> <输出文件>
|
|
# config 类路径:manifest 值为相对路径(如 configs/rag/entity_alias.yaml)时渲染为 $GENE_FAMILY_ROOT/<值>;
|
|
# 为空时回退 $GENE_FAMILY_ROOT/configs/rag/<缺省文件名>。registry_path 为空则整行省略。
|
|
set -euo pipefail
|
|
MANIFEST="$1"; OUT="$2"
|
|
release_id="$(awk -F': *' '/^release_id:/ {gsub(/[" ]/, "", $2); print $2; exit}' "$MANIFEST")"
|
|
collection="$(awk -F': *' '/^qdrant_collection:/ {gsub(/[" ]/, "", $2); print $2; exit}' "$MANIFEST")"
|
|
alias_cfg="$(awk -F': *' '/^alias_config:/ {gsub(/[" ]/, "", $2); print $2; exit}' "$MANIFEST")"
|
|
tax_cfg="$(awk -F': *' '/^taxonomy_config:/ {gsub(/[" ]/, "", $2); print $2; exit}' "$MANIFEST")"
|
|
registry="$(awk -F': *' '/^registry_path:/ {gsub(/[" ]/, "", $2); print $2; exit}' "$MANIFEST")"
|
|
[ -n "$release_id" ] || { echo "manifest 缺 release_id" >&2; exit 1; }
|
|
tmp="$OUT.tmp"
|
|
{
|
|
echo "NORMALIZED_RELEASE_ID=$release_id"
|
|
echo "V15_QDRANT_COLLECTION=${collection:-$release_id}"
|
|
[ -n "$alias_cfg" ] && echo "QA_V1_ALIAS_CONFIG=\$GENE_FAMILY_ROOT/$alias_cfg" || echo "QA_V1_ALIAS_CONFIG=\$GENE_FAMILY_ROOT/configs/rag/entity_alias.yaml"
|
|
[ -n "$tax_cfg" ] && echo "QA_V1_TAXONOMY_CONFIG=\$GENE_FAMILY_ROOT/$tax_cfg" || echo "QA_V1_TAXONOMY_CONFIG=\$GENE_FAMILY_ROOT/configs/rag/relation_taxonomy.yaml"
|
|
[ -n "$registry" ] && echo "QA_PAPER_METADATA_REGISTRY=\$GENE_FAMILY_ROOT/$registry"
|
|
} > "$tmp"
|
|
mv "$tmp" "$OUT"
|