fetch method
Implementation
@override
Future<Message> fetch({
List<Message>? previousMessages,
}) async {
var response = await dio.post(
url,
data: {
'model': model.toString(),
'messages': _getMessages(previousMessages),
},
);
Map<String, dynamic> data = response.data;
int created = data['created'];
List choices = data['choices'];
if (choices.length > 1) {
throw Exception('Multiple choices');
}
Map<String, dynamic> choice = choices.first;
return Message(
id: data['id'],
date: DateTime.fromMillisecondsSinceEpoch(created),
text: choice['message']['content'],
role: Role.assistant,
);
}