💰 大模型使用计费

深入理解Token计费机制与多轮对话成本

为什么要了解计费?
┌─────────────────────────────────────────────────────────────────────────┐ │ 了解计费的重要性 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 成本预估 │ → │ 优化使用 │ → │ 避免意外 │ │ │ │ │ │ │ │ │ │ │ │ 预算规划 │ │ 减少浪费 │ │ 账单超支 │ │ │ │ 合理分配 │ │ 提高效率 │ │ 风险控制 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ │ 了解计费机制是有效控制AI应用成本的第一步 │ │ │ └─────────────────────────────────────────────────────────────────────────┘

🔤 什么是 Token?

Token 的定义

Token 是大语言模型处理和生成文本的基本计量单位。它不是简单的单词,而是一段文本片段。

┌─────────────────────────────────────────────────────────────────────────┐ │ Token 化示例 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 原文: "Hello, how are you?" │ │ │ │ Token化: ["Hello", ",", " how", " are", "you", "?"] │ │ └─1─┘└2─┘└──3──┘└─4─┘└──5──┘└─6─┘ │ │ = 6 tokens │ │ │ │ 中文示例: "你好,世界" │ │ Token化: ["你", "好", ",", "世", "界"] │ │ └1─┘└2─┘└3─┘└4─┘└5─┘ │ │ = 5 tokens │ │ │ └─────────────────────────────────────────────────────────────────────────┘
Token 的组成

在英文中,1个Token大约等于:

  • 4个字符
  • 3/4个单词

在中文中,1个Token大约等于:

  • 1-2个汉字
  • 1个标点符号
┌─────────────────────────────────────────────────────────────────────────┐ │ Token 估算规则 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌────────────────────┐ ┌────────────────────┐ │ │ │ 英文文本 │ │ 中文文本 │ │ │ ├────────────────────┤ ├────────────────────┤ │ │ │ │ │ │ │ │ │ 1000 单词 │ │ 1000 汉字 │ │ │ │ ≈ 1300 tokens │ │ ≈ 500-700 tokens │ │ │ │ │ │ │ │ │ │ 1000 字符 │ │ 1000 字符 │ │ │ │ ≈ 250 tokens │ │ ≈ 500 tokens │ │ │ │ │ │ │ │ │ └────────────────────┘ └────────────────────┘ │ │ │ │ 📝 提示:不同模型的Tokenize算法略有不同,实际数量可能有所差异 │ │ │ └─────────────────────────────────────────────────────────────────────────┘

💵 大模型如何计费?

计费模式

主流大模型采用按Token数量计费的模式,分为两种类型:

┌─────────────────────────────────────────────────────────────────────────┐ │ 计费类型 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────┐ ┌─────────────────────┐ │ │ │ 输入(Input) │ │ 输出(Output) │ │ │ │ │ │ │ │ │ │ 发送给模型的文本 │ │ 模型生成的文本 │ │ │ │ (Prompt/问题) │ │ (Response/回答) │ │ │ │ │ │ │ │ │ │ 价格较低 │ │ 价格较高 │ │ │ │ (约1/3-1/2) │ │ (约2-3倍) │ │ │ └─────────────────────┘ └─────────────────────┘ │ │ │ │ 总费用 = 输入Token数 × 输入单价 + 输出Token数 × 输出单价 │ │ │ └─────────────────────────────────────────────────────────────────────────┘
主流模型价格对比(以OpenAI为例)
模型 输入价格 输出价格 上下文窗口
GPT-4o $2.50 / 1M tokens $10.00 / 1M tokens 128K
GPT-4o-mini $0.15 / 1M tokens $0.60 / 1M tokens 128K
GPT-4 Turbo $10.00 / 1M tokens $30.00 / 1M tokens 128K
GPT-3.5 Turbo $0.50 / 1M tokens $1.50 / 1M tokens 16K
国内模型价格对比
厂商 模型 输入价格 输出价格
阿里云 Qwen Turbo ¥1.00 / 1M tokens ¥3.00 / 1M tokens
百度 ERNIE 4.0 ¥20.00 / 1M tokens ¥60.00 / 1M tokens
智谱 GLM-4 ¥1.00 / 1M tokens ¥1.00 / 1M tokens
DeepSeek DeepSeek-V3 ¥1.00 / 1M tokens ¥2.00 / 1M tokens

💬 多轮对话费用如何计算?

多轮对话计费原理

多轮对话的计费有一个关键概念:上下文Token。每次请求时,之前所有的对话历史都会作为输入的一部分发送给模型。

