Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -5,6 +5,11 @@ from streamlit_cookies_manager import EncryptedCookieManager
|
|
5 |
from openai import OpenAI
|
6 |
import google.generativeai as genai
|
7 |
|
|
|
|
|
|
|
|
|
|
|
8 |
# -----------------------------------------------------
|
9 |
# Retrieve API keys from Hugging Face Secrets
|
10 |
# -----------------------------------------------------
|
@@ -18,19 +23,12 @@ client = OpenAI(api_key=OPENAI_API_KEY)
|
|
18 |
genai.configure(api_key=GEMINI_API_KEY)
|
19 |
gemini_model = genai.GenerativeModel("gemini-pro")
|
20 |
|
21 |
-
# -----------------------------------------------------
|
22 |
-
# Configure Streamlit Page
|
23 |
-
# -----------------------------------------------------
|
24 |
-
st.set_page_config(page_title="AI Model Comparator", layout="wide")
|
25 |
-
st.title("🤖 AI Model Comparator")
|
26 |
-
st.subheader("Compare responses across multiple LLMs.")
|
27 |
-
|
28 |
# -----------------------------------------------------
|
29 |
# Secure Cookie Manager for Request Limits
|
30 |
# -----------------------------------------------------
|
31 |
cookies = EncryptedCookieManager(
|
32 |
prefix="ai-model-comparator/",
|
33 |
-
password=os.environ.get("COOKIES_PASSWORD", "MySecretPassword")
|
34 |
)
|
35 |
|
36 |
if not cookies.ready():
|
@@ -75,8 +73,9 @@ with st.sidebar:
|
|
75 |
user_prompt = st.text_area("✍️ Enter your prompt:", "Explain quantum computing in simple terms.")
|
76 |
|
77 |
# -----------------------------------------------------
|
78 |
-
# API Request Functions
|
79 |
# -----------------------------------------------------
|
|
|
80 |
def get_openai_response(prompt):
|
81 |
try:
|
82 |
completion = client.chat.completions.create(
|
@@ -89,6 +88,7 @@ def get_openai_response(prompt):
|
|
89 |
except Exception as e:
|
90 |
return f"❌ OpenAI error: {e}"
|
91 |
|
|
|
92 |
def get_gemini_response(prompt):
|
93 |
try:
|
94 |
response = gemini_model.generate_content(
|
|
|
5 |
from openai import OpenAI
|
6 |
import google.generativeai as genai
|
7 |
|
8 |
+
# -----------------------------------------------------
|
9 |
+
# Move st.set_page_config() to the very top
|
10 |
+
# -----------------------------------------------------
|
11 |
+
st.set_page_config(page_title="AI Model Comparator", layout="wide")
|
12 |
+
|
13 |
# -----------------------------------------------------
|
14 |
# Retrieve API keys from Hugging Face Secrets
|
15 |
# -----------------------------------------------------
|
|
|
23 |
genai.configure(api_key=GEMINI_API_KEY)
|
24 |
gemini_model = genai.GenerativeModel("gemini-pro")
|
25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
# -----------------------------------------------------
|
27 |
# Secure Cookie Manager for Request Limits
|
28 |
# -----------------------------------------------------
|
29 |
cookies = EncryptedCookieManager(
|
30 |
prefix="ai-model-comparator/",
|
31 |
+
password=os.environ.get("COOKIES_PASSWORD", "MySecretPassword")
|
32 |
)
|
33 |
|
34 |
if not cookies.ready():
|
|
|
73 |
user_prompt = st.text_area("✍️ Enter your prompt:", "Explain quantum computing in simple terms.")
|
74 |
|
75 |
# -----------------------------------------------------
|
76 |
+
# API Request Functions (Using st.cache_data for efficiency)
|
77 |
# -----------------------------------------------------
|
78 |
+
@st.cache_data # Replaces st.cache for caching API responses
|
79 |
def get_openai_response(prompt):
|
80 |
try:
|
81 |
completion = client.chat.completions.create(
|
|
|
88 |
except Exception as e:
|
89 |
return f"❌ OpenAI error: {e}"
|
90 |
|
91 |
+
@st.cache_data # Cache Gemini responses
|
92 |
def get_gemini_response(prompt):
|
93 |
try:
|
94 |
response = gemini_model.generate_content(
|