litellm/tests/test_litellm/llms
Dor Amir 7e05581f93
feat(providers): add Nadir intelligent-router provider (nadir/auto) (#33227)
* feat(dd_span_tagger): emit litellm_user_email span tag for JWT-authenticated requests

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* refactor(dd_span_tagger): use dotted litellm.user_email tag for consistency

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* feat(model_hub): surface model_info.description in model group info and Model Hub UI

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* refactor(router): aggregate model group description without in-place mutation

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix(health): skip background health check DB writes when the latest-row read fails

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* feat(providers): add Nadir intelligent-router provider (nadir/auto)

Nadir (https://getnadir.com) is an OpenAI-compatible intelligent router.
A single virtual model, nadir/auto, is classified server-side and routed to
the cheapest model that clears the quality bar. The response reports the
routed model in the model field, so LiteLLM cost tracking prices the real
underlying model.

- litellm/llms/nadir/chat/transformation.py: NadirConfig(OpenAIGPTConfig)
- register nadir across enum, provider lists, get_llm_provider, __init__,
  lazy imports, utils, get_supported_openai_params
- add https://api.getnadir.com/v1 to openai_compatible_endpoints so base_url
  only usage reverse-maps to the provider
- provider_endpoints_support.json entry (chat_completions only)
- docs page + unit tests (11 passing)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(nadir): scope credentials to the trusted base and validate reported cost

NADIR_API_KEY only loads for the https default base, the SDK no longer
falls back to litellm.api_key, the reported cost is validated before it
reaches the spend log, and streams price from the routed model.

---------

Co-authored-by: milan <milan@berri.ai>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: yassin <yassin@berri.ai>
Co-authored-by: ryan-crabbe-berri <ryan@berri.ai>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: mateo-berri <277851410+mateo-berri@users.noreply.github.com>
2026-09-24 22:03:30 -07:00
..
aiml/image_generation test: delete assertions that pin vendor cost map facts 2026-09-18 00:28:49 +00:00
anthropic fix(anthropic): keep the replayed prefix byte-stable for preserved thinking on chat completions (#42630) 2026-09-24 22:01:20 -07:00
azure test(realtime): drop legacy InvalidStatusCode tests and pin websockets imports (#42624) 2026-09-22 17:42:12 -07:00
azure_ai fix(anthropic): keep the replayed prefix byte-stable for preserved thinking on chat completions (#42630) 2026-09-24 22:01:20 -07:00
base_llm feat(bedrock): serve the OpenAI models on bedrock-runtime's native Responses API (internal copy of #38489) (#42767) 2026-09-23 15:12:39 -07:00
bedrock fix(anthropic): keep the replayed prefix byte-stable for preserved thinking on chat completions (#42630) 2026-09-24 22:01:20 -07:00
bedrock_mantle fix(anthropic): map the dangerous-tool-use beta for Bedrock Mantle so safeguards never reach it without the beta 2026-09-21 13:24:52 -07:00
black_forest_labs test(llms): migrate phase 5 provider unit tests to tests/unit 2026-09-20 07:50:38 +00:00
cerebras test(llms): migrate phase 5 provider unit tests to tests/unit 2026-09-20 07:50:38 +00:00
chatgpt Merge pull request #42109 from BerriAI/litellm_migrate_tests_p5 2026-09-20 04:00:48 -07:00
cometapi/chat test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
compactifai fix(exceptions): map upstream status codes for providers with no exception_type branch 2026-08-26 00:47:28 -07:00
crusoe test(llms): migrate phase 6 provider unit tests to tests/unit 2026-09-20 07:50:30 +00:00
custom_httpx refactor(ocr): remove the Python OCR execution path and require the Rust route (#43081) 2026-09-24 18:18:50 -07:00
dashscope test: keep the Qwen brand missing-key tests off the network and split the ChatGPT fields test back out 2026-09-21 12:54:23 -07:00
databricks chore(cost-map): remove models past their deprecation date (#42435) 2026-09-22 21:19:26 +00:00
deepgram fix(deepgram): forward only the first model and language values to /listen 2026-09-18 21:29:29 +00:00
deepinfra test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
deepseek test(llms): migrate phase 6 provider unit tests to tests/unit 2026-09-20 07:50:30 +00:00
edenai fix(edenai): advertise reasoning_effort only for models the price map flags as reasoning 2026-09-21 19:58:58 +00:00
fal_ai fix(fal_ai): price nano-banana-2 and nano-banana-pro image generations by resolution (#43101) 2026-09-24 19:17:46 -07:00
featherless_ai/chat test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
fireworks_ai/completion test(llms): migrate phase 7 provider unit tests to tests/unit 2026-09-20 08:08:12 +00:00
gdc/chat Merge remote-tracking branch 'origin/litellm_internal_staging' into litellm_decrease_anys_opus5 2026-08-29 06:03:33 -07:00
gemini chore(cost-map): remove models past their deprecation date (#42435) 2026-09-22 21:19:26 +00:00
gigachat test(llms): migrate phase 7 provider unit tests to tests/unit 2026-09-20 08:08:12 +00:00
github_copilot chore(cost-map): remove models past their deprecation date (#42435) 2026-09-22 21:19:26 +00:00
gradient_ai test: migrate wave 1 phase 8 legacy llm tests to tests/unit 2026-09-20 08:03:54 +00:00
groq test: migrate wave 1 phase 8 legacy llm tests to tests/unit 2026-09-20 08:03:54 +00:00
heroku
huggingface test: migrate wave 1 phase 8 legacy llm tests to tests/unit 2026-09-20 08:03:54 +00:00
inception test: migrate wave 1 phase 8 legacy llm tests to tests/unit 2026-09-20 08:03:54 +00:00
langflow test: migrate wave 1 phase 8 legacy llm tests to tests/unit 2026-09-20 08:03:54 +00:00
lemonade test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
lm_studio
manus test: migrate phase 9 legacy llm provider tests to tests/unit 2026-09-20 08:13:11 +00:00
minimax test: migrate phase 9 legacy llm provider tests to tests/unit 2026-09-20 08:13:11 +00:00
mistral refactor(ocr): remove the Python OCR execution path and require the Rust route (#43081) 2026-09-24 18:18:50 -07:00
modelscope/chat test: migrate phase 9 legacy llm provider tests to tests/unit 2026-09-20 08:13:11 +00:00
nadir feat(providers): add Nadir intelligent-router provider (nadir/auto) (#33227) 2026-09-24 22:03:30 -07:00
nebius test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
nvidia_riva test: migrate nvidia, oci, ocr, oobabooga and openai legacy tests to tests/unit 2026-09-20 08:09:49 +00:00
oci test: migrate nvidia, oci, ocr, oobabooga and openai legacy tests to tests/unit 2026-09-20 08:09:49 +00:00
ocr test: migrate nvidia, oci, ocr, oobabooga and openai legacy tests to tests/unit 2026-09-20 08:09:49 +00:00
ollama fix(ollama): read the JSON thinking field on non-streaming completions (#42838) 2026-09-23 18:26:02 -07:00
openai feat(spend): capture-rate check of LiteLLM spend against the OpenAI bill (#43044) 2026-09-24 17:09:28 -07:00
openai_like feat: add configurable provider affinity header mapping (#41033) 2026-09-22 13:31:33 -07:00
ovhcloud test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
parallel_ai test: migrate phase 12 legacy llm provider tests to tests/unit 2026-09-20 11:02:53 +00:00
pass_through
perplexity test: migrate phase 12 legacy llm provider tests to tests/unit 2026-09-20 11:02:53 +00:00
pg_vector/vector_stores test: require a match= on broad pytest.raises, and drop duplicate parametrize cases (#37769) 2026-08-20 20:24:49 -07:00
reducto refactor(ocr): remove the Python OCR execution path and require the Rust route (#43081) 2026-09-24 18:18:50 -07:00
s3_vectors test: migrate phase 12 legacy llm provider tests to tests/unit 2026-09-20 11:02:53 +00:00
sagemaker feat(bedrock): thread aws_session_tags into STS AssumeRole 2026-09-09 12:37:36 -07:00
sambanova
sap test: migrate phase 12 legacy llm provider tests to tests/unit 2026-09-20 11:02:53 +00:00
snowflake test: migrate phase 12 legacy llm provider tests to tests/unit 2026-09-20 11:02:53 +00:00
soniox test: migrate phase 12 legacy llm provider tests to tests/unit 2026-09-20 11:02:53 +00:00
stability test: migrate phase 12 legacy llm provider tests to tests/unit 2026-09-20 11:02:53 +00:00
tencent Merge pull request #42145 from BerriAI/litellm_migrate_tests_p13 2026-09-20 10:50:18 -07:00
tinyfish test: require a match= on broad pytest.raises, and drop duplicate parametrize cases (#37769) 2026-08-20 20:24:49 -07:00
vercel_ai_gateway test: migrate legacy provider tests to tests/unit (wave 2, phase 13) 2026-09-20 14:18:49 +00:00
vertex_ai fix(anthropic): keep the replayed prefix byte-stable for preserved thinking on chat completions (#42630) 2026-09-24 22:01:20 -07:00
volcengine test: migrate phase 14 wave 2 provider tests to tests/unit 2026-09-20 11:01:40 +00:00
voyage/rerank test: migrate phase 14 wave 2 provider tests to tests/unit 2026-09-20 11:01:40 +00:00
wandb chore(cost-map): remove models past their deprecation date (#42435) 2026-09-22 21:19:26 +00:00
watsonx test: migrate phase 14 wave 2 provider tests to tests/unit 2026-09-20 11:01:40 +00:00
xai chore(cost-map): remove models past their deprecation date (#42435) 2026-09-22 21:19:26 +00:00
you_com test: migrate phase 14 wave 2 provider tests to tests/unit 2026-09-20 11:01:40 +00:00
test_cache_control_and_reasoning.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_file_content_block.py
test_file_search_responses.py fix(file_search): escape the dropped vector_store_id in the warning 2026-09-05 16:44:54 -07:00
test_lifecycle_fix.py
test_polling_url_origin_match.py refactor(ocr): remove the Python OCR execution path and require the Rust route (#43081) 2026-09-24 18:18:50 -07:00
test_predibase_transformation.py