createXAISearchProvider function

XAIProvider createXAISearchProvider({
  1. required String apiKey,
  2. String model = 'grok-3',
  3. double? temperature,
  4. int? maxTokens,
  5. String? systemPrompt,
  6. String searchMode = 'auto',
  7. List<SearchSource>? sources,
  8. int? maxSearchResults,
  9. String? fromDate,
  10. String? toDate,
})

Create an xAI provider with search capabilities

Implementation

XAIProvider createXAISearchProvider({
  required String apiKey,
  String model = 'grok-3',
  double? temperature,
  int? maxTokens,
  String? systemPrompt,
  String searchMode = 'auto',
  List<SearchSource>? sources,
  int? maxSearchResults,
  String? fromDate,
  String? toDate,
}) {
  final searchParams = SearchParameters(
    mode: searchMode,
    sources: sources ?? [const SearchSource(sourceType: 'web')],
    maxSearchResults: maxSearchResults,
    fromDate: fromDate,
    toDate: toDate,
  );

  final config = XAIConfig(
    apiKey: apiKey,
    model: model,
    temperature: temperature,
    maxTokens: maxTokens,
    systemPrompt: systemPrompt,
    searchParameters: searchParams,
    liveSearch: true, // Explicitly enable live search
  );

  return XAIProvider(config);
}