Spaces:
Sleeping
Sleeping
| import os | |
| import zlib | |
| import base64 | |
| import psycopg2 | |
| import gradio as gr | |
| from dotenv import load_dotenv | |
| from groq import Groq | |
| # 🔱 LOAD TRINITY KEYS | |
| load_dotenv() | |
| NEON_URL = os.getenv("DATABASE_URL") or os.getenv("NEON_KEY") | |
| FIREBASE_KEY = os.getenv("FIREBASE_KEY") | |
| SUPABASE_URL = os.getenv("SUPABASE_URL") | |
| GROQ_API_KEY = os.getenv("GROQ_API_KEY") | |
| client = Groq(api_key=GROQ_API_KEY) | |
| class HydraEngine: | |
| def decompress(c): | |
| try: | |
| return zlib.decompress(base64.b64decode(c)).decode('utf-8') | |
| except: | |
| return str(c) | |
| # 🔱 SYNC WITH NEON DATABASE (CRITICAL CORE) | |
| def fetch_neon_context(): | |
| try: | |
| # Connect to your Neon DB | |
| conn = psycopg2.connect(NEON_URL, connect_timeout=5) | |
| cur = conn.cursor() | |
| # နောက်ဆုံးဖြစ်ပေါ်ထားတဲ့ Neural Data ၃ ခုကို ယူမယ် | |
| cur.execute("SELECT user_id, message FROM neurons ORDER BY id DESC LIMIT 3;") | |
| rows = cur.fetchall() | |
| cur.close(); conn.close() | |
| if rows: | |
| # Data တွေကို Decompress လုပ်ပြီး Groq ဖတ်ဖို့ စုစည်းမယ် | |
| context = " | ".join([f"{r[0]}: {HydraEngine.decompress(r[1])}" for r in rows]) | |
| return context | |
| return "Initial Order Active" | |
| except Exception as e: | |
| print(f"🔱 DB SYNC ERROR: {str(e)}") | |
| return "Matrix Standby" | |
| def stream_logic(msg, hist): | |
| # မင်းရဲ့ Database ထဲက တကယ့် data ကို ဆွဲထုတ်တယ် | |
| real_data = fetch_neon_context() | |
| # Groq ကို မင်းရဲ့ DB data ပေါ်မှာပဲ အခြေခံခိုင်းတယ် | |
| system_message = ( | |
| f"MASTER CONTEXT FROM NEON DB: {real_data}\n\n" | |
| "DIRECTIVE: မင်းဟာ TelefoxX Overseer ဖြစ်တယ်။ " | |
| "အထက်ပါ CONTEXT ထဲမှာပါတဲ့ အချက်အလက်ကိုပဲ သုံးပြီး မြန်မာလိုဖြေပါ။ " | |
| "Context ထဲမှာ မပါတဲ့အရာတွေကို ကိုယ့်ဘာသာမထည့်ပါနဲ့။" | |
| ) | |
| messages = [{"role": "system", "content": system_message}] | |
| for h in hist[-3:]: # Chat memory | |
| messages.append({"role": "user", "content": h['content']}) | |
| messages.append({"role": "user", "content": msg}) | |
| try: | |
| completion = client.chat.completions.create( | |
| model="llama-3.1-8b-instant", | |
| messages=messages, | |
| temperature=0.1, # Hallucination မဖြစ်အောင် အနိမ့်ဆုံးထားတယ် | |
| stream=True | |
| ) | |
| ans = "" | |
| for chunk in completion: | |
| if chunk.choices[0].delta.content: | |
| ans += chunk.choices[0].delta.content | |
| yield ans | |
| except Exception as e: | |
| yield f"🔱 Matrix Link Lost: {str(e)}" | |
| # 🔱 UI SETUP | |
| with gr.Blocks(theme="monochrome") as demo: | |
| gr.Markdown(f"# 🔱 TELEFOXX OMNI-SYNC\n**Status:** {'Connected' if NEON_URL else 'Key Missing'}") | |
| chatbot = gr.Chatbot(type="messages", allow_tags=False) | |
| msg_input = gr.Textbox(placeholder="အမိန့်ပေးပါ Commander...") | |
| def respond(message, chat_history): | |
| chat_history.append({"role": "user", "content": message}) | |
| chat_history.append({"role": "assistant", "content": ""}) | |
| for r in stream_logic(message, chat_history[:-1]): | |
| chat_history[-1]["content"] = r | |
| yield "", chat_history | |
| msg_input.submit(respond, [msg_input, chatbot], [msg_input, chatbot]) | |
| if __name__ == "__main__": | |
| # GitHub Actions Headless Mode | |
| is_headless = os.getenv("HEADLESS_MODE") == "true" | |
| demo.launch( | |
| server_name="0.0.0.0", | |
| server_port=7860, | |
| prevent_thread_lock=is_headless | |
| ) | |
| if is_headless: | |
| import time | |
| print("🔱 SYNCHRONIZING TRINITY MATRIX...") | |
| time.sleep(15) # Sync လုပ်ဖို့ အချိန်ပေးတယ် | |