Xai lm invoker
Defines a module to interact with xAI language models.
XAILMInvoker(model_name, api_key=None, model_kwargs=None, default_hyperparameters=None, tools=None, response_schema=None, output_analytics=False, retry_config=None, thinking=False, input_transformer=InputTransformerType.IDENTITY, output_transformer=OutputTransformerType.IDENTITY)
Bases: StreamingBufferMixin, BaseLMInvoker
A language model invoker to interact with xAI language models.
Examples:
lm_invoker = XAILMInvoker(model_name="grok-4-fast-non-reasoning")
result = await lm_invoker.invoke("Hi there!")
Supported features
- Basic invocation
- Streaming output
- Message roles
- Multimodal input a. Text b. Image
- Structured output
- Tool calling
- Native tools a. Web search b. Image generation
- Thinking
- Output analytics
- Retry and timeout
- Extra capabilities a. Input transformer b. Output transformer c. File management
For full documentation and examples, please refer to the LM Invoker tutorial: https://gdplabs.gitbook.io/sdk/gen-ai-sdk/tutorials/inference/lm-invoker
Attributes:
| Name | Type | Description |
|---|---|---|
model_id |
str
|
The model ID of the language model. |
model_provider |
str
|
The provider of the language model. |
model_name |
str
|
The name of the language model. |
client_params |
dict[str, Any]
|
The xAI client initialization parameters. |
default_config |
dict[str, Any]
|
Default config for invoking the model. |
tools |
list[Tool]
|
The list of tools provided to the model to enable tool calling. |
response_schema |
ResponseSchema | None
|
The schema of the response. If provided, the model will output a structured response as defined by the schema. Supports both Pydantic BaseModel and JSON schema dictionary. |
output_analytics |
bool
|
Whether to output the invocation analytics. |
retry_config |
RetryConfig | None
|
The retry configuration for the language model. |
thinking |
ThinkingConfig
|
The thinking configuration for the language model. |
image_generation |
bool
|
Whether to enable image generation. |
input_transformer |
InputTransformerType
|
The type of input transformer to use. |
output_transformer |
OutputTransformerType
|
The type of output transformer to use. |
Initializes a new instance of the XAILMInvoker class.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model_name
|
str
|
The name of the xAI model. |
required |
api_key
|
str | None
|
The API key for authenticating with xAI. Defaults to None, in which
case the |
None
|
model_kwargs
|
dict[str, Any] | None
|
Additional model parameters. Defaults to None. |
None
|
default_hyperparameters
|
dict[str, Any] | None
|
Default hyperparameters for invoking the model. Defaults to None. |
None
|
tools
|
list[LMTool] | None
|
Tools provided to the language model to enable tool calling. Defaults to None. |
None
|
response_schema
|
ResponseSchema | None
|
The schema of the response. If provided, the model will output a structured response as defined by the schema. Supports both Pydantic BaseModel and JSON schema dictionary. Defaults to None. |
None
|
output_analytics
|
bool
|
Whether to output the invocation analytics. Defaults to False. |
False
|
retry_config
|
RetryConfig | None
|
The retry configuration for the language model. Defaults to None, in which case a default config with no retry and 30.0 seconds timeout is used. |
None
|
thinking
|
bool | ThinkingConfig
|
A boolean or ThinkingConfig object to configure thinking. Defaults to False. |
False
|
input_transformer
|
InputTransformerType
|
The type of input transformer to use. Defaults to InputTransformerType.IDENTITY, which returns the input without transformation. |
IDENTITY
|
output_transformer
|
OutputTransformerType
|
The type of output transformer to use. Defaults to OutputTransformerType.IDENTITY, which returns the output without transformation. |
IDENTITY
|
file
cached
property
The file operations for the language model.
Returns:
| Name | Type | Description |
|---|---|---|
XAIFileOperations |
XAIFileOperations
|
The file operations for the language model. |