From d60d3ee970217b0bcf70dd3719708e32727c4546 Mon Sep 17 00:00:00 2001
From: Zhaohan Dong <65422392+zhaohan-dong@users.noreply.github.com>
Date: Mon, 3 Feb 2025 23:29:19 +0000
Subject: [PATCH] Add xAI and fix some old model config (#8218)
Signed-off-by: Zhaohan Dong <65422392+zhaohan-dong@users.noreply.github.com>
---
docs/my-website/docs/completion/json_mode.md | 1 +
docs/my-website/docs/completion/vision.md | 8 +++--
docs/my-website/docs/index.md | 29 +++++++++++++++++
docs/my-website/docs/providers/xai.md | 33 ++++++++++++++++++--
4 files changed, 66 insertions(+), 5 deletions(-)
diff --git a/docs/my-website/docs/completion/json_mode.md b/docs/my-website/docs/completion/json_mode.md
index 0c3a930764c..ec140ce5827 100644
--- a/docs/my-website/docs/completion/json_mode.md
+++ b/docs/my-website/docs/completion/json_mode.md
@@ -89,6 +89,7 @@ response_format: { "type": "json_schema", "json_schema": … , "strict": true }
Works for:
- OpenAI models
- Azure OpenAI models
+- xAI models (Grok-2 or later)
- Google AI Studio - Gemini models
- Vertex AI models (Gemini + Anthropic)
- Bedrock Models
diff --git a/docs/my-website/docs/completion/vision.md b/docs/my-website/docs/completion/vision.md
index 0880d0ec492..efb988b76f7 100644
--- a/docs/my-website/docs/completion/vision.md
+++ b/docs/my-website/docs/completion/vision.md
@@ -118,9 +118,11 @@ response = client.chat.completions.create(
Use `litellm.supports_vision(model="")` -> returns `True` if model supports `vision` and `False` if not
```python
-assert litellm.supports_vision(model="gpt-4-vision-preview") == True
-assert litellm.supports_vision(model="gemini-1.0-pro-vision") == True
-assert litellm.supports_vision(model="gpt-3.5-turbo") == False
+assert litellm.supports_vision(model="openai/gpt-4-vision-preview") == True
+assert litellm.supports_vision(model="vertex_ai/gemini-1.0-pro-vision") == True
+assert litellm.supports_vision(model="openai/gpt-3.5-turbo") == False
+assert litellm.supports_vision(model="xai/grok-2-vision-latest") == True
+assert litellm.supports_vision(model="xai/grok-2-latest") == False
```
diff --git a/docs/my-website/docs/index.md b/docs/my-website/docs/index.md
index dd845576c70..dd3be587b55 100644
--- a/docs/my-website/docs/index.md
+++ b/docs/my-website/docs/index.md
@@ -89,7 +89,21 @@ response = completion(
```
+
+```python
+from litellm import completion
+import os
+
+## set ENV variables
+os.environ["XAI_API_KEY"] = "your-api-key"
+
+response = completion(
+ model="xai/grok-2-latest",
+ messages=[{ "content": "Hello, how are you?","role": "user"}]
+)
+```
+
```python
@@ -272,7 +286,22 @@ response = completion(
```
+
+```python
+from litellm import completion
+import os
+
+## set ENV variables
+os.environ["XAI_API_KEY"] = "your-api-key"
+
+response = completion(
+ model="xai/grok-2-latest",
+ messages=[{ "content": "Hello, how are you?","role": "user"}],
+ stream=True,
+)
+```
+
```python
diff --git a/docs/my-website/docs/providers/xai.md b/docs/my-website/docs/providers/xai.md
index 131c02b3dc7..00a7197af4f 100644
--- a/docs/my-website/docs/providers/xai.md
+++ b/docs/my-website/docs/providers/xai.md
@@ -24,7 +24,7 @@ import os
os.environ['XAI_API_KEY'] = ""
response = completion(
- model="xai/grok-beta",
+ model="xai/grok-2-latest",
messages=[
{
"role": "user",
@@ -51,7 +51,7 @@ import os
os.environ['XAI_API_KEY'] = ""
response = completion(
- model="xai/grok-beta",
+ model="xai/grok-2-latest",
messages=[
{
"role": "user",
@@ -74,6 +74,35 @@ for chunk in response:
print(chunk)
```
+## Sample Usage - Vision
+```python
+import os
+from litellm import completion
+
+os.environ["XAI_API_KEY"] = "your-api-key"
+
+response = completion(
+ model="xai/grok-2-latest",
+ messages=[
+ {
+ "role": "user",
+ "content": [
+ {
+ "type": "image_url",
+ "image_url": {
+ "url": "https://science.nasa.gov/wp-content/uploads/2023/09/web-first-images-release.png",
+ "detail": "high",
+ },
+ },
+ {
+ "type": "text",
+ "text": "What's in this image?",
+ },
+ ],
+ },
+ ],
+)
+```
## Usage with LiteLLM Proxy Server