speech detect with gemini

This commit is contained in:
Jonas Braus
2025-01-29 20:29:10 +01:00
parent bbb9f8ef51
commit 29ca4ba1ee
3 changed files with 33 additions and 20 deletions
+2 -4
View File
@@ -3,7 +3,7 @@ import 'dart:convert';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
class SpeechDetect { class SpeechDetect {
Future<String> prompt(String prompt) async { static Future<bool> prompt(String prompt) async {
http.Response resp = await http.post( http.Response resp = await http.post(
Uri.parse( Uri.parse(
"https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-latest:generateContent?key=AIzaSyC9f3vPVuWAajpZEos35F8F5LaxcpcdlO4"), "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-latest:generateContent?key=AIzaSyC9f3vPVuWAajpZEos35F8F5LaxcpcdlO4"),
@@ -27,8 +27,6 @@ class SpeechDetect {
var answer = js["candidates"][0]["content"]["parts"][0]["text"]; var answer = js["candidates"][0]["content"]["parts"][0]["text"];
print(answer); return answer.toString().toLowerCase().contains("yes") ? true : false;
return answer;
} }
} }
+16 -1
View File
@@ -1,3 +1,4 @@
import 'package:mensaapp/modules/SpeechDetect.dart';
import 'package:supabase_flutter/supabase_flutter.dart'; import 'package:supabase_flutter/supabase_flutter.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@@ -84,6 +85,20 @@ class DatabaseService {
Future<void> sendDataToSupabase(Map<String, dynamic> data) async { Future<void> sendDataToSupabase(Map<String, dynamic> data) async {
try { try {
String llmPrompt = data["page1"]["t1"] + data["page2"]["t1"] + data["page3"]["t1"];
bool notNice = await SpeechDetect.prompt(llmPrompt);
print("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11");
print(llmPrompt);
print(notNice);
if (notNice) {
print("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
print("not nice text cancel culturedXD");
return;
}
final response = await supabase.from('ratings_database').insert({"ratings": data}); final response = await supabase.from('ratings_database').insert({"ratings": data});
print("Antwort von Supabase: $response"); print("Antwort von Supabase: $response");
@@ -152,7 +167,7 @@ class DatabaseService {
? null // Button deaktivieren ? null // Button deaktivieren
: () async { : () async {
Navigator.of(dialogContext).pop(); // Dialog schließen Navigator.of(dialogContext).pop(); // Dialog schließen
await sendDataToSupabase(data); sendDataToSupabase(data);
Provider.of<EssenProvider>(context, listen: false).resetAllFields(); Provider.of<EssenProvider>(context, listen: false).resetAllFields();
Provider.of<ServiceProvider>(context, listen: false).resetAllFields(); Provider.of<ServiceProvider>(context, listen: false).resetAllFields();
Provider.of<SpezielleErnaehrungProvider>(context, listen: false).resetAllFields(); Provider.of<SpezielleErnaehrungProvider>(context, listen: false).resetAllFields();
+15 -15
View File
@@ -69,10 +69,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: collection name: collection
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.18.0" version: "1.19.0"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
@@ -204,18 +204,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker name: leak_tracker
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "10.0.5" version: "10.0.7"
leak_tracker_flutter_testing: leak_tracker_flutter_testing:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker_flutter_testing name: leak_tracker_flutter_testing
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.5" version: "3.0.8"
leak_tracker_testing: leak_tracker_testing:
dependency: transitive dependency: transitive
description: description:
@@ -468,7 +468,7 @@ packages:
dependency: transitive dependency: transitive
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.99" version: "0.0.0"
source_span: source_span:
dependency: transitive dependency: transitive
description: description:
@@ -481,10 +481,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: stack_trace name: stack_trace
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.11.1" version: "1.12.0"
storage_client: storage_client:
dependency: transitive dependency: transitive
description: description:
@@ -505,10 +505,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: string_scanner name: string_scanner
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
supabase: supabase:
dependency: transitive dependency: transitive
description: description:
@@ -537,10 +537,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.2" version: "0.7.3"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
@@ -625,10 +625,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: vm_service name: vm_service
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "14.2.5" version: "14.3.0"
web: web:
dependency: transitive dependency: transitive
description: description: