updated to new inference and better ui

This commit is contained in:
Falko Victor Habel 2024-10-07 18:11:29 +02:00
parent 390811bb96
commit f353498fdf
3 changed files with 9 additions and 7 deletions

View File

@ -33,6 +33,6 @@ class VeraMindInference:
confidence = prediction if is_fake else 1 - prediction confidence = prediction if is_fake else 1 - prediction
return { return {
"result": is_fake, "result": "FAKE" if is_fake else "REAL",
"confidence": float(confidence) "confidence": float(confidence)
} }

View File

@ -1,10 +1,13 @@
from views.mainScreen import MainFrame from views.mainScreen import MainFrame
from models.data import TextData from models.data import TextData
from Ai.interence import VeraMindInference from Ai.interence import VeraMindInference
class MainFrameController: class MainFrameController:
def __init__(self,frame:MainFrame) -> None: def __init__(self,frame:MainFrame) -> None:
self.frame = frame self.frame = frame
self.model_inference = VeraMindInference('VeraMind-Mini')
def get_textdata(self) -> TextData: def get_textdata(self) -> TextData:
@ -25,10 +28,9 @@ class MainFrameController:
self.frame.output_textbox.configure(state="disabled") self.frame.output_textbox.configure(state="disabled")
def prediction(self, text_data:TextData) -> TextData: def prediction(self, text_data:TextData) -> TextData:
inference = VeraMindInference('VeraMind-Mini') result = self.model_inference.predict(text_data.text)
result = inference.predict(text_data.text)
text_data.confidence = result["confidence"] text_data.confidence = result["confidence"]
text_data.isfake_news = result["result"] text_data.result = result["result"]
print(f"Prediction: {'Real' if text_data.isfake_news == 1 else 'Fake'}") print(f"Prediction: {text_data.result}")
print(f"Confidence: {text_data.confidence}") print(f"Confidence: {text_data.confidence}")
return text_data return text_data

View File

@ -4,7 +4,7 @@ class TextData:
def __init__(self, url: str = "") -> None: def __init__(self, url: str = "") -> None:
self.url = url self.url = url
self.text = "" self.text = ""
self.isfake_news = False self.result = ""
self.confidence = None self.confidence = None
self._extractor = None self._extractor = None
@ -29,6 +29,6 @@ class TextData:
def get_output(self): def get_output(self):
if self.confidence != None: if self.confidence != None:
output = f"Prediction: {'Real' if self.isfake_news else 'Fake'}" + f" Confidence: {self.confidence:.4f}" output = f"Prediction: {self.result}" + f" Confidence: {self.confidence:.4f}"
print(output) print(output)
return output return output