refactor: invert hide_zero_spend → show_zero_spend, default False
Changes the API from opt-in hiding (hide_zero_spend) to opt-in showing (show_zero_spend). Default behavior now hides sub-bash.001 models and shows the summary line — cleaner for the common case where free-tier models dominate the breakdown. - Renamed parameter: hide_zero_spend → show_zero_spend - Inverted logic: default False means hide by default - Updated docstrings, README, ARCHITECTURE.md
This commit is contained in:
1 parent
7ab17e03d7
commit
091d44ab87
3 files changed
+10
-8
No files matched your search
+6
-4
@@ -93,7 +93,7 @@ Healthy: 8 | Unhealthy: 0
|
|||||||
|
|
||||||
**LiteLLM Endpoint:** `GET {litellm_url}/user/daily/activity`
|
**LiteLLM Endpoint:** `GET {litellm_url}/user/daily/activity`
|
||||||
**Auth:** `Authorization: Bearer {litellm_master_key}`
|
**Auth:** `Authorization: Bearer {litellm_master_key}`
|
||||||
**Params:** `start_date` (YYYY-MM-DD or natural language shortcut), `end_date` (YYYY-MM-DD or natural language shortcut), `hide_zero_spend` (bool, default False)
|
**Params:** `start_date` (YYYY-MM-DD or natural language shortcut), `end_date` (YYYY-MM-DD or natural language shortcut), `show_zero_spend` (bool, default False)
|
||||||
|
|
||||||
### Natural Language Date Resolution
|
### Natural Language Date Resolution
|
||||||
|
|
||||||
@@ -109,9 +109,11 @@ The `_resolve_date()` helper converts natural language shortcuts to YYYY-MM-DD b
|
|||||||
|
|
||||||
Already-formatted YYYY-MM-DD strings pass through unchanged. Unrecognized strings are passed to the API, which will reject them with a clear error.
|
Already-formatted YYYY-MM-DD strings pass through unchanged. Unrecognized strings are passed to the API, which will reject them with a clear error.
|
||||||
|
|
||||||
### hide_zero_spend Parameter
|
### show_zero_spend Parameter
|
||||||
|
|
||||||
When `hide_zero_spend=True`, models with sub-$0.001 spend are filtered from the per-model breakdown. This is useful when free-tier or subscription models (e.g., Ollama Cloud) dominate the report with high token counts but negligible cost. Hidden models are summarized as `... (N model(s) with sub-$0.001 spend hidden)`.
|
When `show_zero_spend=False` (the default), models with sub-$0.001 spend are hidden from the per-model breakdown and summarized as `... (N model(s) with sub-$0.001 spend hidden)`. This is the recommended default because free-tier or subscription models (e.g., Ollama Cloud) often dominate the report with high token counts but negligible cost, drowning out the models that actually cost money.
|
||||||
|
|
||||||
|
Set `show_zero_spend=True` to see all models, including those with zero or near-zero spend.
|
||||||
|
|
||||||
### Response Processing
|
### Response Processing
|
||||||
|
|
||||||
@@ -256,7 +258,7 @@ These are documented but not in scope for v1. The two-function design is the rig
|
|||||||
|
|
||||||
### v1.2.0 (2026-06-13)
|
### v1.2.0 (2026-06-13)
|
||||||
- **feat:** Natural language date shortcuts for `litellm_cost()` — `today`, `yesterday`, `monday`, `last week`, etc.
|
- **feat:** Natural language date shortcuts for `litellm_cost()` — `today`, `yesterday`, `monday`, `last week`, etc.
|
||||||
- **feat:** `hide_zero_spend` parameter for `litellm_cost()` — filters sub-$0.001 models from breakdown
|
- **feat:** `show_zero_spend` parameter for `litellm_cost()` — default False hides sub-$0.001 models with summary line
|
||||||
- **fix:** Cost report header shows resolved YYYY-MM-DD dates instead of raw shortcuts
|
- **fix:** Cost report header shows resolved YYYY-MM-DD dates instead of raw shortcuts
|
||||||
|
|
||||||
### v1.1.0 (2026-06-13)
|
### v1.1.0 (2026-06-13)
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ Get LiteLLM cost breakdown for a date range. Returns per-model and per-day spend
|
|||||||
**Parameters:**
|
**Parameters:**
|
||||||
- `start_date` (str, required): Start date — YYYY-MM-DD or natural language shortcut (e.g. "2026-06-01", "today", "yesterday", "monday", "last monday", "two days ago", "this week", "last month")
|
- `start_date` (str, required): Start date — YYYY-MM-DD or natural language shortcut (e.g. "2026-06-01", "today", "yesterday", "monday", "last monday", "two days ago", "this week", "last month")
|
||||||
- `end_date` (str, required): End date — YYYY-MM-DD or natural language shortcut
|
- `end_date` (str, required): End date — YYYY-MM-DD or natural language shortcut
|
||||||
- `hide_zero_spend` (bool, default false): Hide models with sub-$0.001 spend. Useful when free-tier or subscription models (e.g. Ollama Cloud) dominate the breakdown with high token counts but negligible cost.
|
- `show_zero_spend` (bool, default false): Show models with sub-$0.001 spend. When false, these models are hidden and summarized as "... (N model(s) with sub-$0.001 spend hidden)". Useful when free-tier or subscription models (e.g. Ollama Cloud) dominate the breakdown with high token counts but negligible cost.
|
||||||
|
|
||||||
### `litellm_history`
|
### `litellm_history`
|
||||||
Get recent LiteLLM request history. Returns the most recent N requests with model, call type, status, duration, token counts, cache hit %, and per-request cost. Useful for understanding which models are being called and how much individual requests cost.
|
Get recent LiteLLM request history. Returns the most recent N requests with model, call type, status, duration, token counts, cache hit %, and per-request cost. Useful for understanding which models are being called and how much individual requests cost.
|
||||||
|
|||||||
@@ -190,13 +190,13 @@ class Tools:
|
|||||||
self,
|
self,
|
||||||
start_date: str,
|
start_date: str,
|
||||||
end_date: str,
|
end_date: str,
|
||||||
hide_zero_spend: bool = False,
|
show_zero_spend: bool = False,
|
||||||
) -> str:
|
) -> str:
|
||||||
"""
|
"""
|
||||||
Get LiteLLM cost breakdown for a date range.
|
Get LiteLLM cost breakdown for a date range.
|
||||||
:param start_date: Start date — YYYY-MM-DD or natural language shortcut (e.g. "2026-06-01", "today", "yesterday", "monday", "last monday", "two days ago", "this week", "last month")
|
:param start_date: Start date — YYYY-MM-DD or natural language shortcut (e.g. "2026-06-01", "today", "yesterday", "monday", "last monday", "two days ago", "this week", "last month")
|
||||||
:param end_date: End date — YYYY-MM-DD or natural language shortcut
|
:param end_date: End date — YYYY-MM-DD or natural language shortcut
|
||||||
:param hide_zero_spend: Hide models with sub-$0.001 spend (default False). Useful when free-tier or subscription models (e.g. Ollama Cloud) dominate the breakdown with high token counts but negligible cost.
|
:param show_zero_spend: Show models with sub-$0.001 spend (default False). When False, these models are hidden and summarized as "... (N model(s) with sub-$0.001 spend hidden)". Useful when free-tier or subscription models (e.g. Ollama Cloud) dominate the breakdown with high token counts but negligible cost.
|
||||||
Returns formatted cost report with per-model and per-day breakdowns, token counts, cache hit rate, and request stats.
|
Returns formatted cost report with per-model and per-day breakdowns, token counts, cache hit rate, and request stats.
|
||||||
"""
|
"""
|
||||||
if not self.valves.litellm_master_key:
|
if not self.valves.litellm_master_key:
|
||||||
@@ -284,7 +284,7 @@ class Tools:
|
|||||||
hidden_count = 0
|
hidden_count = 0
|
||||||
for model_name in sorted(model_totals, key=lambda k: model_totals[k]["spend"], reverse=True):
|
for model_name in sorted(model_totals, key=lambda k: model_totals[k]["spend"], reverse=True):
|
||||||
mt = model_totals[model_name]
|
mt = model_totals[model_name]
|
||||||
if hide_zero_spend and mt["spend"] < 0.001:
|
if not show_zero_spend and mt["spend"] < 0.001:
|
||||||
hidden_count += 1
|
hidden_count += 1
|
||||||
continue
|
continue
|
||||||
# Strip common provider prefixes for readability
|
# Strip common provider prefixes for readability
|
||||||
|
|||||||
Reference in new issue
Block a user