diff --git a/.env.example b/.env.example index d4e9b89..3b936ff 100644 --- a/.env.example +++ b/.env.example @@ -2,57 +2,55 @@ # 唯一环境变量模板:复制为同目录 .env 后填写(.env 勿提交仓库) # copy .env.example .env (Windows) # cp .env.example .env (Linux/macOS) +# +# 阅读方式:每节以 “# --- ... ---” 开头,首行说明「干什么、和哪几节互斥」; +# 要换跑法时,按该节里的注释行取消注释,并把其它方案里会冲突的 MA_LLM* / 凭据 改回注释。 # ============================================================================= -# --- 数据工作区根目录(可选)--- -# 不填时默认为本仓库根目录(market_assistant),数据写在 ./data/JD/。 -# 若数据盘与代码分离,可设为绝对路径(须可写,运行时会自动创建 data/JD)。 +# --- 数据工作区根目录(可选;不填=本仓库根目录,数据在 ./data/JD/;数据盘与代码分离时再填绝对路径须可写)--- # LOW_GI_PROJECT_ROOT=D:\data\low-gi-workspace -# --- Django --- +# --- 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;生产改为实际域名)--- +# --- 浏览器访问前端时的 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(配料图识别、竞品报告、策略稿;OpenAI 兼容接口,与 pipeline.openai_gateway 共用本文件)--- +# --- LLM ① 自建/兼容网关(与 pipeline.openai_gateway 共用;商详多模、配料图等「多模/视觉」始终走 OPENAI_*,与下面 ② 纯文本方案无关但共用同一 .env 文件)--- # OPENAI_API_KEY=sk-your-key-here # OPENAI_BASE_URL=https://llm.example.com/v1 # OPENAI_VISION_MODEL=Qwen/Qwen3-Omni-30B-A3B -# 纯文本优先:OPENAI_TEXT_MODEL 或 LLM_TEXT_MODEL;未设则回退到视觉模型名 +# 仅当 ② 选「方案 A」且要在自建上单独换「只文本补全」模型时填写;不填时回退为视觉模型名或网关默认 # OPENAI_TEXT_MODEL= # 别名:LLM_API_KEY、LLM_BASE_URL、LLM_MODEL -# 报告/策略等「纯文本」任务的后端选择: -# crawler_openai_compatible(默认)= 经 pipeline.openai_gateway 调自建 OpenAI 兼容网关 -# openai_official / openai_chatgpt / chatgpt = 直连 OpenAI 官方 api.openai.com(与上项凭据独立) -# kimi / moonshot / kimi_moonshot = 月之暗面 Kimi(Moonshot)OpenAI 兼容,与下节 KIMI_* 独立;配料/视觉仍用上面 OPENAI_* -# MA_LLM_TEXT_PROVIDER=crawler_openai_compatible +# --- LLM ② 纯文本(报告/策略/关键词等 call_llm;与 ②-B、②-C 三选一,只让一条 MA_LLM_TEXT_PROVIDER 生效,换方案时先改/注释本行再启 ②-B 或 ②-C)--- +# 方案 A(默认)= 经 openai_gateway 调 ① 的 Base URL;要换 B=官站、C=Kimi 时,把下面这行改成 openai_official|chatgpt|kimi 等,并去对应小节填凭据 +MA_LLM_TEXT_PROVIDER=crawler_openai_compatible -# Kimi / Moonshot 纯文本(仅当 MA_LLM_TEXT_PROVIDER 为 kimi / moonshot / kimi_moonshot 时需要;与 OPENAI_* 分离) -# KIMI_API_KEY=sk-... -# KIMI_BASE_URL=https://api.moonshot.cn/v1 -# KIMI_TEXT_MODEL=moonshot-v1-8k -# 与预检 token 上界;若用 moonshot-v1-128k 可设 128000 -# KIMI_CONTEXT_WINDOW=8192 -# 别名:MOONSHOT_API_KEY、MOONSHOT_MODEL -# KIMI_TIMEOUT=600 - -# OpenAI 官方 Chat Completions(仅当 MA_LLM_TEXT_PROVIDER 为 openai_official / openai_chatgpt / chatgpt 时需要) +# --- ②-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 -# 与预检一致;gpt-4o 等可设 128000 # OPENAI_OFFICIAL_CONTEXT_WINDOW=128000 # OPENAI_OFFICIAL_TIMEOUT=600 -# 独立策略稿 / 报告内「策略与机会」LLM 块采样温度(默认 0.1,低于 chat_completion_text 的 0.2,减轻同提示多轮漂移)。设 0 更稳、设 0.2 与旧默认接近。 +# --- ②-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 + +# --- 报告/策略:部分 LLM 块单独温度(默认 0.1;与上面 MA 无冲突)--- # MA_STRATEGY_LLM_TEMPERATURE=0.1 # --- 可选:流水线侧 LLM 开关 ---