Veracity_AI/src/Ai/llm.py

44 lines
3.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from langchain_ollama import ChatOllama
from langchain_core.messages import AIMessage
import os
class ArticleRater:
def __init__(self):
self.client = "https://ai.fabelous.app/v1/ollama/generic"
self.token = self._get_token()
self.headers = {"Authorization": f"Token {self.token}"}
self.model = "phi3.5:3.8b-mini-instruct-q4_K_M"
self.llm = ChatOllama(model=self.model, client_kwargs={'headers': self.headers}, base_url=self.client)
def _get_token(self):
if os.path.exists("Token/Token.txt"):
with open("Token/Token.txt", "r") as t:
return t.readline().strip()
else:
return None
def get_response(self, article, result, confidence):
messages = [
("system", """Ein Mashine Learning Model hat einen Text bewertet, ob es sich um FakeNews handelt oder um Reale News.
Erkläre in 1-2 Sätzen warum dieses Modell zu dieser Entscheidung.
DU SOLLST KEINE ÜBERSCHRIFTEN oder ähnliches ERKLÄREN. Du erhählst einen TEXT und sollst erklären wie das RESULTAT zustande kam"""),
("human", f"{article}, result: {result}, confidence {confidence}")
]
# Return the response stream
return self.llm.stream(messages)
# Usage
if __name__ == "__main__":
article_rater = ArticleRater()
article = """die wöchentliche Glosse von Stefan Kuzmany Thüringer Landtag: AfD will stören - sichert stattdessen Stabilität der Regierung Ramelow Suche starten Suche öffnen Zur Ausgabe Artikel 79 / 79 Eklat bei Landtagssitzung Thüringer Demokratwurst Eine Glosse von Stefan Kuzmany Ordnungsrufe! Mikros aus! Sitzung unterbrochen! Der Thüringer Alterspräsident Jürgen Treutler (AfD) sichert mit kreativer Sitzungsleitung die Stabilität der Regierung Ramelow. 27.09.2024, 13.00 Uhr • aus DER SPIEGEL 40/2024 Zur Merkliste hinzufügen Artikel anhören (2 Minuten) 2 Min X.com Facebook E-Mail Link kopieren Weitere Optionen zum Teilen X.com Facebook E-Mail Messenger WhatsApp Link kopieren Bild vergrößern Jürgen Treutler (AfD) Foto: Bodo Schackow / dpa Sämtliche Sorgen, die AfD könnte nach ihrem dortigen Wahlerfolg die Demokratie in dem osthessischen Bundeslandstrich Thüringen abschaffen, erweisen sich als unbegründet. Tatsächlich zeigte sich auf der konstituierenden Sitzung des Erfurter Landtags am Donnerstag eindrucksvoll die Stabilität des bewährten Systems. Zu verdanken ist diese beruhigende Entwicklung dem wackeren Alterspräsidenten Jürgen Treutler (73), der bei seinem furiosen Debüt als Landesparlamentarier alle Möglichkeiten ausschöpfte, die ihm in seiner Rolle als Sitzungsleiter zustanden und sogar noch einige mehr. DER SPIEGEL 40/2024 Foto: Melina Mara / The Washington Post / Getty Images Was kommt, falls sie gewinnt?Als Präsidentin würde Kamala Harris in einer krisengeschüttelten Welt regieren. Öffentlich beteuert sie, in die Fußstapfen von Joe Biden zu trreten, aber in der Außenpolitik will Harris eigene Akzente setzen. Für Europa ist das nicht nur eine gute Nachricht in Sachhen Protektionismus ist sie eine Schülerin Trumps.Lesen Sie unsere Titelgeschichte, weitere Hintergründe und Analysen im digiitalen SPIEGEL. """
result = "REAL"
confidence = 0.67
# Capture the stream response
response_stream = article_rater.get_response(article, result, confidence=confidence)
for chunk in response_stream:
print(chunk.content, end="")