news 2026/10/1 16:04:24

AIHOT成本控制拆解:付费回执复用、预算熔断与逐步换模型,不再刷爆账单

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AIHOT成本控制拆解:付费回执复用、预算熔断与逐步换模型,不再刷爆账单

AIHOT成本控制拆解:付费回执复用、预算熔断与逐步换模型,不再刷爆账单

【免费下载链接】AIHOT一个自己找热点、自己写日报的网站框架。把信源和精选标准换成你的,它就是你的行业热点站。项目地址: https://gitcode.com/gh_mirrors/ai/AIHOT

AIHOT 是一个自己找热点、自己写日报的开源网站框架。它每天要调用大模型做摘要、评分、聚簇,还要付费抓取正文,账单很容易失控。AIHOT 用三道防线做成本控制:付费回执复用(同一请求不重复付费)、预算熔断(三级限额防调用爆量)、逐步换模型(先验证再切换),帮你把 LLM API 费用稳稳压在预算内。

📍 先看账单从哪来

AIHOT 的采集环节(RSS、网页、X、公众号)本身不花钱,但后面的理解环节全靠付费接口:

成本来源用途计费方式
大模型摘要、两评分、写标题、聚簇按 token
Jina正文抓取兜底按请求
SocialDataX 搜索按请求
Dajiala公众号列表与正文按请求

好消息是:所有这些付费调用都强制走同一个成本控制层,没有任何"旁路"。

🧾 第一道防线:回执复用,同一请求绝不付两次钱

核心文件是 providers/receipts.ts,入口函数 paidRequest() 给每个付费请求生成一个逻辑回执:

  • 逻辑键 = 服务 + 用途 + 模型 + 输入内容的哈希。输入一字不变,键就一字不变;
  • 发送前先查库:已有"收到/完成"的回执?直接复用响应,零成本;
  • 响应一到就先落库、再写业务——即使随后崩溃,答案也不会丢;
  • 请求发出去后超时或崩溃,结果标记为"未知",绝不自动重发。恢复任务 autoReleaseUnknownReceipts() 每 10 分钟检查一次,未知回执超过 30 分钟才自动放行一次——一次丢失的答案,最多少收一次重复付费。

不同结果对应不同处理,这正是省钱的关键:

回执状态含义是否再付费
received / completed已收到响应❌ 直接复用
pending请求在途等待,不重发
unknown结果未知30 分钟后自动放行一次
failed供应商明确拒绝(不会计费)✅ 允许新尝试
响应无法解析模型"说错话"✅ 标记后重试

表结构见 receipts 建表 与 receipt_attempts 迁移。每一次实际发出的请求都记一条 attempt,重试也算数——重试无法绕过任何一道闸门。

💣 第二道防线:预算熔断,量一爆就自动刹车

budgets表为每个服务配了三档限额:每分钟 / 每小时 / 每天,把任意一档设为0 就等于一键停服。

-- 内置默认值(迁移时写入,后台可随时改) ('jina', 5, 50, 300) -- 正文兜底(按请求计费) ('socialdata', 10, 100, 1000) -- X 搜索(按请求计费) ('dajiala', 5, 60, 500) -- 公众号列表与正文 ('zhipu', 100, 2000, 20000) -- 模型调用熔断 ('llm', 300, 6000, 40000) -- 默认模型(所有步骤共用)

默认值来自 0022_receipt_attempts_budgets.sql 和 0036_open_source_defaults.sql。

熔断检查在 checkBudget() 中执行,有两个细节值得注意:

  1. 按 attempt 计数——包括重试,死循环重试也逃不过熔断;
  2. advisory lock 串行化——多 worker 并发时不会集体冲破限额。

超限时抛出BudgetExceededError并携带retryAfterSeconds,上层任务可以"稍后再来",而不是硬扛着刷爆账单。运维在后台改限额同样留痕:listBudgets() / updateBudget() 记录修改前后值与原因。

🎛️ 第三道防线:逐步换模型,先验证质量再切

成本控制不是只看"花了多少",还要看"哪个模型够用"。

