Create Login Dialog

#3
by ferrywuai - opened
Files changed (1) hide show
  1. src/streamlit_app.py +28 -3
src/streamlit_app.py CHANGED
@@ -55,12 +55,27 @@ def get_reponse(client, user_input):
55
  {"role": "assistant", "content": response_text})
56
 
57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  def chatbot():
59
  model_id = "openai/gpt-oss-20b"
60
- hf_token = os.getenv("HF_TOKEN")
61
 
62
  # Initialize InferenceClient
63
- client = InferenceClient(token=hf_token, model=model_id)
64
 
65
  # Initialize chat history
66
  if "chat_history" not in st.session_state:
@@ -91,5 +106,15 @@ def chatbot():
91
  st.markdown(f"**{role}:** {msg['content']}")
92
 
93
 
 
 
 
 
 
 
 
 
 
 
94
  if __name__ == "__main__":
95
- chatbot()
 
55
  {"role": "assistant", "content": response_text})
56
 
57
 
58
+ def login():
59
+ env_token = os.getenv("HF_TOKEN")
60
+ if env_token:
61
+ st.session_state.hf_token = env_token
62
+ st.rerun()
63
+ else:
64
+ st.title("๐Ÿ” Please input Hugging Face Token")
65
+ user_token = st.text_input("HF_TOKEN", type="password")
66
+ if st.button("โœ… Login"):
67
+ if user_token:
68
+ st.session_state.hf_token = user_token
69
+ st.rerun()
70
+ else:
71
+ st.warning("Please enter a valid token.")
72
+
73
+
74
  def chatbot():
75
  model_id = "openai/gpt-oss-20b"
 
76
 
77
  # Initialize InferenceClient
78
+ client = InferenceClient(token=st.session_state.hf_token, model=model_id)
79
 
80
  # Initialize chat history
81
  if "chat_history" not in st.session_state:
 
106
  st.markdown(f"**{role}:** {msg['content']}")
107
 
108
 
109
+ def main():
110
+ if "hf_token" not in st.session_state:
111
+ st.session_state.hf_token = None
112
+
113
+ if st.session_state.hf_token:
114
+ chatbot()
115
+ else:
116
+ login()
117
+
118
+
119
  if __name__ == "__main__":
120
+ main()