Promotingai commited on
Commit
4f84c00
·
verified ·
1 Parent(s): b701b15

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -4
app.py CHANGED
@@ -7,22 +7,33 @@ openai_api_key = os.getenv("OPENAI_API_KEY")
7
 
8
  st.title("💬 Chatbot")
9
  st.caption("")
 
 
10
  if "messages" not in st.session_state:
11
  st.session_state["messages"] = [{"role": "assistant", "content": "How can I help you?"}]
12
 
 
13
  for msg in st.session_state.messages:
14
  st.chat_message(msg["role"]).write(msg["content"])
15
 
16
- if prompt := st.chat_input():
 
 
17
  if not openai_api_key:
18
  st.error("No OpenAI API key found. Please set the OPENAI_API_KEY environment variable.")
19
  st.stop()
20
 
21
- client = OpenAI(api_key=openai_api_key)
22
  st.session_state.messages.append({"role": "user", "content": prompt})
23
  st.chat_message("user").write(prompt)
24
- response = client.chat.completions.create(model="gpt-3.5-turbo", messages=st.session_state.messages)
25
- msg = response.choices[0].message.content
 
 
 
 
 
 
26
  st.session_state.messages.append({"role": "assistant", "content": msg})
27
  st.chat_message("assistant").write(msg)
28
 
 
7
 
8
  st.title("💬 Chatbot")
9
  st.caption("")
10
+
11
+ # Initialize session state for storing messages if it doesn't already exist
12
  if "messages" not in st.session_state:
13
  st.session_state["messages"] = [{"role": "assistant", "content": "How can I help you?"}]
14
 
15
+ # Display all previous messages
16
  for msg in st.session_state.messages:
17
  st.chat_message(msg["role"]).write(msg["content"])
18
 
19
+ # Input for new prompts
20
+ prompt = st.chat_input("Enter your question:")
21
+ if prompt:
22
  if not openai_api_key:
23
  st.error("No OpenAI API key found. Please set the OPENAI_API_KEY environment variable.")
24
  st.stop()
25
 
26
+ # Append the new user message to session state
27
  st.session_state.messages.append({"role": "user", "content": prompt})
28
  st.chat_message("user").write(prompt)
29
+
30
+ # Use a spinner to indicate that the model is generating a response
31
+ with st.spinner('Thinking...'):
32
+ client = OpenAI(api_key=openai_api_key)
33
+ response = client.chat.completions.create(model="gpt-3.5-turbo", messages=st.session_state.messages)
34
+ msg = response.choices[0].message.content
35
+
36
+ # Append and display the assistant's response
37
  st.session_state.messages.append({"role": "assistant", "content": msg})
38
  st.chat_message("assistant").write(msg)
39