From 2d6ad534bcfb85aae482ed5506b776a4c1f67215 Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Fri, 11 Apr 2025 15:12:12 -0700 Subject: [PATCH] [Feat - PR1] Add xAI grok-3 models to LiteLLM (#9920) * add xai/grok-3-mini-beta, xai/grok-3-beta * add grok-3-fast-latest models * supports_response_schema * fix pricing * docs xai --- docs/my-website/docs/providers/xai.md | 17 ++-- ...odel_prices_and_context_window_backup.json | 78 +++++++++++++++++++ model_prices_and_context_window.json | 78 +++++++++++++++++++ 3 files changed, 166 insertions(+), 7 deletions(-) diff --git a/docs/my-website/docs/providers/xai.md b/docs/my-website/docs/providers/xai.md index a3c56d56199..a951b6bb9e6 100644 --- a/docs/my-website/docs/providers/xai.md +++ b/docs/my-website/docs/providers/xai.md @@ -18,13 +18,14 @@ os.environ['XAI_API_KEY'] ``` ## Sample Usage -```python + +```python showLineNumbers title="LiteLLM python sdk usage - Non-streaming" from litellm import completion import os os.environ['XAI_API_KEY'] = "" response = completion( - model="xai/grok-2-latest", + model="xai/grok-3-mini-beta", messages=[ { "role": "user", @@ -45,13 +46,14 @@ print(response) ``` ## Sample Usage - Streaming -```python + +```python showLineNumbers title="LiteLLM python sdk usage - Streaming" from litellm import completion import os os.environ['XAI_API_KEY'] = "" response = completion( - model="xai/grok-2-latest", + model="xai/grok-3-mini-beta", messages=[ { "role": "user", @@ -75,7 +77,8 @@ for chunk in response: ``` ## Sample Usage - Vision -```python + +```python showLineNumbers title="LiteLLM python sdk usage - Vision" import os from litellm import completion @@ -110,7 +113,7 @@ Here's how to call a XAI model with the LiteLLM Proxy Server 1. Modify the config.yaml - ```yaml + ```yaml showLineNumbers model_list: - model_name: my-model litellm_params: @@ -131,7 +134,7 @@ Here's how to call a XAI model with the LiteLLM Proxy Server - ```python + ```python showLineNumbers import openai client = openai.OpenAI( api_key="sk-1234", # pass litellm proxy key, if you're using virtual keys diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index e7485f73786..08e9a7791b9 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -3097,6 +3097,84 @@ "supports_vision": true, "supports_tool_choice": true }, + "xai/grok-3-beta": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "input_cost_per_token": 0.000003, + "output_cost_per_token": 0.000015, + "litellm_provider": "xai", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "source": "https://x.ai/api#pricing" + }, + "xai/grok-3-fast-beta": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "input_cost_per_token": 0.000005, + "output_cost_per_token": 0.000025, + "litellm_provider": "xai", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "source": "https://x.ai/api#pricing" + }, + "xai/grok-3-fast-latest": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "input_cost_per_token": 0.000005, + "output_cost_per_token": 0.000025, + "litellm_provider": "xai", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "source": "https://x.ai/api#pricing" + }, + "xai/grok-3-mini-beta": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "input_cost_per_token": 0.0000003, + "output_cost_per_token": 0.0000005, + "litellm_provider": "xai", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "source": "https://x.ai/api#pricing" + }, + "xai/grok-3-mini-fast-beta": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "input_cost_per_token": 0.0000006, + "output_cost_per_token": 0.000004, + "litellm_provider": "xai", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "source": "https://x.ai/api#pricing" + }, + "xai/grok-3-mini-fast-latest": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "input_cost_per_token": 0.0000006, + "output_cost_per_token": 0.000004, + "litellm_provider": "xai", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "source": "https://x.ai/api#pricing" + }, "xai/grok-vision-beta": { "max_tokens": 8192, "max_input_tokens": 8192, diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index e7485f73786..08e9a7791b9 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -3097,6 +3097,84 @@ "supports_vision": true, "supports_tool_choice": true }, + "xai/grok-3-beta": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "input_cost_per_token": 0.000003, + "output_cost_per_token": 0.000015, + "litellm_provider": "xai", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "source": "https://x.ai/api#pricing" + }, + "xai/grok-3-fast-beta": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "input_cost_per_token": 0.000005, + "output_cost_per_token": 0.000025, + "litellm_provider": "xai", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "source": "https://x.ai/api#pricing" + }, + "xai/grok-3-fast-latest": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "input_cost_per_token": 0.000005, + "output_cost_per_token": 0.000025, + "litellm_provider": "xai", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "source": "https://x.ai/api#pricing" + }, + "xai/grok-3-mini-beta": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "input_cost_per_token": 0.0000003, + "output_cost_per_token": 0.0000005, + "litellm_provider": "xai", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "source": "https://x.ai/api#pricing" + }, + "xai/grok-3-mini-fast-beta": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "input_cost_per_token": 0.0000006, + "output_cost_per_token": 0.000004, + "litellm_provider": "xai", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "source": "https://x.ai/api#pricing" + }, + "xai/grok-3-mini-fast-latest": { + "max_tokens": 131072, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "input_cost_per_token": 0.0000006, + "output_cost_per_token": 0.000004, + "litellm_provider": "xai", + "mode": "chat", + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": false, + "source": "https://x.ai/api#pricing" + }, "xai/grok-vision-beta": { "max_tokens": 8192, "max_input_tokens": 8192,