Nexus-Flow-AI / src /streamlit_app.py
kumrsanjeev's picture
Update src/streamlit_app.py
e9f6513 verified
Raw
History Blame Contribute Delete
1.83 kB
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}")