Download src/streamlit_app.py from Ath103/test: direct link, hf CLI and curl.
- Browser
- Download file 1.74 kB
-
https://huggingface.co/spaces/Ath103/test/resolve/main/src/streamlit_app.py
- Command line
-
hf download hf://spaces/Ath103/test/src/streamlit_app.py
-
curl -L -o streamlit_app.py https://huggingface.co/spaces/Ath103/test/resolve/main/src/streamlit_app.py
1.74 kB
| import streamlit as st | |
| import google.generativeai as genai | |
| import os | |
| # --- BAGIAN AUTHENTICATION SEDERHANA --- | |
| def check_password(): | |
| """Mengembalikan True jika user memasukkan password yang benar.""" | |
| # Jika password belum diset di Secrets, anggap tidak perlu password (untuk dev) | |
| if "APP_PASSWORD" not in os.environ: | |
| return True | |
| def password_entered(): | |
| if st.session_state["password"] == os.environ["APP_PASSWORD"]: | |
| st.session_state["password_correct"] = True | |
| del st.session_state["password"] # Hapus password dari session demi keamanan | |
| else: | |
| st.session_state["password_correct"] = False | |
| if "password_correct" not in st.session_state: | |
| # Tampilan Input Password Pertama Kali | |
| st.text_input( | |
| "Masukkan Password untuk Mengakses Bot:", | |
| type="password", | |
| on_change=password_entered, | |
| key="password" | |
| ) | |
| return False | |
| elif not st.session_state["password_correct"]: | |
| # Jika password salah | |
| st.text_input( | |
| "Password Salah. Coba lagi:", | |
| type="password", | |
| on_change=password_entered, | |
| key="password" | |
| ) | |
| return False | |
| else: | |
| # Password Benar | |
| return True | |
| # --- KODE UTAMA APLIKASI --- | |
| if check_password(): | |
| # Taruh semua kode aplikasi Gemini Anda di bawah sini (indentasi masuk) | |
| api_key = os.getenv("GEMINI_API_KEY") | |
| genai.configure(api_key=api_key) | |
| st.title("🤖 Bot Privat Saya") | |
| st.success("Login Berhasil!") | |
| user_input = st.text_input("Tanya Gemini:") | |
| if user_input: | |
| # Logika chat... | |
| st.write(f"Menjawab: {user_input}...") |