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.anthropic.com/v1/messages'),
headers: {
'Content-Type': 'application/json',
'x-api-key': apiKey,
'anthropic-version': '2023-06-01',
},
body: jsonEncode({
'model': modelName,
'max_tokens': 4096,
'messages': [
{'role': 'user', 'content': fullPrompt}
],
}),
);
if (response.statusCode == 200) {
final data = jsonDecode(response.body);
return data['content'][0]['text'] as String;
} else {
throw Exception(
'Failed to generate response from Claude: ${response.body}');
}
}