ziyadsuper2017 commited on
Commit
8b103fc
·
1 Parent(s): 2abea13

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -17
app.py CHANGED
@@ -84,8 +84,12 @@ for message in st.session_state["chat_history"]:
84
  r, t = message["role"], message["parts"][0]["text"]
85
  st.markdown(f"**{r.title()}:** {t}")
86
 
 
 
 
 
87
  # User input
88
- user_input = st.text_area("", height=5, key="user_input")
89
 
90
  # File uploader
91
  uploaded_files = st.file_uploader("Upload images here or paste screenshots", type=["png", "jpg", "jpeg"], accept_multiple_files=True, key="uploaded_files")
@@ -128,7 +132,7 @@ if clear_button:
128
  st.session_state["chat_history"] = []
129
  # Update progress bar
130
  progress_bar.progress(1)
131
-
132
  # Handle user input
133
  if user_input:
134
  # Add user input to chat history
@@ -142,20 +146,24 @@ if user_input:
142
  )
143
 
144
  # Generate model response
145
- if model_name == "gemini-pro":
146
- model = genai.GenerativeModel('gemini-pro')
147
- response = model.generate_content(
148
- contents=[user_input],
149
- generation_config=generation_config
150
- )
151
- elif model_name == "gemini-pro-vision":
152
- images = [Image.open(file).convert('RGB') for file in uploaded_files]
153
- image_prompts = [{'mime_type': 'image/png', 'data': image.tobytes()} for image in images]
154
- model = genai.GenerativeModel('gemini-pro-vision')
155
- response = model.generate_content(
156
- contents=[user_input] + image_prompts,
157
- generation_config=generation_config
158
- )
 
 
 
 
159
 
160
  # Add model response to chat history
161
  st.session_state["chat_history"].append({"role": "model", "parts": [{"text": response}]})
@@ -177,4 +185,3 @@ if user_input:
177
 
178
  # Clear user input
179
  st.session_state.user_input = ""
180
-
 
84
  r, t = message["role"], message["parts"][0]["text"]
85
  st.markdown(f"**{r.title()}:** {t}")
86
 
87
+ # If there is a model response, clear the user input
88
+ if st.session_state.chat_history and st.session_state.chat_history[-1]["role"] == "model":
89
+ st.session_state.user_input = ""
90
+
91
  # User input
92
+ user_input = st.text_area("", value=st.session_state.user_input, height=5, key="user_input")
93
 
94
  # File uploader
95
  uploaded_files = st.file_uploader("Upload images here or paste screenshots", type=["png", "jpg", "jpeg"], accept_multiple_files=True, key="uploaded_files")
 
132
  st.session_state["chat_history"] = []
133
  # Update progress bar
134
  progress_bar.progress(1)
135
+
136
  # Handle user input
137
  if user_input:
138
  # Add user input to chat history
 
146
  )
147
 
148
  # Generate model response
149
+ try:
150
+ if model_name == "gemini-pro":
151
+ model = genai.GenerativeModel('gemini-pro')
152
+ response = model.generate_content(
153
+ contents=[user_input],
154
+ generation_config=generation_config
155
+ )
156
+ elif model_name == "gemini-pro-vision":
157
+ images = [Image.open(file).convert('RGB') for file in uploaded_files]
158
+ image_prompts = [{'mime_type': 'image/png', 'data': image.tobytes()} for image in images]
159
+ model = genai.GenerativeModel('gemini-pro-vision')
160
+ response = model.generate_content(
161
+ contents=[user_input] + image_prompts,
162
+ generation_config=generation_config
163
+ )
164
+ except Exception as e:
165
+ st.write(f"An error occurred: {e}")
166
+ return
167
 
168
  # Add model response to chat history
169
  st.session_state["chat_history"].append({"role": "model", "parts": [{"text": response}]})
 
185
 
186
  # Clear user input
187
  st.session_state.user_input = ""