Skip to main content

Overview

xAI provides access to Grok and other models via the native xAI SDK. Upsonic integrates using XaiModel, which supports built-in tools (web search, code execution, MCP), reasoning content, and structured output. Model Class: XaiModel

Authentication

export XAI_API_KEY="..."  # Required (or pass api_key to XaiProvider)

Examples

from upsonic import Agent, Task
from upsonic.models.xai import XaiModel

model = XaiModel(model_name="grok-2-1212")
agent = Agent(model=model)

task = Task("Hello, how are you?")
result = agent.do(task)
print(result)

Model Settings

You can set model parameters in two ways: on the model or on the Agent. On the model:
from upsonic import Agent, Task
from upsonic.models.xai import XaiModel, XaiModelSettings

model = XaiModel(
    model_name="grok-2-1212",
    settings=XaiModelSettings(max_tokens=1024, temperature=0.7)
)
agent = Agent(model=model)
On the Agent:
from upsonic import Agent, Task
from upsonic.models.xai import XaiModelSettings

agent = Agent(
    model="xai/grok-2-1212",
    settings=XaiModelSettings(max_tokens=1024, temperature=0.7)
)

Parameters

ParameterTypeDescriptionDefaultSource
max_tokensintMaximum tokens to generateModel defaultBase
temperaturefloatSampling temperature (0.0-2.0)1.0Base
top_pfloatNucleus sampling1.0Base
stop_sequenceslist[str]Stop sequencesNoneBase
presence_penaltyfloatToken presence penalty0.0Base
frequency_penaltyfloatToken frequency penalty0.0Base
parallel_tool_callsboolAllow parallel toolsTrueBase
timeoutfloatRequest timeout (seconds)600Base
xai_logprobsboolReturn log probabilitiesFalsexAI
xai_top_logprobsintTop N logprobs per position (0–20)NonexAI
xai_userstrEnd-user identifier for abuse monitoringNonexAI
xai_store_messagesboolStore messages for continuityNonexAI
xai_previous_response_idstrPrevious response ID to continueNonexAI
xai_include_encrypted_contentboolInclude encrypted content in responseFalsexAI
xai_include_code_execution_outputboolInclude code execution resultsNonexAI
xai_include_web_search_outputboolInclude web search resultsNonexAI
xai_include_inline_citationsboolInclude inline citationsNonexAI
xai_include_mcp_outputboolInclude MCP resultsNonexAI