market-assistant/.env.example
hub-gif 34e448728f fix(llm): 剥除混在 content 里的思考标签,保留正文
normalize_message_content 经 strip_thinking_leaks;支持 MA_LLM_PRESERVE_THINKING_IN_OUTPUT;修复 text 凭据单测在含 .env 时的干扰。

Made-with: Cursor
2026-04-27 14:04:19 +08:00

83 lines
4.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# =============================================================================
# 唯一环境变量模板:复制为同目录 .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|maxhttps://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