Input configuration for ChatXAIResponses constructor.
interface ChatXAIResponsesInputThe xAI API key to use for requests.
The base URL for the xAI API.
Whether to disable streaming.
If streaming is bypassed, then stream() will defer to
invoke().
The maximum number of concurrent calls that can be made.
Defaults to Infinity, which means no limit.
Maximum number of tokens to generate.
The maximum number of retries that can be made for a single call, with an exponential backoff between each attempt. Defaults to 6.
The name of the model to use.
Custom handler to handle failed attempts. Takes the originally thrown error object as input, and should itself throw an error if the input error is not retryable.
Version of AIMessage output format to store in message content.
AIMessage.contentBlocks will lazily parse the contents of content into a
standard format. This flag can be used to additionally store the standard format
as the message content, e.g., for serialization purposes.
.contentBlocks).contentBlocks)You can also set LC_OUTPUT_VERSION as an environment variable to "v1" to
enable this by default.
Default reasoning configuration.
Default search parameters for xAI's search capabilities.
Whether to store the input messages and response.
Whether to stream responses.
Sampling temperature between 0 and 2.
Default tools to make available to the model. Can be overridden per-request in call options.
Nucleus sampling probability mass.
A unique identifier representing your end-user.
import { ChatXAIResponses, tools } from "@langchain/xai";
const llm = new ChatXAIResponses({
model: "grok-4-1-fast",
tools: [tools.xaiWebSearch(), tools.xaiCodeExecution()],
});