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")
|
SSH_KEY = os.path.expanduser("~/.ssh/id_rsa")
|
||||||
DB_PATH = "cluster.db"
|
DB_PATH = "cluster.db"
|
||||||
chat_history = []
|
chat_history = []
|
||||||
|
PROMPT_FILE = "system_prompt.txt"
|
||||||
# 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.")
|
|
||||||
|
|
||||||
# --- KI KONFIGURATION (Werte aus .env laden) ---
|
# --- KI KONFIGURATION (Werte aus .env laden) ---
|
||||||
AI_PROVIDER = os.getenv("AI_PROVIDER", "google").lower()
|
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")
|
OLLAMA_MODEL = os.getenv("OLLAMA_MODEL", "llama3")
|
||||||
|
|
||||||
def get_system_prompt():
|
def get_system_prompt():
|
||||||
|
# 1. Node Info aus DB holen
|
||||||
conn = get_db()
|
conn = get_db()
|
||||||
nodes = conn.execute('SELECT * FROM nodes').fetchall()
|
nodes = conn.execute('SELECT * FROM nodes').fetchall()
|
||||||
conn.close()
|
conn.close()
|
||||||
@@ -54,8 +49,15 @@ def get_system_prompt():
|
|||||||
for n in nodes:
|
for n in nodes:
|
||||||
node_info += f"- Name: {n['name']}, IP: {n['ip']}, User: {n['user']}\n"
|
node_info += f"- Name: {n['name']}, IP: {n['ip']}, User: {n['user']}\n"
|
||||||
|
|
||||||
# Falls RAW_PROMPT leer ist, nutzen wir einen Sicherheits-Fallback
|
# 2. Versuche den Prompt aus der Datei zu laden
|
||||||
template = RAW_PROMPT if RAW_PROMPT else "Du bist ein Assistent. Nodes: {node_info}. Nutze <EXECUTE target=\"IP\">cmd</EXECUTE>"
|
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)
|
return template.replace("{node_info}", node_info)
|
||||||
|
|
||||||
# --- KI FUNKTIONEN ---
|
# --- KI FUNKTIONEN ---
|
||||||
|
|||||||
Reference in New Issue
Block a user