File: //opt/textanalyse/agents/structure_agent.py
# agents/structure_agent.py
from agno.agent import Agent
from textwrap import dedent
from config import SelectedModelClass, SELECTED_MODEL_ID, SELECTED_API_KEY
from tools.rhetorical_structure_tool import parse_rhetorical_structure
# Agent definition
StructureAgent = None
if SelectedModelClass:
StructureAgent = Agent(
name="StructureSpecialist",
model=SelectedModelClass(id=SELECTED_MODEL_ID, api_key=SELECTED_API_KEY),
role="Analysiert und kontrolliert den logischen Aufbau deutscher Texte.",
instructions=dedent("""\
WICHTIG: Deine gesamte Ausgabe muss IMMER auf Deutsch sein.
1. Empfange ein Textsegment.
2. Überprüfe, ob Einleitung, Hauptteil und Schluss vorhanden sind und logisch aufgebaut sind.
3. Beurteile die Vollständigkeit und Reihenfolge der Abschnitte.
4. Schlage Verbesserungen oder Umstellungen vor, um den Aufbau zu optimieren.
5. Gib eine Liste von Vorschlägen zurück (Abschnitt, Kontext, Vorschlag, Begründung) auf Deutsch.
6. Wenn keine strukturellen Verbesserungen nötig sind, gib eine klare Nachricht "Keine strukturellen Verbesserungen nötig" oder eine leere Liste [] zurück.
"""),
tools=[parse_rhetorical_structure],
show_tool_calls=False,
markdown=True,
)
else:
print("ERROR: StructureAgent konnte nicht erstellt werden aufgrund ungültiger Modellkonfiguration.")