Spaces:
Paused
Paused
| import streamlit as st | |
| import sys | |
| import subprocess | |
| import os | |
| # --- FORCE INSTALLER (The "Fixer") --- | |
| def install_package(package): | |
| try: | |
| subprocess.check_call([sys.executable, "-m", "pip", "install", package]) | |
| except Exception as e: | |
| st.error(f"Installation failed for {package}: {e}") | |
| # Check if Gemini is missing, then install it | |
| try: | |
| import google.generativeai as genai | |
| except ImportError: | |
| # Build ke waqt hi install karne ki koshish karega | |
| install_package("google-generativeai") | |
| import google.generativeai as genai | |
| # --- PAGE CONFIG --- | |
| st.set_page_config(page_title="Nexus Flow AI Pro", page_icon="⚡", layout="wide") | |
| # --- API KEY --- | |
| if "GOOGLE_API_KEY" in st.secrets: | |
| genai.configure(api_key=st.secrets["GOOGLE_API_KEY"]) | |
| else: | |
| st.error("⚠️ Sanjeev, please add GOOGLE_API_KEY in Settings > Secrets!") | |
| st.stop() | |
| # --- THE BRAIN --- | |
| instruction = "You are Nexus Flow AI Pro, Sanjeev's digital avatar. Expert in Video Editing (Punch Edit) and Coding." | |
| model = genai.GenerativeModel("gemini-1.5-flash", system_instruction=instruction) | |
| # --- SIMPLE CHAT --- | |
| if "messages" not in st.session_state: | |
| st.session_state.messages = [] | |
| for m in st.session_state.messages: | |
| with st.chat_message(m["role"]): | |
| st.markdown(m["content"]) | |
| if prompt := st.chat_input("Kaise help karu Sanjeev?"): | |
| st.session_state.messages.append({"role": "user", "content": prompt}) | |
| with st.chat_message("user"): | |
| st.markdown(prompt) | |
| with st.chat_message("assistant"): | |
| try: | |
| response = model.generate_content(prompt) | |
| st.markdown(response.text) | |
| st.session_state.messages.append({"role": "assistant", "content": response.text}) | |
| except Exception as e: | |
| st.error(f"Model Error: {e}") | |