OpenKitMule 指南 · 2026-07-04
零 API 成本本地新闻摘要:Ollama + 24 小时滚动去重实战指南
如果你做的新闻消费类产品,有三项成本会很快出现:
- API 调用费用。每天用 Claude Sonnet 摘要 100 篇文章,大约要花 1 美元;规模化后每小时几百篇,就不是小钱了。
- 重复工作。同一则新闻在十个来源出现,措辞略有不同。原始管道会对每个副本都重新摘要。
- 云端依赖。每篇文章的摘要都要经过第三方。如果厂商限流、故障或涨价,你的管道就跟着断。
解决方案是:用 Ollama 在本地跑摘要器,24 小时滚动去重,整条管道留在一台机器上。这篇文章会讲清楚设计思路,并在末尾提供完整的免费套件。
1. 为什么 Ollama 是实用的基线
Ollama 在 http://localhost:11434 提供一个稳定的 HTTP 端点,无论你跑的是 Llama 3、Mistral、Qwen、DeepSeek-Coder 还是 Phi,请求格式都一样。这种接口稳定性,正是它适合真实管道的原因。
截至 2026 年的粗略硬件指南:
| 模型 | 大致显存 | 推荐机器 |
|---|---|---|
| Llama 3.1 8B (q4) | ~5 GB | 任意 M 系列 Mac、RTX 4060 或更高 |
| Qwen2.5 7B (q4) | ~5 GB | 同上;中文内容表现强 |
| Mistral 7B (q4) | ~5 GB | 速度快,英文摘要好 |
| Llama 3.1 70B (q4) | ~40 GB | 需要工作站级 GPU |
新闻摘要的甜点区是 7-8B 档位。在消费级硬件上,500-1000 token 的文章 1-3 秒就能处理完,快到不需要批处理。
2. 24 小时滚动窗口才是真正的技巧
一个看到每篇文章都摘要的管道,本质上是在为同一个故事重复付费十次。真正降低计算量的设计是:
- 存储过去 24 小时每篇文章的指纹。一个便宜的起点是:对归一化标题 + 正文前 200 字符做 SHA-256。
- 新文章到达时,查指纹集合。如果存在近匹配,跳过摘要,只更新「最后出现时间」让这条变体在 24 小时内不再重新进入窗口。
- 24 小时以上的条目自动过期。这是滚动窗口,不是永久去重日志。两天后出现的新进展会再次摘要;12 小时内反复转发的不会。
在实际的中国 A 股新闻流上,这能去掉 60-80% 的 LLM 调用。这是「一个爱好」和「一个能自己回本的生产管道」之间的分水岭。
3. 让输出保持简短的 prompt 模板
本地 LLM 比 API 模型便宜,但不是零成本。输出 token 才是真正消耗消费级硬件时间的东西。设计 prompt 强制只输出一句话摘要:
Summarize the following news article in exactly one sentence,
under 30 words, in English. Do not add commentary or lists.
Title: {title}
Body: {body_first_500_chars}
经验上,这比不加约束的「请摘要这篇文章」减少了约 5 倍输出 token,而 Llama 3.1 8B 遵守这个约束的概率大约是 95%。对主题仪表盘来说,已经足够好。
如果需要结构化输出(关键词标签、情绪、实体列表),要求 JSON 并显式定义 schema,在客户端做校验。本地模型比前沿 API 模型更容易漂移,校验是便宜的保险。
4. 六源聚合,不需要爬虫农场
大多数公开新闻源提供 RSS 订阅、轻量 JSON 接口或稳定的 HTML 模式。不需要 Playwright,一个 Python 进程用 requests + BeautifulSoup 就能在几秒内抓完六个源:
- 财经新闻(财联社、东方财富、雪球,A 股方向;Bloomberg RSS、Yahoo Finance RSS,美股方向)。
- 通用新闻通讯社(Reuters 头条 RSS、AP 通讯社)。
- 领域垂直(Hacker News firehose、arXiv 按类别的新提交 RSS)。
60 秒定时抓取。每篇新文章先过一遍去重,幸存者再进 Ollama 摘要器。把一句话摘要持久化到磁盘(JSON、SQLite 或 Markdown),下游消费者不需要重新跑管道。
5. 本地 vs API 摘要成本对比
假设每天有 500 篇文章通过去重。每篇:~800 输入 token,~50 输出 token(上面的一句话 prompt)。
| 方案 | 边际成本/天 | 延迟 | 备注 |
|---|---|---|---|
| 本地 Llama 3.1 8B(M2 Mac) | ¥0(环境电耗) | ~1.5 秒/篇 | 无 API 账单,无限期运行 |
| Gemini 1.5 Flash API | ~$0.04 | ~0.7 秒/篇 | 便宜但非零,且有限流 |
| GPT-4o mini API | ~$0.08 | ~0.8 秒/篇 | 摘要质量更高 |
| Claude 3.5 Sonnet API | ~$1.66 | ~1.2 秒/篇 | 一句话摘要用不上 |
本地便宜不是因为 Sonnet 贵;本地便宜是因为 你已经为硬件付过钱了。这就是规模化后翻转成本结构的不变量。
关于 API 成本的详细讨论,见 LLM API 费用估算指南。
6. 什么时候仍然应该用 API 模型
- 需要 20 种以上语言的高精度多语言摘要。前沿 API 模型在这方面仍然领先。
- 需要对文章做推理,而不仅仅是压缩。本地 7-8B 模型是好摘要器,但推理能力中等。
- 需要低方差用于监管报告。API 模型调用之间更一致。
- 你没有一台可以 24/7 跑模型的机器。
其他场景 — 仪表盘、个人阅读器、内部信号管道 — 都是 Ollama 本地运行的天然选择。
7. 五分钟就能跑起来的完整套件
News Refiner Kit 完整实现了上述设计:六源聚合、SHA 指纹 24 小时滚动去重、Ollama 一句话摘要、以及 JSON/Markdown 输出适配器。它采用 OpenKitMule 的 agent-prompt 模式,你只需复制一段提示词到 Claude Code 或 Cursor,让 Agent 安装 Ollama、拉取模型、启动管道。
如果需要一个零外部依赖的热身套件(仅 Python 标准库),见 PromptForge。关于套件背后的工作流模式,见 AI Agent 工具包怎么用。
8. 延伸阅读
- 上线前估算 LLM API 费用 — 如果你决定继续用 API 方案。
- AI Agent 工具包怎么用:把代码交给 Agent 的最短路径 — 套件的交付思路。
- News Refiner Kit — 本文描述的管道,免费下载。
- Agent Scraper Kit — 当 RSS 六源不够用时,更重的爬虫方案。
本地运行,API 账单为零
News Refiner Kit 完整免费。复制一段提示词到编码 Agent,它会自动安装 Ollama、拉取摘要模型、启动 24 小时滚动管道。