feat: AI 模型按场景独立配置(llm_scenes)+ 去重多来源合并
- system.yaml 新增 llm_scenes(translation / daily_report,含用途/方法/模型要求说明) - load_llm_config(scene=...) 场景覆盖;日报摘要 temperature 0.3 硬编码 → 配置 - M3 去重:唯一篇记录 source_ids(跨源重复合并,首个来源为 source_id) - source_ids 经翻译透传至 events,日报事件 source 多来源拼接展示(≤3 个) - 已部署 pi5:merge 实证 10 源合并;日报 report_id=224 正常入库
This commit is contained in:
+41
-3
@@ -40,18 +40,56 @@ dedup:
|
||||
simhash_window_days: 30
|
||||
min_content_length: 100
|
||||
|
||||
# ── LLM 翻译+事件抽取 ────────────────────────────────
|
||||
# ── LLM 默认配置(所有 LLM 场景的兜底)────────────────
|
||||
# 按场景独立配置见下方 llm_scenes 段;场景未声明的字段回退到本段。
|
||||
llm:
|
||||
provider: "deepseek"
|
||||
deepseek_model: "deepseek-v4-flash"
|
||||
qwen_model: "qwen-plus"
|
||||
timeout_sec: 60
|
||||
max_attempts: 3 # 单篇总尝试次数(含首次),失败后指数退避重试;日报 AI 摘要同用此值
|
||||
max_attempts: 3 # 单篇总尝试次数(含首次),失败后指数退避重试
|
||||
max_tokens: 8192
|
||||
temperature: 0.1
|
||||
concurrency: 3
|
||||
|
||||
# ── Embedding 向量化 ────────────────────────────────
|
||||
# ── LLM 场景配置(按场景独立指定大模型类型与参数)──────
|
||||
# 每个场景可覆盖 provider / model / temperature / max_tokens / max_attempts / timeout_sec;
|
||||
# 场景内统一用 "model" 键指定模型(优先于 llm 段的 deepseek_model / qwen_model)。
|
||||
llm_scenes:
|
||||
translation:
|
||||
# M4:全文英译中 + 投资事件抽取(单次 LLM 调用合并输出)
|
||||
provider: "deepseek"
|
||||
model: "deepseek-v4-flash"
|
||||
temperature: 0.1
|
||||
max_tokens: 8192
|
||||
description: |
|
||||
用途: M4 对去重后的英文正文做全文英译中,并抽取投资事件
|
||||
(事件类型/美股代码/情绪/重要度/摘要,单次调用合并输出)
|
||||
使用方法: llm/pipeline.py 调用 load_llm_config(scene="translation"),
|
||||
配合 concurrency=3 逐篇并发;单篇失败重试 max_attempts 次后跳过,
|
||||
未翻译篇由增量机制下次补齐
|
||||
模型要求: 中英财经翻译准确、术语一致;严格按 Prompt 输出 JSON 结构;
|
||||
单篇平均 ≤3 秒;max_tokens 需容纳长文(建议 ≥8192)
|
||||
daily_report:
|
||||
# M7:每日 AI 摘要日报(五段式,高重要度事件分批生成)
|
||||
provider: "deepseek"
|
||||
model: "deepseek-v4-flash"
|
||||
temperature: 0.3
|
||||
max_tokens: 1500
|
||||
description: |
|
||||
用途: M7 日报 AI 摘要(五段式),高重要度事件分批(≤10 条/批)生成
|
||||
各批摘要后合并为完整日报摘要
|
||||
使用方法: scheduler/reporter.py::_call_llm_simple 使用
|
||||
load_llm_config(scene="daily_report");分批/合并失败均有回退,
|
||||
全部失败走规则兜底(直接列 Top 事件),日报仍正常入库
|
||||
模型要求: 中文财经总结能力强;单批 600-1500 字摘要质量稳定;
|
||||
支持高频短调用(crontab 07/12/18 每天 3 次 × 每份 3 批)
|
||||
|
||||
# ── Embedding 向量化(单一场景,不按场景拆分)─────────
|
||||
# 说明: Qdrant collection en_finance_news 的入库向量与检索查询向量必须由
|
||||
# 同一模型生成(跨模型向量无法比较),因此 embedding 不支持按场景独立配置。
|
||||
# 调用点: embedding/pipeline.py(入库)、vectorstore/pipeline.py(检索)、
|
||||
# mcp_server/server.py(MCP 搜索查询向量化)——三处共用本配置。
|
||||
embedding:
|
||||
provider: "dashscope"
|
||||
dashscope_model: "text-embedding-v3"
|
||||
|
||||
Reference in New Issue
Block a user