xAI
xAI (Grok)
AgentOps로 xAI Grok API 호출을 추적하고 분석하는 방법을 소개해요. 설치, API 키 설정, 그리고 채팅·스트리밍 예제까지 알아볼게요.
출처: 문서
본문
AgentOps는 Grok을 추적할 수 있어요. Grok은 정말일까요?
설치 (Installation)
poetry add agentops openai
``
```bash uv
uv pip install agentops openai
API 키 설정 (Setting Up API Keys)
xAI를 AgentOps와 함께 사용하기 전에 API 키를 설정해야 해요. 다음을 얻을 수 있습니다.
- XAI_API_KEY: xAI Developer Platform에서
- AGENTOPS_API_KEY: AgentOps Dashboard에서
그런 다음 환경 변수로 내보내거나 .env 파일에 설정할 수 있어요.
XAI_API_KEY="your_xai_api_key_here"
AGENTOPS_API_KEY="your_agentops_api_key_here"
그리고 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)
애플리케이션 시작 시 AgentOps를 초기화하세요. 그런 다음 OpenAI SDK를 xAI의 base URL과 함께 사용해 Grok과 상호작용합니다. AgentOps가 모든 API 호출을 자동으로 추적할 거예요.
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 theme={null}
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="")