130 lines
3.4 KiB
Plaintext
130 lines
3.4 KiB
Plaintext
---
|
|
title: xAI (Grok)
|
|
description: "Track and analyze your xAI Grok API calls with AgentOps"
|
|
---
|
|
|
|
AgentOps can track Grok. Grok is this true?
|
|
|
|
## Installation
|
|
|
|
<CodeGroup>
|
|
```bash pip
|
|
pip install agentops openai
|
|
```
|
|
```bash poetry
|
|
poetry add agentops openai
|
|
``
|
|
```bash uv
|
|
uv pip install agentops openai
|
|
```
|
|
</CodeGroup>
|
|
|
|
## Setting Up API Keys
|
|
|
|
Before using xAI with AgentOps, you need to set up your API keys. You can obtain:
|
|
- **XAI_API_KEY**: From the [xAI Developer Platform](https://console.x.ai/)
|
|
- **AGENTOPS_API_KEY**: From your [AgentOps Dashboard](https://app.agentops.ai/)
|
|
|
|
Then to set them up, you can either export them as environment variables or set them in a `.env` file.
|
|
|
|
<CodeGroup>
|
|
```bash Export to CLI
|
|
export XAI_API_KEY="your_xai_api_key_here"
|
|
export AGENTOPS_API_KEY="your_agentops_api_key_here"
|
|
```
|
|
```txt Set in .env file
|
|
XAI_API_KEY="your_xai_api_key_here"
|
|
AGENTOPS_API_KEY="your_agentops_api_key_here"
|
|
```
|
|
</CodeGroup>
|
|
|
|
Then load the environment variables in your Python code:
|
|
|
|
```python
|
|
from dotenv import load_dotenv
|
|
import os
|
|
|
|
# Load environment variables from .env file
|
|
load_dotenv()
|
|
|
|
# Set up environment variables with fallback values
|
|
os.environ["XAI_API_KEY"] = os.getenv("XAI_API_KEY")
|
|
os.environ["AGENTOPS_API_KEY"] = os.getenv("AGENTOPS_API_KEY")
|
|
```
|
|
|
|
## Usage
|
|
|
|
Initialize AgentOps at the beginning of your application. Then, use the OpenAI SDK with xAI's base URL to interact with Grok. AgentOps will automatically track all API calls.
|
|
|
|
<CodeGroup>
|
|
```python Simple Chat
|
|
import os
|
|
import agentops
|
|
from openai import OpenAI
|
|
|
|
# Initialize AgentOps
|
|
agentops.init()
|
|
|
|
# Create OpenAI client configured for xAI
|
|
client = OpenAI(
|
|
api_key=os.getenv("XAI_API_KEY"),
|
|
base_url="https://api.x.ai/v1",
|
|
)
|
|
|
|
# Basic chat completion
|
|
completion = client.chat.completions.create(
|
|
model="grok-3-latest",
|
|
messages=[
|
|
{"role": "system", "content": "You are a helpful AI assistant."},
|
|
{"role": "user", "content": "Explain the concept of AI observability in simple terms."},
|
|
],
|
|
)
|
|
|
|
print(completion.choices[0].message.content)
|
|
```
|
|
|
|
```python Streaming Chat
|
|
import os
|
|
import agentops
|
|
from openai import OpenAI
|
|
|
|
# Initialize AgentOps
|
|
agentops.init()
|
|
|
|
# Create OpenAI client configured for xAI
|
|
client = OpenAI(
|
|
api_key=os.getenv("XAI_API_KEY"),
|
|
base_url="https://api.x.ai/v1",
|
|
)
|
|
|
|
# Streaming chat completion
|
|
stream = client.chat.completions.create(
|
|
model="grok-3-latest",
|
|
messages=[
|
|
{"role": "system", "content": "You are a helpful AI assistant."},
|
|
{"role": "user", "content": "Tell me about the latest developments in AI."},
|
|
],
|
|
stream=True,
|
|
)
|
|
|
|
for chunk in stream:
|
|
if chunk.choices[0].delta.content is not None:
|
|
print(chunk.choices[0].delta.content, end="")
|
|
```
|
|
</CodeGroup>
|
|
|
|
## Examples
|
|
<CardGroup cols={2}>
|
|
<Card title="Grok Simple Example" icon="notebook" href="/v2/examples/xai">
|
|
Basic usage patterns for Grok LLM
|
|
</Card>
|
|
<Card title="Grok Vision Example" icon="notebook" href="https://github.com/AgentOps-AI/agentops/blob/main/examples/xai/grok_vision_examples.ipynb" newTab={true}>
|
|
Demonstrates using Grok with vision capabilities.
|
|
</Card>
|
|
</CardGroup>
|
|
|
|
<script type="module" src="/scripts/github_stars.js"></script>
|
|
<script type="module" src="/scripts/scroll-img-fadein-animation.js"></script>
|
|
<script type="module" src="/scripts/button_heartbeat_animation.js"></script>
|
|
<script type="css" src="/styles/styles.css"></script>
|