main.py aktualisiert
This commit is contained in:
20
main.py
20
main.py
@@ -26,13 +26,7 @@ templates = Jinja2Templates(directory="templates")
|
||||
SSH_KEY = os.path.expanduser("~/.ssh/id_rsa")
|
||||
DB_PATH = "cluster.db"
|
||||
chat_history = []
|
||||
|
||||
# Debug: Teste beim Start, ob der Prompt geladen wurde
|
||||
RAW_PROMPT = os.getenv("SYSTEM_PROMPT")
|
||||
if not RAW_PROMPT:
|
||||
print("❌ FEHLER: SYSTEM_PROMPT konnte nicht aus .env geladen werden!")
|
||||
else:
|
||||
print("✅ SYSTEM_PROMPT erfolgreich geladen.")
|
||||
PROMPT_FILE = "system_prompt.txt"
|
||||
|
||||
# --- KI KONFIGURATION (Werte aus .env laden) ---
|
||||
AI_PROVIDER = os.getenv("AI_PROVIDER", "google").lower()
|
||||
@@ -46,6 +40,7 @@ OPENAI_MODEL = os.getenv("OPENAI_MODEL", "gpt-4o")
|
||||
OLLAMA_MODEL = os.getenv("OLLAMA_MODEL", "llama3")
|
||||
|
||||
def get_system_prompt():
|
||||
# 1. Node Info aus DB holen
|
||||
conn = get_db()
|
||||
nodes = conn.execute('SELECT * FROM nodes').fetchall()
|
||||
conn.close()
|
||||
@@ -54,8 +49,15 @@ def get_system_prompt():
|
||||
for n in nodes:
|
||||
node_info += f"- Name: {n['name']}, IP: {n['ip']}, User: {n['user']}\n"
|
||||
|
||||
# Falls RAW_PROMPT leer ist, nutzen wir einen Sicherheits-Fallback
|
||||
template = RAW_PROMPT if RAW_PROMPT else "Du bist ein Assistent. Nodes: {node_info}. Nutze <EXECUTE target=\"IP\">cmd</EXECUTE>"
|
||||
# 2. Versuche den Prompt aus der Datei zu laden
|
||||
if os.path.exists(PROMPT_FILE):
|
||||
with open(PROMPT_FILE, "r", encoding="utf-8") as f:
|
||||
template = f.read()
|
||||
else:
|
||||
# Fallback falls Datei fehlt
|
||||
template = "Du bist ein Helfer. Nodes:\n{node_info}\nNutze <EXECUTE target=\"IP\">cmd</EXECUTE>"
|
||||
print(f"⚠️ Warnung: {PROMPT_FILE} nicht gefunden. Nutze Fallback.")
|
||||
|
||||
return template.replace("{node_info}", node_info)
|
||||
|
||||
# --- KI FUNKTIONEN ---
|
||||
|
||||
Reference in New Issue
Block a user