larrysim commited on
Commit
63b23af
Β·
verified Β·
1 Parent(s): c969c2f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -9
app.py CHANGED
@@ -24,7 +24,7 @@ for k, v in defaults.items():
24
  with st.sidebar:
25
  st.header("πŸ” API Configuration")
26
 
27
- # ---------- BEFORE VALIDATION ----------
28
  if not st.session_state.api_validated:
29
  st.text_input(
30
  "Enter Google API Key",
@@ -37,24 +37,27 @@ with st.sidebar:
37
  st.warning("Please enter an API key.")
38
  else:
39
  try:
40
- # 1️⃣ Initialize client
41
- client = genai.Client(
42
  api_key=st.session_state.api_key_input
43
  )
44
 
45
- # 2️⃣ REAL validation call (this is the key fix)
46
- test_response = client.models.generate_content(
 
 
 
47
  model="gemini-2.5-flash",
48
- contents="Say OK"
49
  )
50
 
51
- # 3️⃣ Only after success, list models
52
  models = [
53
  m.name for m in client.models.list()
54
  if "gemini" in m.name.lower()
55
  ]
56
 
57
- # 4️⃣ Persist validated state
58
  st.session_state.api_key = st.session_state.api_key_input
59
  st.session_state.client = client
60
  st.session_state.models = models
@@ -70,7 +73,7 @@ with st.sidebar:
70
  st.error("❌ Invalid or restricted API key")
71
  st.caption(str(e))
72
 
73
- # ---------- AFTER VALIDATION ----------
74
  else:
75
  st.success("πŸ”’ API Key validated (hidden)")
76
 
 
24
  with st.sidebar:
25
  st.header("πŸ” API Configuration")
26
 
27
+ # -------- BEFORE VALIDATION --------
28
  if not st.session_state.api_validated:
29
  st.text_input(
30
  "Enter Google API Key",
 
37
  st.warning("Please enter an API key.")
38
  else:
39
  try:
40
+ # βœ… CORRECT: Configure SDK globally
41
+ genai.configure(
42
  api_key=st.session_state.api_key_input
43
  )
44
 
45
+ # Create client AFTER configure
46
+ client = genai.Client()
47
+
48
+ # βœ… Minimal real inference validation
49
+ client.models.generate_content(
50
  model="gemini-2.5-flash",
51
+ contents="OK"
52
  )
53
 
54
+ # Fetch available models
55
  models = [
56
  m.name for m in client.models.list()
57
  if "gemini" in m.name.lower()
58
  ]
59
 
60
+ # Persist validated state
61
  st.session_state.api_key = st.session_state.api_key_input
62
  st.session_state.client = client
63
  st.session_state.models = models
 
73
  st.error("❌ Invalid or restricted API key")
74
  st.caption(str(e))
75
 
76
+ # -------- AFTER VALIDATION --------
77
  else:
78
  st.success("πŸ”’ API Key validated (hidden)")
79