chat method
Future<String>
chat({
- required String apiKey,
- required String model,
- required ChatRequest request,
override
Multi-turn. Returns the assistant's raw text for the final turn.
Implementation
@override
Future<String> chat({
required String apiKey,
required String model,
required ChatRequest request,
}) async {
final uri = Uri.parse('$_baseUrl/models/$model:generateContent');
final body = jsonEncode(_buildPayload(request));
final res = await retryRequest(
send: () => _http
.post(
uri,
headers: {
..._authHeaders(apiKey),
'Content-Type': 'application/json',
},
body: body,
)
.timeout(_timeout),
providerLabel: 'Gemini',
);
final json = jsonDecode(res.body) as Map<String, Object?>;
return _extractText(json);
}