pydantic/genai-prices
Calculate prices for calling LLM inference APIs.
📊 GenAI Prices – 是什么
GenAI Prices 是一个小型但实用的开源库,让开发者可以查询调用某个大语言模型(LLM)推理接口的 应有成本。它提供:
- 数据 – 数十家提供商(OpenAI、Anthropic、Azure、Bedrock、Gemini 等)数百个模型的版本化 JSON 注册表。数据包含历史价格、分层定价、非高峰时段折扣,甚至按 token 类型的计费。
- 逻辑 – 代码可将用户提供的提供商 ID 和模型 ID 映射到正确的条目,处理模型重命名或提供商特定定价方案等细节。
- 客户端 – 为 Python、JavaScript/TypeScript 和 Go 提供即用型包,每个都暴露一个极简 API(
get_price(...))和一个命令行工具(genai-prices),用于快速查询。 - 可扩展性 – 鼓励贡献新提供商或价格更新,目前已从 Helicone、LiteLLM 和 OpenRouter 等来源获取数据。
该项目是 Pydantic Stack 的一部分,旨在为开发者提供类型安全、生产就绪的 AI 代理基础。
🔧 核心功能(如 README 所列)
| 功能 | 含义 |
|---|---|
| 高级匹配逻辑 | 尽力将用户指定的提供商/模型精确映射到正确的价格条目,即使 ID 略有差异。 |
| 历史与变动价格 | 存储旧价格(如 o1),以便查看成本随时间演变。 |
| 变动的日定价 | 支持按一天中不同时段变化价格的提供商(如 Deepseek 的非高峰时段定价)。 |
| Gemini 的分层定价 | 处理超大上下文窗口的单独计费。 |
| 价格差异检测 | 工具可将注册表与其它公开来源进行对比。 |
| 多语言包 | Python、JS/TS 和 Go 的库及 CLI。 |
| 未来 API 与 Web UI | 计划中,但尚未发布。 |
📦 如何使用
Python
pip install genai-prices
在代码中使用:
from genai_prices import get_price
price = get_price(provider="openai", model="gpt-4o", tokens=1000)
print(price) # → {'input': 0.005, 'output': 0.015, 'currency': 'USD'}
配套的 CLI(genai-prices)也支持从终端进行相同操作。
JavaScript/TypeScript
npm i @pydantic/genai-prices
import { getPrice } from '@pydantic/genai-prices'
const price = getPrice({ provider: 'anthropic', model: 'claude-3-opus', tokens: 500 })
console.log(price)
也提供 genai-prices 命令。
Go
go get github.com/pydantic/genai-prices/go
price, _ := genaiprices.GetPrice("openrouter", "meta-llama/Meta-Llama-3.1-70B-Instruct", 2000)
fmt.Println(price)
📂 数据文件
- v2(当前) –
prices/new_data/v2/data.json(完整版)和data_slim.json(移除免费模型,更小)。提供模式定义。 - v1 – 为向后兼容而保留的冻结旧文件。
您可以直接下载这些 JSON 文件并嵌入到自己的工具中,以避免依赖该库。
🤝 贡献与社区
- 通过拉取请求提交价格更新(参见
prices/README.md)。 - 基准测试价格查询性能(参见
benchmarks/README.md)。 - 如果您运营模型托管服务,建议公开一个包含您定价的 JSON 或 API 端点,以便项目可以摄入数据。
- 加入 Pydantic Slack(README 中的徽章链接)参与讨论。
⚠️ 准确性免责声明
作者强调,这些数字仅为 参考。提供商很少发布机器可读的价格表,因此数据来自公开文档、社区贡献和其他开源价格列表。请始终与您的实际提供商账单核对。
📚 适用场景
GenAI Prices 为开发 LLM 驱动的应用、成本监控仪表板或预算工具 的开发者填补了关键空白。通过提供一个统一、类型安全的定价信息源,覆盖碎片化的 LLM 生态系统,它有助于避免意外账单,并使成本意识的提示设计更简单。
相关
- 项目
- 项目
- 项目
- Dispatch
- 项目