TheBobBob commited on
Commit
a831da4
·
verified ·
1 Parent(s): 8b2579c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -16
app.py CHANGED
@@ -219,6 +219,10 @@ def streamlit_app():
219
  # Initialize db in session state if not already present
220
  if "db" not in st.session_state:
221
  st.session_state.db = None
 
 
 
 
222
 
223
  # Search query input
224
  search_str = st.text_input("Enter search query:")
@@ -251,26 +255,30 @@ def streamlit_app():
251
 
252
  if final_items:
253
  st.session_state.db = create_vector_db(final_items)
254
- st.write("Models have been processed and added to the database.")
255
  else:
256
- st.error("No items found in the models. Check if the Antimony files were generated correctly.")
257
 
258
- # Avoid caching the database initialization, or ensure it's properly updated.
259
- @st.cache_resource
260
- def get_messages():
261
- if "messages" not in st.session_state:
262
- st.session_state.messages = []
263
- return st.session_state.messages
264
-
265
- # Query input and response generation
266
- query = st.text_area("Ask a question about the models:")
267
 
268
- if st.button("Get Response"):
269
- if st.session_state.db:
270
- response = generate_response(st.session_state.db, query, "")
271
- st.write("Response: ", response)
 
 
 
 
 
 
 
 
 
 
 
272
  else:
273
- st.warning("Database is not initialized. Please search and analyze models first.")
274
 
275
  if __name__ == "__main__":
276
  streamlit_app()
 
219
  # Initialize db in session state if not already present
220
  if "db" not in st.session_state:
221
  st.session_state.db = None
222
+ if "messages" not in st.session_state:
223
+ st.session_state.messages = []
224
+ if "previous_context" not in st.session_state:
225
+ st.session_state.previous_context = ""
226
 
227
  # Search query input
228
  search_str = st.text_input("Enter search query:")
 
255
 
256
  if final_items:
257
  st.session_state.db = create_vector_db(final_items)
258
+ st.success("Database initialized and models analyzed!")
259
  else:
260
+ st.warning("No valid models found for the selected IDs.")
261
 
262
+ # Chat interface
263
+ query = st.text_area("Chat with the model:", value="", height=150)
 
 
 
 
 
 
 
264
 
265
+ if query:
266
+ # Update messages with user query
267
+ st.session_state.messages.append({"role": "user", "content": query})
268
+
269
+ # Generate response based on previous context and new query
270
+ response = generate_response(st.session_state.db, query, st.session_state.previous_context)
271
+ st.session_state.messages.append({"role": "assistant", "content": response})
272
+
273
+ # Update previous context with the latest response
274
+ st.session_state.previous_context = response
275
+
276
+ # Display conversation history
277
+ for message in st.session_state.messages:
278
+ if message["role"] == "user":
279
+ st.write(f"**You:** {message['content']}")
280
  else:
281
+ st.write(f"**Assistant:** {message['content']}")
282
 
283
  if __name__ == "__main__":
284
  streamlit_app()