# ============================================================================= # 唯一环境变量模板:复制为同目录 .env 后填写(.env 勿提交仓库) # copy .env.example .env (Windows) # cp .env.example .env (Linux/macOS) # # 阅读方式:每节以 “# --- ... ---” 开头,首行说明「干什么、和哪几节互斥」; # 要换跑法时,按该节里的注释行取消注释,并把其它方案里会冲突的 MA_LLM* / 凭据 改回注释。 # ============================================================================= # --- 数据工作区根目录(可选;不填=本仓库根目录,数据在 ./data/JD/;数据盘与代码分离时再填绝对路径须可写)--- # LOW_GI_PROJECT_ROOT=D:\data\low-gi-workspace # --- Django(站点密钥与调试;生产须改 SECRET 与 DEBUG)--- DJANGO_SECRET_KEY=please-change-me DJANGO_DEBUG=True DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1 # 可选:SQLite 绝对路径;不填则使用 backend/db.sqlite3 # DJANGO_SQLITE_PATH=D:\PythonProject\Low GI\market_assistant\backend\db.sqlite3 # --- 浏览器访问前端时的 Origin(开发:Vite 5173;生产改为实际域名;与 CORS/CSRF 成对改)--- CORS_ALLOWED_ORIGINS=http://localhost:5173,http://127.0.0.1:5173 CSRF_TRUSTED_ORIGINS=http://localhost:5173,http://127.0.0.1:5173 # --- LLM ① 自建/兼容网关(与 pipeline.openai_gateway 共用;商详多模、配料/视觉走下面 OPENAI_* + OPENAI_VISION_MODEL)--- # OPENAI_API_KEY=sk-your-key-here # OPENAI_BASE_URL=https://llm.example.com/v1 # OPENAI_VISION_MODEL=Qwen/Qwen3-Omni-30B-A3B # 若 ② 选方案 A:纯文本默认也走 ① 的 Key/基址,但可只用下面两枚变量「只拆纯文本」:任一项不设则回退 ① # OPENAI_TEXT_API_KEY=(与配料/视觉同网关不同 Key、或分账号) # OPENAI_TEXT_BASE_URL=(可仅换路径/集群,仍与 ① 同域名) # 若 OPENAI_BASE_URL=https://llm.rekeymed.com/v1,可用 Key 调 GET /v1/models 看 id;以下为某次查询示例(以实际返回为准): # Qwen/Qwen3-Omni-30B-A3B # openai/gpt-oss-120b # zai-org/GLM-4.5-Air # 纯文本专用模型名(不填时回退 OPENAI_VISION_MODEL / LLM_MODEL 等;与多模可不同) # OPENAI_TEXT_MODEL= # 别名:LLM_API_KEY、LLM_BASE_URL、LLM_MODEL、LLM_TEXT_API_KEY、LLM_TEXT_BASE_URL # --- LLM ② 纯文本(报告/策略/关键词等 call_llm;与 ②-B~②-D 多选一,只让一条 MA_LLM_TEXT_PROVIDER 生效,换方案时先改/注释本行再启别节)--- # 方案 A(默认)= 经 openai_gateway:纯文本读 OPENAI_TEXT_*(若有)否则 OPENAI_*;要换 B=官站、C=Kimi、D=DeepSeek 时改下行为 openai_official|kimi|deepseek 等 MA_LLM_TEXT_PROVIDER=crawler_openai_compatible # --- ②-B 纯文本用 OpenAI 官站(仅当 MA=openai_official / openai_chatgpt / chatgpt;与 ②-A、②-C 互斥;凭据与 ① 可不同)--- # MA_LLM_TEXT_PROVIDER=openai_official # OPENAI_OFFICIAL_API_KEY=sk-... # OPENAI_OFFICIAL_BASE_URL=https://api.openai.com/v1 # OPENAI_OFFICIAL_TEXT_MODEL=gpt-4o-mini # OPENAI_OFFICIAL_CONTEXT_WINDOW=128000 # OPENAI_OFFICIAL_TIMEOUT=600 # --- ②-C 纯文本用 Kimi / Moonshot 兼容(仅当 MA=kimi / moonshot / kimi_moonshot;与 ②-A、②-B 互斥;配料/视觉仍只走 ① 的 OPENAI_*)--- # MA_LLM_TEXT_PROVIDER=kimi # KIMI_API_KEY=sk-... # KIMI_BASE_URL=https://api.moonshot.cn/v1 # KIMI_TEXT_MODEL=moonshot-v1-8k # KIMI_CONTEXT_WINDOW=8192 # 别名:MOONSHOT_API_KEY、KIMI_MODEL、MOONSHOT_MODEL # KIMI_TIMEOUT=600 # --- ②-D 纯文本用 DeepSeek 官方(仅当 MA=deepseek / deep_seek;与 ②-A~②-C 互斥;配料/视觉仍只走 ① 的 OPENAI_*)--- # MA_LLM_TEXT_PROVIDER=deepseek # DEEPSEEK_API_KEY=sk-... # DEEPSEEK_BASE_URL=https://api.deepseek.com/v1 # 思考模式(官方 Thinking Mode,默认开):关=0;力度 high|max(https://api-docs.deepseek.com/guides/thinking_mode) # DEEPSEEK_THINKING=1 # DEEPSEEK_REASONING_EFFORT=high # 未填 DEEPSEEK_TEXT_MODEL 时:开思考默认 deepseek-v4-pro,关思考默认 deepseek-chat # DEEPSEEK_TEXT_MODEL=deepseek-v4-pro # DEEPSEEK_CONTEXT_WINDOW=64000 # 别名:DEEPSEEK_MODEL # DEEPSEEK_TIMEOUT=600 # --- 报告/策略:部分 LLM 块单独温度(默认 0.1;与上面 MA 无冲突)--- # MA_STRATEGY_LLM_TEMPERATURE=0.1 # 默认会剥掉混在「模型 content」里的思考标签块(如 redacted_thinking / think 成对),内部仍可开思考;调试要原样保留时: # MA_LLM_PRESERVE_THINKING_IN_OUTPUT=1 # --- 可选:流水线侧 LLM 开关 --- # MA_SKIP_LLM_KEYWORD_SUGGEST=1 # MA_ENABLE_LLM_COMMENT_SENTIMENT=1 # MA_SKIP_LLM_COMMENT_SENTIMENT=1