litellm/tests/llm_translation
Ishaan Jaff 48b9ecacad
fix(realtime): fix guardrails not firing for Gemini/Vertex AI and provider_config realtime WebSocket sessions (#22168)
* fix(gemini): enable inputAudioTranscription and handle transcription events for realtime guardrails

Gemini sends inputTranscription/outputTranscription inside serverContent separately from modelTurn/turnComplete. This adds handling to convert them into OpenAI-compatible events so the guardrail pipeline can inspect voice input, and enables inputAudioTranscription in the session setup config.

Made-with: Cursor

* fix(vertex_ai): enable inputAudioTranscription in realtime session config

Add inputAudioTranscription to the Vertex AI realtime setup so the backend returns transcripts of user speech, allowing guardrails to inspect voice input.

Made-with: Cursor

* fix(realtime): pass user_api_key_dict and guardrail metadata through async_realtime handler

The base LLM HTTP handler's async_realtime method was not accepting or forwarding user_api_key_dict and litellm_metadata to RealTimeStreaming. This meant guardrails configured with default_on=false were silently skipped for all provider_config-based realtime connections (Gemini, Vertex AI, etc). Also fixes wss:// connections when SSL_VERIFY=False by overriding ssl=False for secure WebSocket URLs.

Made-with: Cursor

* fix(realtime): forward guardrail metadata for generic provider_config and vertex_ai paths

The _arealtime function was not passing user_api_key_dict or litellm_metadata to base_llm_http_handler.async_realtime() for the generic provider_config path and the vertex_ai-specific path. This broke guardrail resolution since RealTimeStreaming.request_data was empty, causing should_run_guardrail to return False.

Made-with: Cursor

* fix(realtime): voice guardrail responses and block duplicate response.create on text input

When a guardrail blocks voice input, send a conversation.item.create + response.create to the backend so the LLM voices the guardrail message as audio instead of only returning text. Also adds pending_guardrail_message tracking to suppress the automatic response.create the client sends after a blocked text message, and broadens _has_audio_transcription_guardrails to match pre_call/post_call modes.

Made-with: Cursor

* test(realtime): update guardrail tests for broadened audio transcription check and add integration tests

Update existing tests to reflect that pre_call guardrails now correctly trigger the audio/VAD session.update injection. Add integration test file for live OpenAI realtime guardrail testing.

Made-with: Cursor

* fix(realtime): instruct LLM to say exact guardrail message verbatim

The previous prompt gave the LLM creative freedom to paraphrase the guardrail violation message. Now it instructs the LLM to repeat the exact configured message word for word.

Made-with: Cursor

* fix(realtime): preserve wss ssl semantics and move live guardrail test

Keep TLS enabled for wss realtime sessions while honoring SSL_VERIFY=False via a no-verify SSLContext, move the OpenAI live guardrail test into llm_translation, and dedupe duplicated guardrail-detection helpers to prevent drift.

Made-with: Cursor
2026-02-26 17:06:07 -08:00
..
fixtures test fix 2025-10-16 18:00:46 -07:00
realtime fix(realtime): fix guardrails not firing for Gemini/Vertex AI and provider_config realtime WebSocket sessions (#22168) 2026-02-26 17:06:07 -08:00
test-skill [Feat] New API - Claude Skills API (Anthropic) (#17042) 2025-11-24 15:01:40 -08:00
test_llm_response_utils Merge remote-tracking branch 'origin/main' into litellm_perf_skip_throwaway_usage 2026-02-24 14:51:57 -08:00
test_skills_data [Feat] Unified Skills API - works across Anthropic, Vertex, Azure, Bedrock (#18232) 2025-12-19 18:55:59 +05:30
base_audio_transcription_unit_tests.py fix: use fastuuid helper (#14903) 2025-09-25 15:47:01 -07:00
base_embedding_unit_tests.py Litellm dev 12 25 2025 p2 (#7420) 2024-12-25 18:35:34 -08:00
base_llm_unit_tests.py fix img URL for tests 2025-11-22 09:41:15 -08:00
base_rerank_unit_tests.py [Feat] Add Nvidia NIM Rerank Support (#15152) 2025-10-02 18:58:52 -07:00
conftest.py [Perf] Improvements for Async Success Handler (Logging Callbacks) - Approx +130 RPS (#13905) 2025-08-23 13:13:23 -07:00
dog.wav (feat) Support audio param in responses streaming (#6312) 2024-10-18 19:16:14 +05:30
duck.png fix vertex ai multimodal embedding translation (#9471) 2025-03-24 23:23:28 -07:00
gettysburg.wav Litellm dev 12 25 2025 p2 (#7420) 2024-12-25 18:35:34 -08:00
guinea.png fix vertex ai multimodal embedding translation (#9471) 2025-03-24 23:23:28 -07:00
log.xt Litellm dev 04 05 2025 p2 (#9774) 2025-04-07 21:02:52 -07:00
Readme.md LiteLLM Minor Fixes & Improvements (11/29/2024) (#6965) 2024-12-01 05:24:11 -08:00
test_a2a.py [Feat] Allow calling A2A agents through LiteLLM /chat/completions API (#20358) 2026-02-03 12:52:33 -08:00
test_anthropic_completion.py Fix sonnet 3.7 tests 2026-02-20 17:29:16 -08:00
test_aws_base_llm.py Add support for AWS assume_role with a session token 2025-08-23 22:37:21 -07:00
test_azure_agents.py [Fixes] A2a Gateway - ensure azure foundry agents work (#17943) 2025-12-13 16:08:03 -08:00
test_azure_ai.py [Feat] v2 - Logs view with side panel and improved UX (#20091) 2026-01-30 18:34:13 -08:00
test_azure_o_series.py TestAzureOpenAIO3Mini 2025-12-20 23:18:19 +05:30
test_azure_openai.py fix: support prompt_cache_key for OpenAI and Azure chat completions (#20989) 2026-02-11 12:25:29 -08:00
test_bedrock_agentcore.py fix(agentcore): simplify agentcore streaming (#17141) 2026-01-19 05:20:24 -08:00
test_bedrock_agents.py test: skip test with invalid arn 2025-09-09 20:35:44 -07:00
test_bedrock_anthropic_regression.py Add Anthropic caching and context tests 2026-02-02 13:25:47 +05:30
test_bedrock_common_utils.py fix(bedrock): strip throughput tier suffixes from model names (#19147) 2026-01-15 18:43:10 -08:00
test_bedrock_completion.py fix: apply custom video pricing from deployment model_info (#21923) 2026-02-23 20:44:02 -08:00
test_bedrock_dynamic_auth_params_unit_tests.py Add comprehensive tests for AWS external ID support 2025-09-15 19:56:31 +02:00
test_bedrock_embedding.py [Fix] Bedrock Embeddings - Ensure correct aws_region is used when provided dynamically (#16547) 2025-11-12 12:38:58 -08:00
test_bedrock_govcloud.py feat(bedrock): Add Claude 4.5 to US Gov Cloud (#16957) 2025-11-21 19:06:26 -08:00
test_bedrock_gpt_oss.py test fix 2025-10-17 11:18:29 -07:00
test_bedrock_invoke_tests.py Fix: test_nova_invoke_streaming_chunk_parsing 2026-01-23 19:49:42 +05:30
test_bedrock_llama.py Add bedrock llama4 pricing + handle llama4 templating on bedrock invoke route (#10582) 2025-05-06 16:06:24 -07:00
test_bedrock_moonshot.py Add tests for kimi 2 bedrock model 2026-01-08 10:07:33 +05:30
test_bedrock_nova_embedding.py fix(cost-calc): use per-image pricing for Bedrock multimodal embeddings (#21646) 2026-02-20 08:51:21 -08:00
test_bedrock_nova_json.py Extract 'thinking' from nova response + Add 'drop_params' support for gpt-image-1 (#10680) 2025-05-08 23:01:38 -07:00
test_clarifai_completion.py (Refactor) Code Quality improvement - Use Common base handler for clarifai/ (#7125) 2024-12-09 21:04:48 -08:00
test_cloudflare.py (Refactor) Code Quality improvement - Use Common base handler for cloudflare/ provider (#7127) 2024-12-10 10:12:22 -08:00
test_cohere.py fix(tests): add flaky retries to flaky CI tests (#21795) 2026-02-21 11:56:29 -08:00
test_containers_api.py [Feat] Containers API - add new container API file management + UI Interface (#17745) 2025-12-09 17:33:26 -08:00
test_convert_dict_to_image.py Fix None values in usage field for gpt-image-1 model responses (#11448) 2025-06-05 13:19:18 -07:00
test_databricks.py fix: test_databricks_embeddings[True] 2026-01-06 14:20:30 +05:30
test_deepgram.py Litellm dev 12 28 2024 p3 (#7464) 2024-12-28 19:18:58 -08:00
test_deepseek_completion.py test_deepseek_mock_completion 2026-01-17 16:36:42 -08:00
test_elevenlabs.py Integrate eleven labs text-to-speech (#16573) 2025-11-24 18:49:30 -08:00
test_evals_api.py fix(tests): add flaky retries to flaky CI tests (#21795) 2026-02-21 11:56:29 -08:00
test_fireworks_ai_translation.py fix img URL for tests 2025-11-22 09:41:15 -08:00
test_gemini.py fix(tests): mock test_claude_tool_use_with_gemini to fix flaky CI (#21832) 2026-02-21 14:34:54 -08:00
test_gemini_image_usage.py fix: ci test 2026-01-17 09:17:31 +09:00
test_gigachat.py bugfix: Remove user messages merging 2026-02-03 12:58:28 +00:00
test_gpt4o_audio.py Add gemini audio input support + handle special tokens in sagemaker response (#9640) 2025-03-29 19:23:09 -07:00
test_groq.py Add grok reasoning content 2026-01-27 16:34:57 +05:30
test_hosted_vllm_embedding_e2e.py move e2e to llm translation 2026-02-17 22:33:13 +05:30
test_huggingface_chat_completion.py Revert "Revert "fix tests (#12286)"" 2025-07-03 12:08:27 -07:00
test_hyperbolic.py Revert "Litellm dev 07 21 2025 p1 (#12848)" 2025-07-22 18:28:36 -07:00
test_infinity.py [Feat] Use aiohttp transport by default - 97% lower median latency (#11097) 2025-05-23 22:55:35 -07:00
test_jina_ai.py Litellm 12 02 2024 (#6994) 2024-12-02 22:00:01 -08:00
test_lambda_ai.py [Performance] Use O(1) Set lookups for model routing (#13879) 2025-08-21 22:56:46 -07:00
test_langgraph.py [Feat] New Provider - add langgraph (#17783) 2025-12-10 12:30:35 -08:00
test_litellm_proxy_provider.py [Bug Fix] image_edit() function returns APIConnectionError with litellm_proxy - Support for both image edits and image generations (#13735) 2025-08-18 18:26:32 -07:00
test_minimax_tts.py Add support for minmax tts 2025-12-23 21:53:53 +05:30
test_mistral_api.py test: reduce mistral direct tests b/c of rate limit errors 2025-08-23 11:15:03 -07:00
test_model_cost_map_resilience.py [Stability] Investigate + fix issue where model cost map became poorly formatted (#20895) 2026-02-10 15:17:01 -08:00
test_morph.py fix morph api tests 2025-07-22 18:44:44 -07:00
test_nvidia_nim.py TestNvidiaNim 2025-12-13 16:38:11 -08:00
test_openai.py test_openai_codex_stream 2026-02-14 12:28:18 -08:00
test_openai_o1.py test_streaming_response 2025-10-31 19:10:38 -07:00
test_openrouter.py fix: ci test 2026-01-17 09:17:31 +09:00
test_optional_params.py Fix: add stop param as supported for openai and azure 2026-02-19 11:26:38 +05:30
test_perplexity_reasoning.py Revert "Update perplexity cost tracking (#15743)" (#16345) 2025-11-06 19:00:45 -08:00
test_prompt_caching.py (feat) openai prompt caching (non streaming) - add prompt_tokens_details in usage response (#6039) 2024-10-03 23:31:10 +05:30
test_prompt_factory.py fix(anthropic): sanitize tool_use IDs in convert_to_anthropic_tool_invoke (#21964) 2026-02-23 21:01:48 -08:00
test_replicate.py Add all replicate models in model cost map 2026-01-12 15:19:49 +05:30
test_rerank.py test_rerank_custom_callbacks 2025-11-01 09:25:29 -07:00
test_router_llm_translation_tests.py fix(tests): move test_router_azure_acompletion to llm_translation testing (#21837) 2026-02-21 14:41:53 -08:00
test_sambanova_chat_transformation.py [Bug fix] Fixes SambaNova API rejecting requests when message content is passed as a list format (#16612) 2025-11-13 17:03:14 -08:00
test_skills_api.py [Feat] New API - Claude Skills API (Anthropic) (#17042) 2025-11-24 15:01:40 -08:00
test_skills_e2e.py test_slack_gif_skill_creates_gif 2025-12-20 21:35:25 +05:30
test_snowflake.py snowflake test fix 2025-11-21 17:12:55 -08:00
test_text_completion.py Add inference providers support for Hugging Face (#8258) (#9738) (#9773) 2025-04-05 10:50:15 -07:00
test_text_completion_unit_tests.py fix(openai): use optimized async http client for text completions (#17831) 2025-12-11 14:54:26 -08:00
test_together_ai.py [Feat] Use aiohttp transport by default - 97% lower median latency (#11097) 2025-05-23 22:55:35 -07:00
test_triton.py fix(triton/completion/transformation.py): remove bad_words / stop wor… (#10163) 2025-04-19 11:23:37 -07:00
test_unit_test_bedrock_invoke.py [Oct Staging Branch] (#15460) 2025-10-17 17:52:25 -07:00
test_v0.py feat: add v0 provider support (#12751) 2025-07-18 18:26:44 -07:00
test_voyage_ai.py Add support for voyage-context-3 embedding model 2025-08-22 00:15:12 +05:30
test_watsonx.py chore: allow passing scope id for watsonx inferencing (#18959) 2026-01-14 03:47:20 +05:30
test_xai.py Fix usage in xai 2026-02-19 18:48:30 +05:30

Unit tests for individual LLM providers.

Name of the test file is the name of the LLM provider - e.g. test_openai.py is for OpenAI.