This commit is contained in:
Hamza-Ayed
2023-11-21 18:20:31 +03:00
parent 252cecb6ca
commit 1d2ceed031
10 changed files with 225 additions and 87 deletions

View File

@@ -1,18 +1,17 @@
import 'dart:convert';
import 'package:get/get.dart';
import 'package:http/http.dart' as http;
import 'package:ride/env/env.dart';
import '../../constant/api_key.dart';
import '../../constant/box_name.dart';
import '../../main.dart';
class CRUD {
Future<dynamic> get({
required String link,
Map<String, dynamic>? payload,
}) async {
String? basicAuthCredentials =
await storage.read(key: BoxName.basicAuthCredentials);
// String? basicAuthCredentials =
// await storage.read(key: BoxName.basicAuthCredentials);
var url = Uri.parse(
link,
);
@@ -22,16 +21,19 @@ class CRUD {
headers: {
"Content-Type": "application/x-www-form-urlencoded",
'Authorization':
'Basic ${base64Encode(utf8.encode(AK.basicAuthCredentials))}',
// 'Basic ${base64Encode(utf8.encode('hamzaayedphp:malDEV@2101'))}',
'Basic ${base64Encode(utf8.encode(AK.basicAuthCredentials.toString()))}',
// 'Basic ${base64Encode(utf8.encode(basicAuthCredentials.toString()))}',
},
);
print("--------------" + response.request.toString());
print("--------------" + payload.toString());
//print("-----basicAuthCredentials----" + AK.basicAuthCredentials.toString());
//print("-----request----" + response.request.toString());
//print("-----headers-----" + response.headers.toString());
//print("-----payload-----" + payload.toString());
if (response.statusCode == 200) {
var jsonData = jsonDecode(response.body);
if (jsonData['status'] == 'success') {
// print(jsonData);
// //print(jsonData);
return response.body;
}
@@ -40,11 +42,45 @@ class CRUD {
}
}
Future<dynamic> getLlama({
required String link,
required String payload,
}) async {
var url = Uri.parse(
link,
);
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer ${Env.llamaKey}'
};
var data = json.encode({
"model": "llama-13b-chat",
"messages": [
{
"role": "user",
"content":
"Extract the desired information from the following passage as json decoded like vin,make,made,color,owner and all you find in this:\n\n$payload"
}
],
"temperature": 0.9
});
var response = await http.post(
url,
body: data,
headers: headers,
);
if (response.statusCode == 200) {
return response.body;
}
return response.statusCode;
}
Future<dynamic> postStripe({
required String link,
Map<String, dynamic>? payload,
}) async {
String? secretKey = await storage.read(key: BoxName.secretKey);
// String? secretKey = await storage.read(key: BoxName.secretKey);
var url = Uri.parse(
link,
);
@@ -64,8 +100,8 @@ class CRUD {
required String link,
Map<String, dynamic>? payload,
}) async {
String? basicAuthCredentials =
await storage.read(key: BoxName.basicAuthCredentials);
// String? basicAuthCredentials =
// await storage.read(key: BoxName.basicAuthCredentials);
var url = Uri.parse(
link,
);
@@ -78,8 +114,8 @@ class CRUD {
'Basic ${base64Encode(utf8.encode(AK.basicAuthCredentials))}',
},
);
print(response.request);
print(payload);
//print(response.request);
//print(payload);
var jsonData = jsonDecode(response.body);
if (response.statusCode == 200) {
@@ -88,7 +124,7 @@ class CRUD {
jsonData['status'],
jsonData['message'],
);
print(response.body);
//print(response.body);
return response.body;
}
}
@@ -99,8 +135,8 @@ class CRUD {
required String link,
Map<String, dynamic>? payload,
}) async {
String? basicAuthCredentials =
await storage.read(key: BoxName.basicAuthCredentials);
// String? basicAuthCredentials =
// await storage.read(key: BoxName.basicAuthCredentials);
var url = Uri.parse(
link,
);
@@ -113,9 +149,9 @@ class CRUD {
'Basic ${base64Encode(utf8.encode(AK.basicAuthCredentials))}',
},
);
print(response.request);
print('body=========================');
print(response.body);
//print(response.request);
//print('body=========================');
//print(response.body);
if (response.body.isNotEmpty) {
var jsonData = jsonDecode(response.body);
@@ -145,9 +181,9 @@ class CRUD {
url,
body: payload,
);
print(response.request);
//print(response.request);
var jsonData = jsonDecode(response.body);
// print(jsonData);
// //print(jsonData);
if (jsonData['status'] == 'OK') {
return jsonData;
}
@@ -159,8 +195,8 @@ class CRUD {
required Map<String, dynamic> data,
required String id,
}) async {
String? basicAuthCredentials =
await storage.read(key: BoxName.basicAuthCredentials);
// String? basicAuthCredentials =
// await storage.read(key: BoxName.basicAuthCredentials);
var url = Uri.parse('$endpoint/$id');
var response = await http.put(
url,
@@ -177,8 +213,8 @@ class CRUD {
required String endpoint,
required String id,
}) async {
String? basicAuthCredentials =
await storage.read(key: BoxName.basicAuthCredentials);
// String? basicAuthCredentials =
// await storage.read(key: BoxName.basicAuthCredentials);
var url = Uri.parse('$endpoint/$id');
var response = await http.delete(
url,

View File

@@ -0,0 +1,34 @@
import 'dart:convert';
import 'package:ride/constant/links.dart';
import 'package:ride/controller/functions/crud.dart';
class LlamaAi {
Future getExractionData(String input) async {
print(true);
String oneLine = input.replaceAll('\n', ' ');
var res = await CRUD().getLlama(link: AppLink.llama, payload: oneLine);
var decod = jsonDecode(res);
// print(decod['choices'][0]['message']['content']);
extractDataFromJsonString(decod['choices'][0]['message']['content']);
print(false);
}
Map<String, dynamic> extractDataFromJsonString(String jsonString) {
// Remove any leading or trailing whitespace from the string
jsonString = jsonString.trim();
// Extract the JSON substring from the given string
final startIndex = jsonString.indexOf('{');
final endIndex = jsonString.lastIndexOf('}');
final jsonSubstring = jsonString.substring(startIndex, endIndex + 1);
// Parse the JSON substring into a Map
final jsonData = json.decode(jsonSubstring);
// Return the extracted data
print(jsonData);
return jsonData;
}
}