Skip to main content
LiteLLM is moving to Rust Read the latest updates.

v1.104.3 - Decisions Providers, SDK and Guardrail

Deploy this version​

docker run \
-e LITELLM_MASTER_KEY=sk-<paste-a-long-random-key> \
-e DATABASE_URL=postgresql://<user>:<password>@<host>:5432/<dbname> \
-e STORE_MODEL_IN_DB=True \
-p 4000:4000 \
docker.litellm.ai/berriai/litellm:1.104.3

This release is published as ghcr.io/berriai/litellm:v1.104.3. See the GitHub release and the full releases page

Breaking Changes

Decisions requests that send safety_identifier to a provider other than OpenAI now return 400 instead of 200 with the identifier silently dropped. This covers Perplexity, TypeSafe, OpenRouter, Strands Decider and Cloudflare on /v1/decisions, /v1/systemone and litellm.decisions(). Set drop_params: true on the deployment, under litellm_settings, in the request body or on litellm.drop_params to keep the old behavior. /v1/systemone requests are also logged with call type asystemone instead of adecisions. See PR #44955 and PR #45846

v1.104.3 is a patch release on top of v1.104.2. It backports the Decisions follow-ups from main: two more providers, Strands Decider on AgentCore, a litellm.systemone() SDK entry point, OpenRouter billing from the cost OpenRouter reports, a decision model guardrail and decision-model Auto Router setup. There are no new database migrations. The v1.104.3 tag points at 3645fe0

Decisions API​

  • New providers: hosted_vllm/ (requires api_base, or HOSTED_VLLM_API_BASE) and azure_ai/ for Microsoft-Decision-1, joining OpenAI, Perplexity, TypeSafe, OpenRouter, Cloudflare and Strands Decider. See the Decisions docs
  • Strands Decider on AgentCore: a strands_decider/ deployment whose api_base is an AgentCore runtime ARN calls InvokeAgentRuntime, signed with the deployment's aws_* credentials
  • SDK: the new litellm.systemone() takes the System One format and litellm.decisions() takes the OpenAI format. litellm.decisions(state=...) still works and warns that it is deprecated in favor of litellm.systemone()
  • safety_identifier: providers that cannot take it return 400 unless drop_params drops it. OpenAI keeps passing it through from either route
  • Spend tracking: OpenRouter Decisions calls and the /openrouter/alpha/decisions pass-through bill the cost OpenRouter reports in usage.cost
  • Decision model guardrail: a new decision_model guardrail screens messages and tool-call arguments with admin-written yes/no questions, each set to block or log above its threshold, and is configured from the Admin UI and the Guardrail Garden
  • Auto Router: a new router can use an onboarded decision model deployment as its classifier, and existing router configurations keep working
  • Admin UI and docs: TypeSafe and Strands Decider are in the Add Model provider list, and Swagger UI describes /v1/decisions and /v1/systemone

New Model Support (1 new model)​

ProviderModelContext WindowInput ($/1M tokens)Output ($/1M tokens)
Azure AIazure_ai/Microsoft-Decision-1-$0.042$0.00

What's Changed​

  • Dispatch Decisions through per-provider configs and the shared HTTP handler - PR #45129, PR #45130, PR #45442
  • Add the hosted vLLM Decisions provider - PR #45501
  • Add azure_ai/Microsoft-Decision-1 and support it on the Decisions API - PR #45639, PR #45673, PR #45717
  • Call a Strands Decider on an AgentCore runtime ARN - PR #45678
  • Add litellm.systemone() and keep litellm.decisions() to the OpenAI format - PR #45846
  • Refuse safety_identifier on providers that cannot take it unless drop_params drops it - PR #44955
  • Bill OpenRouter Decisions and the Decisions pass-through from usage.cost (the Decisions and pass-through billing parts only) - PR #45640
  • Add TypeSafe and Strands Decider to the Add Model provider list, and describe both Decisions routes in Swagger UI - PR #45335, PR #45838
  • Add the decision model guardrail with an Admin UI flow - PR #45663, backported in PR #45900, with the Add Guardrail provider list fixed after both backports landed in PR #45936
  • Pick an onboarded decision model as the Auto Router classifier - PR #45913, backported in PR #45914
  • Rebuild the Admin UI bundle - PR #45924

The Decisions follow-ups and the version bump are backported together in PR #45906

Full Changelog​

https://github.com/BerriAI/litellm/compare/v1.104.2...v1.104.3

LiteLLM Enterprise
SSO/SAML, audit logs, spend tracking, multi-team management, and guardrails, built for production.
Learn more →