query method
Future<AiClientResponse>
query({
- String? model,
- Duration? delay,
- List<
Message> history = const [], - required Message message,
- String? system,
- List<
Context> ? contexts, - List<
Tool> tools = const [],
override
Implementation
@override
Future<AiClientResponse> query({
String? model,
Duration? delay,
List<Message> history = const [],
required Message message,
String? system,
List<Context>? contexts,
List<Tool> tools = const [],
}) 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}');
}
}