Files
daily_mobileapp_customer/lib/service/ai_service/api_service.dart
2026-07-23 15:36:11 +05:30

58 lines
1.4 KiB
Dart

import 'dart:convert';
import 'package:http/http.dart' as http;
class GroqService {
static const String _apiKey = 'YOUR_API_KEY';
static Future<String> fetchIngredients(String query) async {
final res = await http.post(
Uri.parse('https://api.groq.com/openai/v1/chat/completions'),
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer $_apiKey',
},
body: jsonEncode({
'model': 'llama-3.1-8b-instant',
'max_tokens': 600,
'messages': [
{
'role': 'system',
'content':
'Return ONLY JSON array of grocery items...'
},
{'role': 'user', 'content': query}
],
}),
);
final data = jsonDecode(res.body);
return data['choices'][0]['message']['content'];
}
}
class AiSearchService {
static const String baseUrl =
'http://10.0.2.2:8000/find-ingredients';
Future<Map<String, dynamic>> search(String query) async {
final response = await http.post(
Uri.parse(baseUrl),
headers: {
'Content-Type': 'application/json',
},
body: jsonEncode({
"user_input": query,
"customer_id": 6060,
"latitude": 11.0050728,
"longitude": 76.9508513
}),
);
if (response.statusCode == 200) {
return jsonDecode(response.body);
}
throw Exception("Failed to load results");
}
}