Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -462,65 +462,8 @@ def main():
|
|
| 462 |
if 'documents' not in st.session_state:
|
| 463 |
st.session_state.documents = []
|
| 464 |
|
| 465 |
-
# Cosmos DB Connection (assuming this is done earlier in your code)
|
| 466 |
-
if st.session_state.client is None:
|
| 467 |
-
st.session_state.client = CosmosClient(ENDPOINT, credential=st.session_state.primary_key)
|
| 468 |
|
| 469 |
-
|
| 470 |
-
databases = get_databases(st.session_state.client)
|
| 471 |
-
selected_db = st.sidebar.selectbox("๐๏ธ Select Database", databases)
|
| 472 |
-
|
| 473 |
-
if selected_db != st.session_state.selected_database:
|
| 474 |
-
st.session_state.selected_database = selected_db
|
| 475 |
-
st.session_state.selected_container = None
|
| 476 |
-
st.session_state.selected_document_id = None
|
| 477 |
-
st.session_state.current_index = 0
|
| 478 |
-
st.rerun()
|
| 479 |
-
|
| 480 |
-
if st.session_state.selected_database:
|
| 481 |
-
database = st.session_state.client.get_database_client(st.session_state.selected_database)
|
| 482 |
-
containers = get_containers(database)
|
| 483 |
-
selected_container = st.sidebar.selectbox("๐ Select Container", containers)
|
| 484 |
-
|
| 485 |
-
if selected_container != st.session_state.selected_container:
|
| 486 |
-
st.session_state.selected_container = selected_container
|
| 487 |
-
st.session_state.selected_document_id = None
|
| 488 |
-
st.session_state.current_index = 0
|
| 489 |
-
st.rerun()
|
| 490 |
-
|
| 491 |
-
if st.session_state.selected_container:
|
| 492 |
-
container = database.get_container_client(st.session_state.selected_container)
|
| 493 |
-
|
| 494 |
-
# Add Export button
|
| 495 |
-
if st.button("๐ฆ Export Container Data"):
|
| 496 |
-
download_link = archive_current_container(st.session_state.selected_database, st.session_state.selected_container, st.session_state.client)
|
| 497 |
-
if download_link.startswith('<a'):
|
| 498 |
-
st.markdown(download_link, unsafe_allow_html=True)
|
| 499 |
-
else:
|
| 500 |
-
st.error(download_link)
|
| 501 |
-
|
| 502 |
-
# Fetch documents
|
| 503 |
-
st.session_state.documents = get_documents(container)
|
| 504 |
-
total_docs = len(st.session_state.documents)
|
| 505 |
-
|
| 506 |
-
# Add buttons for saving new document and cloning
|
| 507 |
-
if st.button("๐พ Save New Document"):
|
| 508 |
-
user_query = st.session_state.get('user_query', '')
|
| 509 |
-
ai_response = st.session_state.get('ai_response', '')
|
| 510 |
-
save_or_clone_to_cosmos_db(container, query=user_query, response=ai_response)
|
| 511 |
-
|
| 512 |
-
if st.button("๐ Clone Document"):
|
| 513 |
-
doc_to_clone = st.selectbox("Select document to clone", [doc['id'] for doc in st.session_state.documents])
|
| 514 |
-
if doc_to_clone:
|
| 515 |
-
save_or_clone_to_cosmos_db(container, clone_id=doc_to_clone)
|
| 516 |
-
|
| 517 |
-
# Display documents
|
| 518 |
-
if st.session_state.documents:
|
| 519 |
-
for doc in st.session_state.documents:
|
| 520 |
-
st.write(f"ID: {doc['id']}")
|
| 521 |
-
st.write(f"Query: {doc.get('query', 'N/A')}")
|
| 522 |
-
st.write(f"Response: {doc.get('response', 'N/A')}")
|
| 523 |
-
st.write("---")
|
| 524 |
|
| 525 |
# Automatic Login
|
| 526 |
if Key:
|
|
@@ -562,6 +505,69 @@ def main():
|
|
| 562 |
|
| 563 |
if st.session_state.selected_container:
|
| 564 |
container = database.get_container_client(st.session_state.selected_container)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 565 |
|
| 566 |
# Add Export button
|
| 567 |
if st.button("๐ฆ Export Container Data"):
|
|
|
|
| 462 |
if 'documents' not in st.session_state:
|
| 463 |
st.session_state.documents = []
|
| 464 |
|
|
|
|
|
|
|
|
|
|
| 465 |
|
| 466 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 467 |
|
| 468 |
# Automatic Login
|
| 469 |
if Key:
|
|
|
|
| 505 |
|
| 506 |
if st.session_state.selected_container:
|
| 507 |
container = database.get_container_client(st.session_state.selected_container)
|
| 508 |
+
|
| 509 |
+
if selected_db != st.session_state.selected_database:
|
| 510 |
+
st.session_state.selected_database = selected_db
|
| 511 |
+
st.session_state.selected_container = None
|
| 512 |
+
st.session_state.selected_document_id = None
|
| 513 |
+
st.session_state.current_index = 0
|
| 514 |
+
st.rerun()
|
| 515 |
+
|
| 516 |
+
|
| 517 |
+
|
| 518 |
+
|
| 519 |
+
|
| 520 |
+
# save_or_clone_to_cosmos_db special project
|
| 521 |
+
if st.session_state.selected_database:
|
| 522 |
+
database = st.session_state.client.get_database_client(st.session_state.selected_database)
|
| 523 |
+
containers = get_containers(database)
|
| 524 |
+
selected_container = st.sidebar.selectbox("๐ Select Container", containers)
|
| 525 |
+
|
| 526 |
+
if selected_container != st.session_state.selected_container:
|
| 527 |
+
st.session_state.selected_container = selected_container
|
| 528 |
+
st.session_state.selected_document_id = None
|
| 529 |
+
st.session_state.current_index = 0
|
| 530 |
+
st.rerun()
|
| 531 |
+
|
| 532 |
+
if st.session_state.selected_container:
|
| 533 |
+
container = database.get_container_client(st.session_state.selected_container)
|
| 534 |
+
|
| 535 |
+
# Add Export button
|
| 536 |
+
if st.button("๐ฆ Export Container Data"):
|
| 537 |
+
download_link = archive_current_container(st.session_state.selected_database, st.session_state.selected_container, st.session_state.client)
|
| 538 |
+
if download_link.startswith('<a'):
|
| 539 |
+
st.markdown(download_link, unsafe_allow_html=True)
|
| 540 |
+
else:
|
| 541 |
+
st.error(download_link)
|
| 542 |
+
|
| 543 |
+
# Fetch documents
|
| 544 |
+
st.session_state.documents = get_documents(container)
|
| 545 |
+
total_docs = len(st.session_state.documents)
|
| 546 |
+
|
| 547 |
+
# Add buttons for saving new document and cloning
|
| 548 |
+
if st.button("๐พ Save New Document"):
|
| 549 |
+
user_query = st.session_state.get('user_query', '')
|
| 550 |
+
ai_response = st.session_state.get('ai_response', '')
|
| 551 |
+
save_or_clone_to_cosmos_db(container, query=user_query, response=ai_response)
|
| 552 |
+
|
| 553 |
+
if st.button("๐ Clone Document"):
|
| 554 |
+
doc_to_clone = st.selectbox("Select document to clone", [doc['id'] for doc in st.session_state.documents])
|
| 555 |
+
if doc_to_clone:
|
| 556 |
+
save_or_clone_to_cosmos_db(container, clone_id=doc_to_clone)
|
| 557 |
+
|
| 558 |
+
# Display documents
|
| 559 |
+
if st.session_state.documents:
|
| 560 |
+
for doc in st.session_state.documents:
|
| 561 |
+
st.write(f"ID: {doc['id']}")
|
| 562 |
+
st.write(f"Query: {doc.get('query', 'N/A')}")
|
| 563 |
+
st.write(f"Response: {doc.get('response', 'N/A')}")
|
| 564 |
+
st.write("---")
|
| 565 |
+
|
| 566 |
+
|
| 567 |
+
|
| 568 |
+
|
| 569 |
+
|
| 570 |
+
|
| 571 |
|
| 572 |
# Add Export button
|
| 573 |
if st.button("๐ฆ Export Container Data"):
|