┌─────────────────────────────────────────────────────────────────────────┐ │ 多轮对话计费流程 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 第1轮对话: │ │ ┌──────────────────────────────┐ │ │ │ 用户: "什么是机器学习?" │ → 100 tokens (输入) │ │ │ 模型: "机器学习是..." │ → 300 tokens (输出) │ │ │ 本轮费用: 100×输入单价 + 300×输出单价 │ │ └──────────────────────────────┘ │ │ │ │ 第2轮对话: │ │ ┌──────────────────────────────┐ │ │ │ [历史上下文: 400 tokens] │ ← 包含上一轮的输入+输出 │ │ │ 用户: "请举例说明" │ → 50 tokens (新输入) │ │ │ 模型: "比如..." │ → 400 tokens (输出) │ │ │ 本轮费用: (400+50)×输入单价 + 400×输出单价 │ │ └──────────────────────────────┘ │ │ │ │ ⚠️ 注意:每轮对话都会累积之前所有轮次的Token! │ │ │ └─────────────────────────────────────────────────────────────────────────┘
多轮对话费用计算示例
┌─────────────────────────────────────────────────────────────────────────┐ │ 具体计算示例 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 假设使用 GPT-4o-mini: │ │ - 输入价格: $0.15 / 1M tokens │ │ - 输出价格: $0.60 / 1M tokens │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 第1轮: 什么是Python? │ │ │ │ 输入: 50 tokens 输出: 200 tokens │ │ │ │ 费用: 50×0.15/1M + 200×0.60/1M = $0.0001275 ≈ $0.0001 │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 第2轮: 它主要用于什么? │ │ │ │ 上下文: 250 tokens + 新输入: 60 tokens = 310 tokens │ │ │ │ 输出: 300 tokens │ │ │ │ 费用: 310×0.15/1M + 300×0.60/1M = $0.0002865 ≈ $0.0003 │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 第3轮: 适合初学者吗? │ │ │ │ 上下文: 550 tokens + 新输入: 50 tokens = 600 tokens │ │ │ │ 输出: 250 tokens │ │ │ │ 费用: 600×0.15/1M + 250×0.60/1M = $0.000240 ≈ $0.0002 │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ 📊 3轮对话总计: $0.0006 (约 6厘钱) │ │ │ └─────────────────────────────────────────────────────────────────────────┘
多轮对话成本优化策略
┌─────────────────────────────────────────────────────────────────────────┐ │ 成本优化策略 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐ │ │ │ 1. 截断历史 │ │ 2. 摘要总结 │ │ 3. 选择合适模型 │ │ │ │ │ │ │ │ │ │ │ │ 只保留最近N轮 │ │ 用LLM压缩历史 │ │ 简单任务用小模型 │ │ │ │ 减少上下文长度 │ │ 减少Token数量 │ │ 成本大幅降低 │ │ │ └───────────────────┘ └───────────────────┘ └───────────────────┘ │ │ │ │ ┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐ │ │ │ 4. 系统提示优化 │ │ 5. 流式输出 │ │ 6. 缓存复用 │ │ │ │ │ │ │ │ │ │ │ │ 精简明确的指令 │ │ 减少等待时间 │ │ 相同问题用缓存 │ │ │ │ 减少冗余说明 │ │ 即时开始消费 │ │ 减少重复计算 │ │ │ └───────────────────┘ └───────────────────┘ └───────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────┘

🧮 实用计算工具

在线Token计算器

可以使用官方工具估算Token数量:

快速估算法则
┌─────────────────────────────────────────────────────────────────────────┐ │ 快速估算方法 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 英文: 1 token ≈ 0.75 单词 │ │ 中文: 1 token ≈ 1.5 汉字 │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 费用估算公式: │ │ │ │ │ │ │ │ 单次请求费用 = (输入Tokens × 输入单价 + 输出Tokens × 输出单价) │ │ │ │ │ │ │ │ 每日成本 = 日均请求数 × 平均请求费用 │ │ │ │ │ │ │ │ 月度成本 = 每日成本 × 30 │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ 💡 建议: 新项目先用小模型测试,确认效果后再升级 │ │ │ └─────────────────────────────────────────────────────────────────────────┘
总结
  • Token 是LLM处理文本的基本单位,英文约4字符/Token,中文约1-2汉字/Token
  • 大模型按输入Token输出Token分别计费,输出价格通常是输入的2-3倍
  • 多轮对话会累积之前所有轮次的Token,轮次越多,单次请求费用越高
  • 可通过截断历史、选择小模型、优化提示词等方式降低使用成本