[RFC] 125 - AI 模型计价体系 #8604
tjx666
started this conversation in
RFC | 特性开发
Replies: 3 comments 5 replies
-
可以不用叫 多模态模型计价了,就叫 AI 服务计价体系? |
Beta Was this translation helpful? Give feedback.
0 replies
-
这个会在社区版中支持吗?我看现在的(即使是纯文本 chat)还是只有 token 统计没有加载定价信息 |
Beta Was this translation helpful? Give feedback.
1 reply
-
针对:#8770 我说一下我的问题:
在这讨论吧, 方便喂给 ai. |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
需求背景
最近打算支持 ai image 模型的价格计算。具体来说:
和做 sass 网站的情况不一样,sass 网站是它们自己定价,而我们这里是要支持渲染 provider 提供的价格信息。
总结 AI 模型定价调研:
现有设计
现有的价格体系设计主要是针对 LLM 的:
但是目前扩展到其它模态,例如最近支持 ai image, 未来要支持的 ai video, ai music 等。就拿 ai image 来说,目前的设计完全无法满足需求:
AI 模型统一计价方案
1. 核心目标
为 LobeChat 平台(包括开源版和 Cloud 版)设计一套统一、灵活且可扩展的计费模型抽象和存储方案。该方案需满足以下核心目标:
2. 设计原则
本方案基于以下核心设计原则:
units
)费用的总和。这从根本上解决了多维度组合计价的问题。strategy
字段明确其定价模式(如固定价、阶梯价、参数查找等),解决了条件计价的抽象问题,让计费引擎可以按策略进行解析和计算。3. 核心数据结构
3.1 顶层对象
Pricing
3.2 计费单元
PricingUnit
命名规范
为保证系统的一致性和可维护性,
PricingUnit
的命名应遵循以下规范:name 字段命名规则:
基础单元_修饰符
模式:使用下划线_
作为逻辑分隔符,清晰区分基础计费单元和其修饰符textInput
textInput_cacheWrite
textInput_cacheRead
imageGeneration
speechGeneration
videoGeneration
unit 字段命名规则:
所有
unit
字段统一采用 camelCase:millionTokens
(而非MillionTokens
)millionCharacters
(而非MillionCharacters
)image
(而非Image
)video
(而非Video
)megapixel
(而非Megapixel
)second
(而非Second
)minute
(而非Minute
)这套命名规范能够:
3.3 为何统一使用「百万」单位?
2.5
比0.0000025
直观且不易出错4. 场景示例
4.1 GPT-4o(百万 Token 固定价)
4.2 Gemini 1.5 Pro(百万 Token 阶梯价)
4.3 DALL·E 3(参数映射)
4.4 fal.ai Flux(按百万像素)
4.5 GPT-Image-1(多模态三段价)
4.6 TTS-1-HD(百万字符)
4.7 Claude Sonnet 3.5(缓存定价)
4.8 Kling 1.5 Video(按时长映射)
5. 统一计费流程
我已检查过 mermaid 语法完全符合检测清单要求
6. 方案优势
7. 技术方案与灵感来源参考
本方案的设计,在业界最佳实践的基础上,融合了针对我们平台特点的思考。主要灵感来源包括:
Stripe - Price Object Model:
pricing
JSONB 字段,尤其是units
的设计,正是这种思想的具体体现,它存储的不是一个静态的价格,而是一套活的、可被机器解析的定价规则。Google Cloud Billing - SKU System:
PricingUnit
,可以看作是一个轻量化的、灵活的 SKU,它定义了一个独立的计费维度。LiteLLM - Unified Configuration:
pricing
字段)来驱动一个通用的计费引擎,而不是为每个模型编写独立的计费代码。行动方案
当前:
我准备直接把目前的 pricing 全部都改成这套新的数据结构。
参考资料
Beta Was this translation helpful? Give feedback.
All reactions