Files
owi-litellm-tool/README.md
T
rin.kagamine 0fd8fcb742 feat: natural language date shortcuts for litellm_cost()
Adds _resolve_date() helper that converts natural language shortcuts
into YYYY-MM-DD before calling the LiteLLM API.

Supported shortcuts:
- today, yesterday, tomorrow
- N days ago (e.g. "two days ago")
- monday-sunday (most recent occurrence)
- last monday-last sunday
- this week, last week
- this month, last month

Falls back to passthrough for already-formatted YYYY-MM-DD strings.

Updated README with new parameter documentation.
2026-06-13 16:42:39 -04:00

64 lines
3.0 KiB
Markdown

# LiteLLM Dashboard — Open WebUI Tool
A simple, three-function Open WebUI Tool for checking LiteLLM proxy health, cost breakdowns, and recent request history.
## Functions
### `litellm_health`
Check LiteLLM proxy health and authentication status. Returns which models are healthy/unhealthy, their rate limits, and any auth errors.
### `litellm_cost`
Get LiteLLM cost breakdown for a date range. Returns per-model and per-day spend, token counts, cache hit rate, and request stats.
**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")
- `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.
### `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.
**Parameters:**
- `limit` (int, 1-50, default 20): Number of recent requests to show
- `show_cost` (bool, default true): Include per-request cost
- `show_failed` (bool, default true): Include failed requests. Set false to hide auth failures, routing errors, and probe noise.
**Cost awareness:** This function hits `/spend/logs` which returns all historical logs. For large deployments, this can be a heavy query. Use reasonable `limit` values.
## Valves (Configuration)
| Valve | Default | Purpose |
|-------|---------|---------|
| `litellm_url` | `http://localhost:4000` | LiteLLM proxy base URL |
| `litellm_master_key` | (empty) | LiteLLM master API key (password field) |
Both valves are passed at runtime — no hardcoded keys. The tool is portable to any LiteLLM proxy instance.
## Installation
1. Copy `litellm_dashboard.py` to your Open WebUI Workspace or import via Admin → Tools
2. Configure the two valves with your LiteLLM proxy URL and master key
3. Enable the tool on a per-model or per-chat basis
## Requirements
- `requests` (standard pip package)
- Open WebUI 0.4.0+
- A running LiteLLM proxy instance
## Design Principles
- **Three functions, that's it.** No scope creep.
- **Portable.** No hardcoded URLs or keys.
- **Token-efficient.** Strips `litellm_metadata` (~2KB/model) from health responses. Formats cost data as readable text, not raw JSON dumps.
- **General-purpose.** Works with any LiteLLM proxy instance.
- **Read-only.** GET endpoints only. No mutations, no risk.
## Documentation
- **[ARCHITECTURE.md](ARCHITECTURE.md)** — Full architecture and design doc: API endpoints, response processing, stripped fields, error paths, future considerations.
- **This README** — Quick reference: install, functions, valves, design principles.
## License
MIT