# GraphRAG + SearXNG + Qwen3-Max 自动进化方案 ## 1. 目标 当本地知识库无法回答或置信度低时,自动触发外部搜索并增量更新 GraphRAG。 ## 2. 闭环逻辑 1) 触发检索:从 `automation/queries.txt` 或业务侧低置信度触发(可选追加随机词,避免关键词完全一致) 2) 外部搜索:调用本地 SearXNG(Docker 部署,`SEARXNG_BASE_URL` 指向服务地址) 3) LLM 精炼:用 qwen3-max 提取核心事实 4) 增量写入:追加到 GraphRAG 输入文件 5) 增量索引:执行 `graphrag.index --incremental` ## 3. 关键文件 - 脚本:`tools/auto_evolve/evolve.py` - 查询队列:`automation/queries.txt` - 查询历史:`automation/query_history.jsonl` - 状态文件:`automation/status.json` - 日志目录:`automation/logs/` - GraphRAG 输入:`/root/ca_v3/cps/input/auto_learning.txt` ## 4. 环境变量(见 `.env`) - `SEARXNG_BASE_URL` - `SEARXNG_SEARCH_PATH` - `SEARXNG_LANGUAGE`、`SEARXNG_CATEGORIES`、`SEARXNG_SAFESEARCH` - `SEARXNG_PROXY_LIST_URL`(可选,启用代理轮转) - `SEARXNG_TIMEOUT`、`SEARXNG_PROXY_TIMEOUT`(搜索超时配置) - `SEARXNG_PROXY_MAX_FAILURES`(代理失败上限,超过将本轮切换直连) - `SEARXNG_PROXY_COOLDOWN_MINUTES`(代理失败冷却时间,自动暂停代理) - `SEARXNG_FORCE_PROXY`(强制对 SearXNG 请求使用代理) - `LLM_CHAT_COMPLETIONS_URL`、`LLM_API_KEY`、`LLM_DEFAULT_MODEL` - `LLM_PROVIDER_HEADER`(如:`qwen-ai-sms`) - `LLM_DEEP_THINK=true` 时,会提示模型去伪存真 - `GRAPHRAG_ROOT`、`GRAPHRAG_INPUT_PATH`、`GRAPHRAG_INDEX_CMD` - `AUTO_QUERY_PATH`、`AUTO_STATE_PATH`、`AUTO_STATUS_PATH`、`AUTO_LOG_DIR` - `AUTO_QUERY_HISTORY_PATH` ## 5. 定时任务 系统采用 systemd timer 周期运行脚本,基础间隔 2 分钟。当前默认固定 2 分钟(step=0),如需递增可调整配置: - 当前:每 2 分钟检查一次(如满足间隔则执行) - 可选递增:每执行 5 次,间隔增加 `AUTO_INTERVAL_STEP_MINUTES` - 上限:`AUTO_INTERVAL_MAX_MINUTES` systemd timer 负责触发检查(2 分钟),脚本内部根据运行次数决定是否真正执行。 定时服务: - service: `bid-knowledge-evolve.service` - timer: `bid-knowledge-evolve.timer` 可配置项(`.env`): - `AUTO_INTERVAL_MINUTES=2` - `AUTO_INTERVAL_STEP_MINUTES=0` - `AUTO_INTERVAL_MAX_MINUTES=2` - `AUTO_INTERVAL_STEP_RUNS=5` - `AUTO_QUERY_RANDOMIZE=true` - `AUTO_QUERY_RANDOM_PROBABILITY=1.0` - `AUTO_QUERY_RANDOM_MODE=append` - `AUTO_QUERY_RANDOM_TERMS`(可选,`|` 分隔,空则使用内置随机词表) - `SEARXNG_BASE_URL` - `SEARXNG_SEARCH_PATH=/search` - `SEARXNG_LANGUAGE=zh-CN` - `SEARXNG_CATEGORIES` - `SEARXNG_SAFESEARCH=0` - `SEARXNG_PROXY_LIST_URL`(可选,代理轮转) ## 6. 监控页面 - 访问:`https://bid.hao.work/docs/automation` - 展示:最近运行时间、错误、增量结果、日志 ## 7. 手动运行 ```bash python3 tools/auto_evolve/evolve.py --query "2026年量子计算商用化标准" ```