import plotly.express as px import streamlit as st from sentence_transformers import SentenceTransformer from huggingface_hub import hf_hub_url, cached_download import umap.umap_ as umap import pandas as pd import os import joblib def app(): with st.container(): question = st.text_input("Please enter your text here and we will embed it for you.", value="Woman",) if st.button("Embed"): with st.spinner("👑 load language model (sentence transformer)"): model_name = 'sentence-transformers/all-MiniLM-L6-v2' model = SentenceTransformer(model_name) REPO_ID = "peter2000/umap_embed_3d_all-MiniLM-L6-v2" FILENAME = "umap_embed_3d_all-MiniLM-L6-v2.sav" umap_model= joblib.load(cached_download(hf_hub_url(REPO_ID, FILENAME))) examples_embeddings = model.encode(question) examples_umap = umap_model.transform(examples_embeddings) #st.write(len(examples_umap)) with st.spinner("👑 create visualisation"): fig = px.scatter_3d( examples_umap , x=0, y=1, z=2, # color='labels', opacity = .5, hover_data=[question]) fig.update_scenes(xaxis_visible=False, yaxis_visible=False,zaxis_visible=False ) fig.update_traces(marker_size=4) st.plotly_chart(fig)