- 删除 5 个过时/残留文档(project_plan/agent_prompt/optimization_plan/report_db_design/deploy/README) - 新建 docs/architecture.md(项目架构:11 包职责+数据模型+配置+产物) - 重写 docs/user-guide.md(CLI 全量+增量/断点续跑+MCP+FAQ) - 重写 README.md(精简入口+文档索引) - 更新 continuation.md(追加本次记录) - 更新 .gitignore(排除 data/* 运行产物)
85 lines
2.7 KiB
Bash
85 lines
2.7 KiB
Bash
# ============================
|
|
# A 股 Deep Research 平台 .env 示例
|
|
# 复制为 .env 后填写真实值
|
|
# 注意: 值后面不能跟 # 注释, python-dotenv 会当成值的一部分
|
|
# ============================
|
|
|
|
# ---- LLM Provider ----
|
|
# 推荐: 各场景按需独立配置见 configs/llm_models.yaml(优先级高于以下环境变量)
|
|
LLM_PROVIDER=deepseek
|
|
|
|
# ---- DeepSeek ----
|
|
DEEPSEEK_API_KEY=
|
|
DEEPSEEK_BASE_URL=https://api.deepseek.com
|
|
DEEPSEEK_MODEL=deepseek-chat
|
|
|
|
# ---- Qwen / 百炼 ----
|
|
# QWEN_API_KEY 未设时用 DASHSCOPE_API_KEY
|
|
QWEN_API_KEY=
|
|
QWEN_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
|
|
QWEN_MODEL=qwen-plus
|
|
|
|
# ---- 百炼通用 API Key (LLM Qwen + Embedding DashScope 兜底) ----
|
|
DASHSCOPE_API_KEY=
|
|
|
|
# ---- LLM 通用参数 ----
|
|
LLM_MODEL= # 兜底模型名 (未设 DEEPSEEK_MODEL/QWEN_MODEL 时使用)
|
|
LLM_TEMPERATURE=0.1
|
|
LLM_TIMEOUT_SEC=60
|
|
|
|
# ---- Embedding ----
|
|
# provider: local (本地 BGE-M3) | dashscope (远程百炼)
|
|
EMBEDDING_PROVIDER=dashscope
|
|
|
|
# 远程嵌入 (EMBEDDING_PROVIDER=dashscope 时生效)
|
|
# DASHSCOPE_EMBEDDING_API_KEY 未设时用 DASHSCOPE_API_KEY
|
|
DASHSCOPE_EMBEDDING_API_KEY=
|
|
DASHSCOPE_EMBEDDING_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
|
|
DASHSCOPE_EMBEDDING_MODEL=text-embedding-v3
|
|
|
|
# 本地嵌入 (EMBEDDING_PROVIDER=local 时生效, 需 uv sync --extra local-embedding)
|
|
# LOCAL_EMBEDDING_MODEL=BAAI/bge-m3
|
|
|
|
# ---- Qdrant ----
|
|
QDRANT_HOST=localhost
|
|
QDRANT_PORT=6333
|
|
QDRANT_API_KEY=
|
|
QDRANT_COLLECTION=a_share_news
|
|
|
|
# ---- 调度 ----
|
|
SCHEDULE_TIMES=07:00,12:00,18:00,22:00
|
|
CNINFO_SCHEDULE_TIME=06:30
|
|
STOCK_REPORT_TIME=07:30
|
|
STOCK_REPORT_DAYS=15
|
|
|
|
# ---- Pipeline 步骤超时 ----
|
|
# 优先级: TIMEOUT_{NAME} > PIPELINE_STEP_TIMEOUT > 代码硬编码默认值
|
|
# PIPELINE_STEP_TIMEOUT 为全局兜底, 对所有未单独配置的步骤生效
|
|
PIPELINE_STEP_TIMEOUT=1800
|
|
# 以下为各步骤独立超时(秒), 值不设时取上方的全局值
|
|
# TIMEOUT_CRAWLER=900
|
|
# TIMEOUT_XWLB=60
|
|
# TIMEOUT_EXTRACTOR=300
|
|
# TIMEOUT_DEDUP=300
|
|
# TIMEOUT_LLM=900
|
|
# TIMEOUT_EMBEDDING=300
|
|
# TIMEOUT_QDRANT=600
|
|
# TIMEOUT_CNINFO_CRAWL=900
|
|
# TIMEOUT_CNINFO_EXTRACT=300
|
|
# TIMEOUT_CNINFO_PDF=300
|
|
|
|
# ---- cninfo 公告抓取 ----
|
|
CNINFO_PDF_BASE=http://static.cninfo.com.cn
|
|
|
|
# ---- 日报结构化入库 (M10) ----
|
|
NEWS_DB_HOST=127.0.0.1 # 开发走 ssh 隧道: ssh -L 13306:127.0.0.1:13306 pi
|
|
NEWS_DB_PORT=13306
|
|
NEWS_DB_USER=myquant
|
|
NEWS_DB_PASSWORD= # 填真实值,禁止写入源码/文档
|
|
NEWS_DB_NAME=myquant
|
|
REPORT_HISTORY_DIR=data/reports_history
|
|
|
|
# ---- LLM 日报摘要重试 ----
|
|
LLM_RETRY_TIMES=3 # AI 摘要调用失败重试次数(默认 3)
|
|
LLM_RETRY_BACKOFF_SEC=2.0 # 指数退避基数,秒(默认 2.0: 2s,4s,8s...)
|