From b397dc1497b8e7942c1fb2d0fe1a8be51bf4f404 Mon Sep 17 00:00:00 2001 From: Krish Dholakia Date: Mon, 6 Jan 2025 20:44:04 -0800 Subject: [PATCH] Litellm dev 01 06 2025 p3 (#7596) * build(model_prices_and_context_window.json): add gemini-1.5-pro 'supports_vision' = true Fixes https://github.com/BerriAI/litellm/issues/7592 * build(model_prices_and_context_window.json): add new mistral models pricing + model info --- ...odel_prices_and_context_window_backup.json | 43 ++++++++++++++++++- model_prices_and_context_window.json | 43 ++++++++++++++++++- tests/local_testing/test_utils.py | 8 ++++ 3 files changed, 90 insertions(+), 4 deletions(-) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index f8815e4f5c..2ef931458c 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -1810,8 +1810,19 @@ "max_tokens": 128000, "max_input_tokens": 128000, "max_output_tokens": 128000, - "input_cost_per_token": 0.000003, - "output_cost_per_token": 0.000009, + "input_cost_per_token": 0.000002, + "output_cost_per_token": 0.000006, + "litellm_provider": "mistral", + "mode": "chat", + "supports_function_calling": true, + "supports_assistant_prefill": true + }, + "mistral/mistral-large-2411": { + "max_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "input_cost_per_token": 0.000002, + "output_cost_per_token": 0.000006, "litellm_provider": "mistral", "mode": "chat", "supports_function_calling": true, @@ -1839,6 +1850,30 @@ "supports_function_calling": true, "supports_assistant_prefill": true }, + "mistral/pixtral-large-latest": { + "max_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "input_cost_per_token": 0.000002, + "output_cost_per_token": 0.000006, + "litellm_provider": "mistral", + "mode": "chat", + "supports_function_calling": true, + "supports_assistant_prefill": true, + "supports_vision": true + }, + "mistral/pixtral-large-2411": { + "max_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "input_cost_per_token": 0.000002, + "output_cost_per_token": 0.000006, + "litellm_provider": "mistral", + "mode": "chat", + "supports_function_calling": true, + "supports_assistant_prefill": true, + "supports_vision": true + }, "mistral/pixtral-12b-2409": { "max_tokens": 128000, "max_input_tokens": 128000, @@ -2833,6 +2868,8 @@ "output_cost_per_character_above_128k_tokens": 0.0000025, "litellm_provider": "vertex_ai-language-models", "mode": "chat", + "supports_vision": true, + "supports_pdf_input": true, "supports_system_messages": true, "supports_function_calling": true, "supports_tool_choice": true, @@ -2859,6 +2896,7 @@ "output_cost_per_character_above_128k_tokens": 0.0000025, "litellm_provider": "vertex_ai-language-models", "mode": "chat", + "supports_vision": true, "supports_system_messages": true, "supports_function_calling": true, "supports_tool_choice": true, @@ -2885,6 +2923,7 @@ "output_cost_per_character_above_128k_tokens": 0.0000025, "litellm_provider": "vertex_ai-language-models", "mode": "chat", + "supports_vision": true, "supports_system_messages": true, "supports_function_calling": true, "supports_tool_choice": true, diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index 0a8f840ca5..b3c9904c9f 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -1810,8 +1810,19 @@ "max_tokens": 128000, "max_input_tokens": 128000, "max_output_tokens": 128000, - "input_cost_per_token": 0.000003, - "output_cost_per_token": 0.000009, + "input_cost_per_token": 0.000002, + "output_cost_per_token": 0.000006, + "litellm_provider": "mistral", + "mode": "chat", + "supports_function_calling": true, + "supports_assistant_prefill": true + }, + "mistral/mistral-large-2411": { + "max_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "input_cost_per_token": 0.000002, + "output_cost_per_token": 0.000006, "litellm_provider": "mistral", "mode": "chat", "supports_function_calling": true, @@ -1839,6 +1850,30 @@ "supports_function_calling": true, "supports_assistant_prefill": true }, + "mistral/pixtral-large-latest": { + "max_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "input_cost_per_token": 0.000002, + "output_cost_per_token": 0.000006, + "litellm_provider": "mistral", + "mode": "chat", + "supports_function_calling": true, + "supports_assistant_prefill": true, + "supports_vision": true + }, + "mistral/pixtral-large-2411": { + "max_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "input_cost_per_token": 0.000002, + "output_cost_per_token": 0.000006, + "litellm_provider": "mistral", + "mode": "chat", + "supports_function_calling": true, + "supports_assistant_prefill": true, + "supports_vision": true + }, "mistral/pixtral-12b-2409": { "max_tokens": 128000, "max_input_tokens": 128000, @@ -2833,6 +2868,8 @@ "output_cost_per_character_above_128k_tokens": 0.0000025, "litellm_provider": "vertex_ai-language-models", "mode": "chat", + "supports_vision": true, + "supports_pdf_input": true, "supports_system_messages": true, "supports_function_calling": true, "supports_tool_choice": true, @@ -2859,6 +2896,7 @@ "output_cost_per_character_above_128k_tokens": 0.0000025, "litellm_provider": "vertex_ai-language-models", "mode": "chat", + "supports_vision": true, "supports_system_messages": true, "supports_function_calling": true, "supports_tool_choice": true, @@ -2885,6 +2923,7 @@ "output_cost_per_character_above_128k_tokens": 0.0000025, "litellm_provider": "vertex_ai-language-models", "mode": "chat", + "supports_vision": true, "supports_system_messages": true, "supports_function_calling": true, "supports_tool_choice": true, diff --git a/tests/local_testing/test_utils.py b/tests/local_testing/test_utils.py index 6b654ca76e..768c20834e 100644 --- a/tests/local_testing/test_utils.py +++ b/tests/local_testing/test_utils.py @@ -1418,3 +1418,11 @@ def test_get_valid_models_default(monkeypatch): monkeypatch.setenv("FIREWORKS_API_KEY", "sk-1234") valid_models = get_valid_models() assert len(valid_models) > 0 + + +def test_supports_vision_gemini(): + os.environ["LITELLM_LOCAL_MODEL_COST_MAP"] = "True" + litellm.model_cost = litellm.get_model_cost_map(url="") + from litellm.utils import supports_vision + + assert supports_vision("gemini-1.5-pro") is True