prasadnu commited on
Commit
975db88
·
1 Parent(s): 1268288

ubi integration

Browse files
Files changed (1) hide show
  1. pages/Semantic_Search.py +35 -24
pages/Semantic_Search.py CHANGED
@@ -785,6 +785,7 @@ def render_answer(answer,index):
785
  placeholder_no_results = st.empty()
786
 
787
  col_1, col_2,col_3 = st.columns([70,10,20])
 
788
  i = 0
789
  filter_out = 0
790
  if len(answer) == 0:
@@ -869,30 +870,40 @@ def render_answer(answer,index):
869
  item_id = ans['id'] # use a real ID if available
870
  expander_key = f"expander_{item_id}"
871
  opened_key = f"{item_id}_opened"
872
- expander = st.expander("Document Metadata:", expanded=False, key=expander_key)
873
-
874
- if expander:
875
- with expander:
876
- st.write(":green[default:]")
877
- st.json({"category:":ans['category'],"price":str(ans['price']),"gender_affinity":ans['gender_affinity'],"style":ans['style']},expanded = True)
878
- if("rekog" in ans):
879
- st.write(":green[enriched:]")
880
- st.json(ans['rekog'],expanded = True)
881
- # Log event only on first open
882
- if not st.session_state.get(opened_key):
883
- st.session_state[opened_key] = True
884
-
885
- # ✅ Build event
886
- event_payload = {
887
- "action_name": "expander_open",
888
- "query_id": st.session_state.get("query_id"),
889
- "session_id": st.session_state.get("session_id"),
890
- "item_id": item_id,
891
- "timestamp": datetime.utcnow().isoformat() + "Z",
892
- "message_type": "INFO",
893
- "message": f"Expander opened for item {item_id}"
894
- }
895
- status = ubi.send_to_lambda("ubi_events", event_payload)
 
 
 
 
 
 
 
 
 
 
896
  with inner_col_1:
897
 
898
  if(st.session_state.input_evaluate == "enabled"):
 
785
  placeholder_no_results = st.empty()
786
 
787
  col_1, col_2,col_3 = st.columns([70,10,20])
788
+ lambda_url = "https://npf3wa47evhz44ee7us4gozomi0gcvkn.lambda-url.us-west-2.on.aws/"
789
  i = 0
790
  filter_out = 0
791
  if len(answer) == 0:
 
870
  item_id = ans['id'] # use a real ID if available
871
  expander_key = f"expander_{item_id}"
872
  opened_key = f"{item_id}_opened"
873
+
874
+ with expander:
875
+ st.write(":green[default:]")
876
+ st.json({"category:":ans['category'],"price":str(ans['price']),"gender_affinity":ans['gender_affinity'],"style":ans['style']},expanded = True)
877
+ if("rekog" in ans):
878
+ st.write(":green[enriched:]")
879
+ st.json(ans['rekog'],expanded = True)
880
+ # Inject the hidden div for JS to hook into
881
+ components.html(f"""
882
+ <div id="{doc_id}" onclick="sendEvent('{doc_id}')"></div>
883
+
884
+ <script>
885
+ function sendEvent(itemId) {{
886
+ fetch("{lambda_url}", {{
887
+ method: "POST",
888
+ headers: {{
889
+ "Content-Type": "application/json"
890
+ }},
891
+ body: JSON.stringify({{
892
+ action_name: "expander_open",
893
+ item_id: itemId,
894
+ session_id: "{st.session_state.get('session_id', 'unknown')}",
895
+ query_id: "{st.session_state.get('query_id', 'unknown')}",
896
+ timestamp: new Date().toISOString(),
897
+ message_type: "INFO",
898
+ message: "Expander opened for item " + itemId
899
+ }})
900
+ }}).then(response => console.log("Event sent for", itemId));
901
+ }}
902
+
903
+ // Automatically trigger click when the expander is opened
904
+ document.getElementById("{doc_id}").click();
905
+ </script>
906
+ """, height=0)
907
  with inner_col_1:
908
 
909
  if(st.session_state.input_evaluate == "enabled"):