我是 HolySheep AI 的技术作者,最近帮一位做 AI 客服的朋友排查问题,发现他每月账单莫名其妙多出 300 多美元——根源是某个脚本在深夜疯狂调用 Claude Sonnet 4.5,但团队里没人知道。如果早点搭一个成本监控看板,这种事故完全可以避免。这篇文章,我就手把手带你从零开始,用 Grafana + Prometheus + 一个 50 行的小脚本,搭一个属于你自己的 LLM 花销监控面板。整个过程不需要你懂任何运维知识,跟着截图提示一步步点鼠标就行。

开始之前,先立即注册一个 HolySheep AI 账号,注册就送免费额度,微信支付宝都能充,而且国内直连延迟 <50ms,比直接调 OpenAI 那种动辄 800ms 的体验流畅太多。

为什么我们需要监控 LLM 成本

先看一组真实数字(来源:HolySheep AI 2026 年公开价目表):

假设你每天调用 Claude Sonnet 4.5 处理 50 万 token 的客服对话,一个月就是:50 万 × 30 × $15 / 百万 = $225。换成 DeepSeek V3.2 呢?50 万 × 30 × $0.42 / 百万 = $6.30。光是模型选择,一个月就能省下 $218.7,相当于多招一个实习生。这就是为什么我们需要看板——不监控,永远不知道自己在哪里烧钱。

更重要的是,HolySheep AI 的汇率优势非常夸张:官方汇率 ¥1=$1 无损兑付(官方牌价是 ¥7.3=$1,相当于每花 1 美元只要 1 块多人民币,节省 >85%)。也就是说,同样调一次 Claude Sonnet 4.5,在其他平台要 ¥109.5,在 HolySheep 只要 ¥15。

准备工作:3 样东西必须装好

这一节我会模拟截图一步步带你安装。别怕,全是「下一步」式安装。

截图 1:安装 Docker Desktop

👉 访问 https://www.docker.com/products/docker-desktop/ 下载对应你系统的安装包。
👉 双击 .dmg 或 .exe 文件 → 看到 "Docker Desktop is now running" 字样 → 关闭即可。
👉 打开终端(Mac 用 iTerm,Windows 用 PowerShell),输入 docker --version,看到版本号说明成功。

截图 2:注册 HolySheep AI 并拿到 Key

👉 浏览器打开 https://www.holysheep.ai/register ,用微信扫码即可注册,新用户自动到账 $5 免费额度。
👉 登录后点右上角头像 → 「API 密钥」 → 「创建新密钥」 → 复制保存,格式类似 sk-holy-xxxxxxxxxxxxxx
👉 重要:base_url 用 https://api.holysheep.ai/v1,不是 api.openai.com。

截图 3:准备一个空文件夹

👉 在桌面新建文件夹 llm-cost-dashboard,我们后面所有文件都放这里。

核心原理:30 秒讲明白

我们用三个组件搭积木:

  1. Python 脚本(exporter):每次 LLM 调用后,把花了多少钱塞给 Prometheus。
  2. Prometheus:每 15 秒抓一次脚本数据,存在时序数据库里。
  3. Grafana:把数据库里的数字画成漂亮的折线图、饼图。

三者的关系就像「快递员 → 仓库 → 展示柜」,数据流是:LLM API → 脚本算钱 → Prometheus 存 → Grafana 画。

第一步:写第一个成本导出脚本

llm-cost-dashboard 文件夹里新建 exporter.py,把下面代码完整复制进去。这是第一个可运行代码块,复制即用:

# exporter.py —— LLM 成本导出器

每收到一次 API 调用结果,就计算花费并暴露给 Prometheus

import os import time from prometheus_client import start_http_server, Counter, Histogram from openai import OpenAI

HolySheep AI 配置(国内直连 <50ms)

client = OpenAI( base_url="https://api.holysheep.ai/v1", api_key=os.getenv("HOLYSHEEP_API_KEY", "YOUR_HOLYSHEEP_API_KEY") )

定义 Prometheus 指标

SPEND_USD = Counter( "llm_spend_usd_total", "累计花费美元", ["model"] ) TOKENS = Counter( "llm_tokens_total", "累计 token 数", ["model", "type"] ) LATENCY = Histogram( "llm_latency_ms", "接口延迟(毫秒)", ["model"], buckets=(50, 100, 200, 500, 1000, 2000) )

2026 年主流模型 output 单价(美元 / 百万 token)

PRICE_TABLE = { "gpt-4.1": 8.00, "claude-sonnet-4.5": 15.00, "gemini-2.5-flash": 2.50, "deepseek-v3.2": 0.42, } def chat(model: str, prompt: str) -> str: """调一次 LLM 并记录成本""" start = time.perf_counter() resp = client.chat.completions.create( model=model, messages=[{"role": "user", "content": prompt}] ) elapsed_ms = (time.perf_counter() - start) * 1000 LATENCY.labels(model=model).observe(elapsed_ms) usage = resp.usage TOKENS.labels(model=model, type="input").inc(usage.prompt_tokens) TOKENS.labels(model=model, type="output").inc(usage.completion_tokens) cost = usage.completion_tokens / 1_000_000 * PRICE_TABLE.get(model, 0) SPEND_USD.labels(model=model).inc(cost) return resp.choices[0].message.content if __name__ == "__main__": start_http_server(9877) # Prometheus 来这里抓数据 print("Exporter 已启动,访问 http://localhost:9877/metrics") while True: ans = chat("gpt-4.1", "用一句话介绍 Grafana") print(f"[{elapsed_ms:.0f}ms] {ans}") time.sleep(10)

运行前先装依赖,终端执行:pip install prometheus-client openai。然后 python exporter