Skip to content

Commit c6ba473

Browse files
committed
Add support for retrieving API key from App secrets
1 parent 8297a94 commit c6ba473

File tree

1 file changed

+25
-5
lines changed

1 file changed

+25
-5
lines changed

script.py

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,14 @@ def main():
177177
st.session_state["openai"]["model_name"] = st.selectbox("Model name", model_options_openai, index=model_options_openai.index(st.session_state["openai"]["model_name"]))
178178
st.session_state["openai"]["temperature"] = st.slider("Temperature", min_value=0.0, max_value=2.0, value=st.session_state["openai"]["temperature"], step=0.1)
179179
st.session_state["openai"]["max_tokens"] = st.slider("Maximum Tokens", min_value=1, max_value=4096, value=st.session_state["openai"]["max_tokens"], step=1)
180-
api_key = st.text_input("API Key", value="", key="api_key", type="password")
180+
181+
# Check if the API key is in App secrets.
182+
if st.secrets["OPENAI_API_KEY"]:
183+
api_key = st.secrets["OPENAI_API_KEY"]
184+
logger.info("Gemini AI API key is initialized from App secrets.")
185+
else:
186+
api_key = st.text_input("API Key", value="", key="api_key", type="password")
187+
181188
st.session_state.proxy_api = st.text_input("Proxy API", value="",placeholder="http://myproxy-api.replit.co/")
182189
st.session_state.openai_langchain = OpenAILangChain(st.session_state.code_language, st.session_state["openai"]["temperature"], st.session_state["openai"]["max_tokens"], st.session_state["openai"]["model_name"], api_key)
183190
st.toast("Open AI initialized successfully.", icon="✅")
@@ -257,8 +264,14 @@ def main():
257264
st.session_state["palm"]["model_name"] = st.selectbox("Model name", model_options_palm, index=model_options_palm.index(st.session_state["palm"]["model_name"]))
258265
st.session_state["palm"]["temperature"] = st.slider("Temperature", min_value=0.0, max_value=1.0, value=st.session_state["palm"]["temperature"], step=0.1)
259266
st.session_state["palm"]["max_tokens"] = st.slider("Maximum Tokens", min_value=1, max_value=8196, value=st.session_state["palm"]["max_tokens"], step=1)
260-
# Add password option for getting API key
261-
api_key = st.text_input("API Key", type="password")
267+
268+
# Check if the API key is in App secrets.
269+
if st.secrets["PALM_API_KEY"]:
270+
api_key = st.secrets["PALM_API_KEY"]
271+
logger.info("Gemini AI API key is initialized from App secrets.")
272+
else:
273+
# Add password option for getting API key
274+
api_key = st.text_input("API Key", type="password")
262275
try:
263276
st.session_state.palm_langchain = PalmAI(api_key, model=st.session_state["palm"]["model_name"], temperature=st.session_state["palm"]["temperature"], max_output_tokens=st.session_state["palm"]["max_tokens"])
264277
except Exception as exception:
@@ -278,8 +291,15 @@ def main():
278291
st.session_state["gemini"]["model_name"] = st.selectbox("Model name", model_options_gemini, index=model_options_gemini.index(st.session_state["gemini"]["model_name"]))
279292
st.session_state["gemini"]["temperature"] = st.slider("Temperature", min_value=0.0, max_value=1.0, value=st.session_state["gemini"]["temperature"], step=0.1)
280293
st.session_state["gemini"]["max_tokens"] = st.slider("Maximum Tokens", min_value=1, max_value=8196, value=st.session_state["gemini"]["max_tokens"], step=1)
281-
# Add password option for getting API key
282-
api_key = st.text_input("API Key", type="password")
294+
295+
# Check if the API key is in App secrets.
296+
if st.secrets["GEMINI_API_KEY"]:
297+
api_key = st.secrets["GEMINI_API_KEY"]
298+
logger.info("Gemini AI API key is initialized from App secrets.")
299+
else:
300+
# Add password option for getting API key
301+
api_key = st.text_input("API Key", type="password")
302+
logger.info("Gemini AI API key is initialized from user input.")
283303
try:
284304
st.session_state.gemini_langchain = GeminiAI(api_key, model=st.session_state["gemini"]["model_name"], temperature=st.session_state["gemini"]["temperature"], max_output_tokens=st.session_state["gemini"]["max_tokens"])
285305
except Exception as exception:

0 commit comments

Comments
 (0)