Floe-Labs/floe-guard

The spend meter, cost/margin, & budget gate for AI voice agents. Meters STT + TTS + LLM + telephony per call, out of the box (Pipecat, LiveKit — Python & TypeScript). Hard-stops the next turn before it crosses your ceiling. Local, no account, no telemetry. Built by Floe.

What is floe‑guard?

floe‑guard は、Python および TypeScript 用の軽量ライブラリで、アプリケーションが行うすべての AI 呼び出し(大規模言語モデル、音声認識、音声合成、電話プロバイダー、その他の AI サービス)に対して、ドル予算を追跡・強制できます。呼び出し先が何であれ、予算内に収まるように制御できます。

なぜ重要なのか

  • AI エージェントは OpenAI、Anthropic、Gemini、音声 STT/TTS、電話サービスなど、多数のサービスを呼び出します。
  • これらの呼び出しは急速にコストが膨らみ、従来の制限(max_tokensmax_rpm)では暴走した支出を防げません。
  • floe‑guard は、各呼び出しの実際の USD コスト終了直後に記録し、予算を超える可能性がある次の呼び出しを、実行前に停止できます。

コアコンセプト

コンセプト 機能
BudgetGuard 金額上限(例:BudgetGuard(limit_usd=5.00))を指定してインスタンス化するメインクラス。check()(呼び出し前)と record()(呼び出し後)のメソッドを提供します。
ハードストップ check() が次の呼び出しで上限を超えると予測した場合、BudgetExceeded を送出し、呼び出しはベンダーに到達しません。
ライブレジャーデータ すべての支出はプロセス内(アカウント不要、ネットワーク不要)で保持され、JSONL 形式でエクスポート可能。オプションで Floe のホストサービスにレジャーデータを送信し、「カバレッジスコア」と7日間の履歴を取得できます。
アダプタ OpenAI、Anthropic、Gemini、CrewAI、LiteLLM、LangChain、LangGraph、Vercel AI SDK に加え、Pipecat、LiveKit、Vapi、Retell 用の音声アダプタを用意。これらは自動的に check() を呼び出し前に、record() を呼び出し後に実行します。
レートカード ライブラリにはバンドルされたコストマップ(公開価格のスナップショット)が同梱されています。FLOE_RATE_CARD JSON を使って任意の価格を上書きでき、契約価格を反映した監視が可能です。
ツール予約 有料ツールに対しては、reserve_tool() を実行後に settle_tool() を実行することで、並列呼び出しでもアトミックな予算チェックを保証できます。
永続化 SqliteStore を使うと、複数プロセスが同じ日次予算(window="utc-day")を共有できます。

使い方(Python 例)

from floe_guard import BudgetGuard

guard = BudgetGuard(limit_usd=5.00)   # $5 の上限

guard.check()                         # 次の呼び出しが $5 を超えると例外を送出
response = client.chat.completions.create(  # 通常の LLM 呼び出し
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello"}]
)
# 呼び出し終了後に支出を記録
guard.record(
    model="gpt-4o",
    prompt_tokens=response.usage.prompt_tokens,
    completion_tokens=response.usage.completion_tokens,
)

呼び出しで合計が $5 を超えると、guard.check()BudgetExceeded を送出し、OpenAI へのリクエストは実行されません。

音声呼び出し対応

音声パイプラインは STT → LLM → TTS → 電話の複数の段階で構成されます。floe‑guard は各ターンごとのアダプタを提供し、各ターンの前後に予算を予約・決済することで、音声セッション全体が同じドル上限内に収まるように保証します。

アカウント不要・テレメトリなしモード

  • デフォルトではすべてローカルで動作(API キー不要、登録不要、送信テレメトリなし)。
  • オプションで無料の Floe アカウント(1つのキー)を接続し、カバレッジスコアと7日間の支出履歴を取得できますが、コアの制御は完全にオフラインで動作します。

即時実行可能なクイックデモ

  • pip install floe-guard && floe-guard demo – $0.10 の上限で停止するスタブ LLM ループを表示。
  • floe-guard estimate gpt-4o --calls 1000 --tokens-in 800 --tokens-out 300 – バンドルされたマップを使ってワークロードのコストを推定。
  • 音声呼び出しコストデモ(examples/voice_call_cost_livekit.py) – ネットワーク呼び出しなしで各段階のコストを表示。

どんな人に向いているか?

  • ループにハマる可能性のある自律エージェント(CrewAI、LangChain など)を開発する開発者。
  • クライアントに利用量単位で請求するチームで、過剰請求を絶対に避けたい人。
  • 事前予防型の支出ガードを求める人(後から報告するのではなく、事前に制御したい人)。

結論:floe‑guard は、AI 関連 API 呼び出しの実際のドルコストを測定し、定義した予算を超える前に実行を停止できる実用的でオープンソースのガードレールです。オフラインで動作し、主要な LLM および音声ツールキットと統合可能。独自の交渉価格を組み込むこともできます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト