query method
Future<AiClientResponse>
query({
- required Message message,
- List<
Message> history = const [], - String? system,
- String? model,
- Duration? delay,
- List<
Context> ? contexts, - List<
Tool> ? tools,
override
Implementation
@override
Future<AiClientResponse> query({
required Message message,
List<Message> history = const [],
String? system,
String? model,
Duration? delay,
List<Context>? contexts,
List<Tool>? tools,
}) async {
await Future.delayed(delay ?? this.delay ?? const Duration(milliseconds: 300));
final data = _buildDataObject(
model: model ?? _model,
tools: tools,
system: system,
contexts: contexts,
history: history,
message: message,
);
try {
logRequest(data);
final response = await _dio.post('/chat/completions', data: data);
logResponse(response.data);
return _parseResponse(response.data, originalTools: tools ?? []);
} on DioException catch (e) {
logError(e);
throw Exception('Failed to fetch response: [${e.response?.statusCode}] ${e.response?.data ?? e.message}');
}
}