generateResponse method
Implementation
@override
Future<String> generateResponse(String prompt,
{List<String>? context}) async {
final fullPrompt =
context != null ? '${context.join('\n')}\n\n$prompt' : prompt;
final response = await http.post(
Uri.parse('https://api.x.ai/v1/chat/completions'),
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer $apiKey',
},
body: jsonEncode({
'model': modelName,
'messages': [
{'role': 'user', 'content': fullPrompt}
],
}),
);
if (response.statusCode == 200) {
final data = jsonDecode(response.body);
return data['choices'][0]['message']['content'] as String;
} else {
throw Exception(
'Failed to generate response from Grok: ${response.body}');
}
}