pydantic/genai-prices
Calculate prices for calling LLM inference APIs.
📊 GenAI Prices – 何であるか
GenAI Prices は、開発者が特定の大規模言語モデル(LLM)の推論エンドポイントを呼び出すのに どのくらいのコスト がかかるかを調べられる、小さく実用的なオープンソースライブラリです。以下の機能を提供しています:
- データ – 数十のプロバイダー(OpenAI、Anthropic、Azure、Bedrock、Geminiなど)の数百のモデルに対する、バージョン管理されたJSONレジストリ。履歴価格、段階的課金、非ピーク時間割引、トークンタイプごとのコストも含む。
- ロジック – ユーザーが指定するプロバイダーIDとモデルIDを、正しいエントリにマッピングするコード。モデル名の変更やプロバイダー固有の課金スキームなどの細かい点も処理。
- クライアント – Python、JavaScript/TypeScript、Go 用の即時利用可能なパッケージ。それぞれ
get_price(...)という小さなAPIと、素早く照会できるコマンドラインツールgenai-pricesを提供。 - 拡張性 – 新しいプロバイダーまたは価格更新の貢献を歓迎。Helicone、LiteLLM、OpenRouterなどのソースからデータを自動取得している。
このプロジェクトは、AIエージェント向けの型安全で本番環境対応の基盤を提供することを目指す Pydantic Stack の一部です。
🔧 主な機能(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
- プロジェクト