copyWith method
XAIProvider
copyWith({
- String? apiKey,
- String? baseUrl,
- String? model,
- int? maxTokens,
- double? temperature,
- String? systemPrompt,
- Duration? timeout,
- bool? stream,
- double? topP,
- int? topK,
- List<
Tool> ? tools, - ToolChoice? toolChoice,
- StructuredOutputFormat? jsonSchema,
- String? embeddingEncodingFormat,
- int? embeddingDimensions,
- SearchParameters? searchParameters,
- bool? liveSearch,
Create a new provider with updated configuration
Implementation
XAIProvider copyWith({
String? apiKey,
String? baseUrl,
String? model,
int? maxTokens,
double? temperature,
String? systemPrompt,
Duration? timeout,
bool? stream,
double? topP,
int? topK,
List<Tool>? tools,
ToolChoice? toolChoice,
StructuredOutputFormat? jsonSchema,
String? embeddingEncodingFormat,
int? embeddingDimensions,
SearchParameters? searchParameters,
bool? liveSearch,
}) {
final newConfig = config.copyWith(
apiKey: apiKey,
baseUrl: baseUrl,
model: model,
maxTokens: maxTokens,
temperature: temperature,
systemPrompt: systemPrompt,
timeout: timeout,
topP: topP,
topK: topK,
tools: tools,
toolChoice: toolChoice,
jsonSchema: jsonSchema,
embeddingEncodingFormat: embeddingEncodingFormat,
embeddingDimensions: embeddingDimensions,
searchParameters: searchParameters,
liveSearch: liveSearch,
);
return XAIProvider(newConfig);
}