complete method
Sends a completion request to generate text
request
- The completion request parameters
Returns the generated completion text or throws an LLMError
Implementation
@override
Future<CompletionResponse> complete(CompletionRequest request) async {
if (config.baseUrl.isEmpty) {
throw const InvalidRequestError('Missing Ollama base URL');
}
try {
final requestBody = _buildRequestBody(request);
final responseData =
await client.postJson(completionEndpoint, requestBody);
return _parseResponse(responseData);
} on DioException catch (e) {
throw DioErrorHandler.handleDioError(e, 'Ollama');
} catch (e) {
throw GenericError('Unexpected error: $e');
}
}