Skip to content

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_transformers=None, output_transformers=None, input_transformer=None, output_transformer=None)

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
  1. Basic invocation
  2. Streaming output
  3. Message roles
  4. Multimodal input a. Text b. Image
  5. Structured output
  6. Tool calling
  7. Native tools a. Code interpreter b. Web search i. "web_search": Standard web search. ii. "x_search": X/Twitter platform search. c. Image generation
  8. Thinking
  9. Output analytics
  10. Retry and timeout
  11. 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_transformers list[InputTransformerConfig]

The list of input transformer configs to use.

output_transformers list[OutputTransformerConfig]

The list of output transformer configs 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 XAI_API_KEY environment variable will be used.

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_transformers list[InputTransformer] | None

The list of input transformers to use. Defaults to None, in which case no input transformers will be used.

None
output_transformers list[OutputTransformer] | None

The list of output transformers to use. Defaults to None, in which case no output transformers will be used.

None
input_transformer InputTransformerType | None

Deprecated param to define input transformer. Will be removed in v0.7. Defaults to None.

None
output_transformer OutputTransformerType | None

Deprecated param to define output transformer. Will be removed in v0.7. Defaults to None.

None

file cached property

The file operations for the language model.

Returns:

Name Type Description
XAIFileOperations XAIFileOperations

The file operations for the language model.