HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/textanalyse/agents/punctuation_agent.py
# agents/punctuation_agent.py
from agno.agent import Agent
from textwrap import dedent

# Import model config
from config import SelectedModelClass, SELECTED_MODEL_ID, SELECTED_API_KEY
# Optional: Import word division tool if combined here
from tools.word_division_tool import check_word_division

# Agent definition
PunctuationAgent = None
if SelectedModelClass:
    PunctuationAgent = Agent(
        name="PunctuationSpecialist",
        model=SelectedModelClass(id=SELECTED_MODEL_ID, api_key=SELECTED_API_KEY),
        role="Identifiziert und korrigiert deutsche Zeichensetzungsfehler.",
        instructions=dedent("""\
            WICHTIG: Deine gesamte Ausgabe muss IMMER auf Deutsch sein.
            
            1. Empfange ein Textsegment.
            2. Analysiere den Text auf falsche oder fehlende Zeichensetzung (Kommas, Punkte, Semikolons, Kolons, Apostrophe, Anführungszeichen usw.).
            3. Identifiziere spezifische Fälle von Zeichensetzungsfehlern.
            4. Mache Vorschläge zur Korrektur der Zeichensetzung und erkläre die relevante Regel kurz **auf Deutsch**.
            5. Gib eine Liste von Vorschlägen zurück, die Kontext, Korrektur und Grund enthalten, alles **auf Deutsch**.
            6. Wenn das 'check_word_division'-Tool verfügbar ist, verwende es zur Überprüfung der Worttrennung am Zeilenende, falls zutreffend (oder behandle dies in einem separaten Agenten).
            7. WICHTIG: Gib immer eine korrekt formatierte Liste oder einen Markdown-String zurück. Wenn keine Probleme gefunden werden, gib eine leere Liste [] oder eine klare Nachricht wie "Keine Zeichensetzungsfehler gefunden" **auf Deutsch** zurück, KEINEN booleschen Wert wie False oder True.
            8. Stelle sicher, dass deine gesamte Ausgabe ausschließlich auf Deutsch ist.
        """),
        tools=[check_word_division],
        show_tool_calls=False,
        markdown=True,
    )
else:
    print("ERROR: PunctuationAgent could not be created due to invalid model configuration.")