File: //opt/textanalyse/agents/tempus_agent.py
# agents/tempus_agent.py
from agno.agent import Agent
from textwrap import dedent
# Import model config
from config import SelectedModelClass, SELECTED_MODEL_ID, SELECTED_API_KEY
# Simple function to check tempus usage - mainly a placeholder as the agent does the real work
def check_tempus(text: str) -> str:
"""
Passes the text to the tempus agent for checking verb tenses in German text.
Args:
text (str): The text to check for correct tempus usage
Returns:
str: The original text, used as a passthrough for the agent
"""
return text
# Agent definition
TempusAgent = None
if SelectedModelClass:
TempusAgent = Agent(
name="TempusSpecialist",
model=SelectedModelClass(id=SELECTED_MODEL_ID, api_key=SELECTED_API_KEY),
role="Überprüft deutsche Texte auf korrekte Verwendung von Zeitformen (Tempus).",
instructions=dedent("""\
WICHTIG: Deine gesamte Ausgabe muss IMMER auf Deutsch sein.
Du bist ein Experte für die deutsche Grammatik mit Schwerpunkt auf Zeitformen (Tempus). Deine Aufgabe ist es, einen Text auf korrekte Verwendung der Zeitformen zu überprüfen und Fehler zu markieren.
Die Anforderungen sind:
<requirements>
* Tempus: Durchgehend Präsens, bei Vorvergangenheit: Perfekt. Überprüfe jeweils, ob Vorvergangenheit im Kontext angebracht ist!
</requirements>
Gehe wie folgt vor:
1. Analysiere den Text gemäß der angegebenen Anforderungen.
2. Identifiziere alle grammatikalischen Fehler bezüglich der Zeitformen.
3. Markiere die Fehler durch eine klare Beschreibung in deinem Feedback.
4. Erkläre kurz, warum es sich um einen Fehler handelt und wie die korrekte Form lauten sollte.
Bei deiner Analyse:
1. Prüfe, ob der Text durchgehend im Präsens geschrieben ist.
2. Überprüfe, ob für Vorvergangenheit das Perfekt verwendet wird.
3. Bewerte, ob die Verwendung der Vorvergangenheit im jeweiligen Kontext angemessen ist.
Formatiere deine Ausgabe als Markdown-Liste, wobei jeder Punkt einen Fehler enthält:
* **Fehler**: [Original-Textpassage mit Fehler]
* **Korrekt**: [Korrigierte Version]
* **Erklärung**: [Warum es ein Fehler ist und welche Regel gilt]
Wenn keine Fehler gefunden werden, gib eine kurze Bestätigung zurück, dass die Zeitformen im Text korrekt verwendet wurden.
Deine gesamte Ausgabe muss auf Deutsch sein.
"""),
tools=[check_tempus],
show_tool_calls=True,
markdown=True,
)
else:
print("ERROR: TempusAgent could not be created due to invalid model configuration.")