AIHOT 内置多组模型预设(default读环境变量,另有一组具名预设),见 MODELS:

  • glm-5.3-flash/deepseek-flash/qwen3.7-flash等:便宜档,短结构任务关掉推理更快更省;
  • qwen3-vl-flash:视觉专用,只在做图时出场;
  • 每个能力(摘要、评分、写标题、聚簇……)可独立选模型——贵的留给评分,便宜的跑批量摘要,混用才是常态。

真正"逐步"的部分在后台「模型与评测」页(admin/models.ts,界面见 models.tsx):

  1. 看数据:近 7 天每个能力的调用量、成功率、延迟 p50/p95、token 消耗与实际花费,一屏对比每个模型的真实成本;
  2. 跑基准:SelectBench 让多个模型在同一批样本上盲测,用同一把尺子比质量;
  3. 切一个能力:切换动作写入审计日志,且只影响新任务,旧内容不受影响;
  4. 观察再扩大:切完先跑几天,数据没问题再推广到其他能力;出问题就再切回来——反正每次切换都有历史记录可查。

✅ 总结:三道防线各管一件事

防线管什么一句话
回执复用重复付费同输入同模型,响应存在就不再花钱
预算熔断爆量分钟/小时/天三级刹车,0 即停服
逐步换模型单价数据 + 基准验证后按能力切换,随时可回滚

对新手来说,这套设计最值得借鉴的是:成本控制不是事后对账,而是把"每次付费"都变成一次有记录、可复用、会被拦截的调用。把 providers/receipts.ts 和 budgets 迁移 读一遍,你就能给自己的 AI 项目装上同样的三道闸门。

【免费下载链接】AIHOT一个自己找热点、自己写日报的网站框架。把信源和精选标准换成你的,它就是你的行业热点站。项目地址: https://gitcode.com/gh_mirrors/ai/AIHOT

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 16:03:50

Codex四大入口安装登录全攻略:CLI/桌面/IDE/网页版

拿到 Codex 安装包后,很多人的第一反应是找教程,结果一搜发现入口不止一个:有命令行工具、有桌面客户端、有 IDE 插件,还有网页版。我在本地装了三遍,踩了不少坑才把四者的关系理顺。这篇文章不打算重复官网文档&#…

作者头像 李华
网站建设 2026/10/1 16:03:37

都AI时代了,我为何还在学习前端基础知识?

一、引言像我们这些打工的,眼界和认知也就那样,所以眼下看似合理的决策,时间线拉得足够长,回头一看,是不合理的。比方说我的微信公众号只更新人文类的文章,并未同步自己的博客技术文章。当时那个时候&#…

作者头像 李华
网站建设 2026/10/1 16:02:59

论文降重工具哪款好用?2026年实测5款清单

论文降重是每个毕业生都绕不开的关卡。知网、维普等查重系统的算法逐年升级,单纯靠改写同义词、调整语序的“土办法”越来越难奏效。市面上打着“AI智能降重”旗号的工具五花八门,价格从免费到上千元不等,实际效果却参差不齐。本文从实际使用…

作者头像 李华
网站建设 2026/10/1 16:02:21

30 Seconds of Code 实战指南:写出高质量 Pull Request 的 5 个技巧

教程文档 【免费下载链接】30-seconds-of-code Coding articles to level up your development skills 项目地址: https://gitcode.com/gh_mirrors/30/30-seconds-of-code 点击查看 免费下载 写出一手好代码只是工作的一半。本文基于 30 Seconds of Code 开源仓库中…

作者头像 李华
网站建设 2026/10/1 16:02:20

数据集素材供应商推荐:如何挑选合规、高质量的原始数据集素材服务商

在人工智能模型训练日益精细化的今天,寻找可靠的数据集素材供应商已成为企业构建核心竞争力的关键。面对海量却杂乱的网络信息,合规的AI数据训练素材不仅是模型性能的基石,更是企业规避法律风险的护城河。许多企业在自行采集数据时&#xff0…

作者头像 李华