69 lines
2.0 KiB
Python
69 lines
2.0 KiB
Python
from dash import html, dcc
|
|
import dash_bootstrap_components as dbc
|
|
|
|
|
|
class AboutComponent:
|
|
def _get_about_content(self):
|
|
return """
|
|
# 🔍 Interactive Embedding Visualization
|
|
|
|
EmbeddingBuddy is a modular Python Dash web application for interactive exploration and visualization of embedding vectors through dimensionality reduction techniques (PCA, t-SNE, UMAP).
|
|
|
|
## ✨ Features
|
|
|
|
- Drag-and-drop NDJSON file upload
|
|
- Multiple dimensionality reduction algorithms
|
|
- 2D/3D interactive plots with Plotly
|
|
- Color coding by categories, subcategories, or tags
|
|
- In-browser embedding generation
|
|
- OpenSearch integration for data loading
|
|
|
|
## 🔧 Supported Algorithms
|
|
|
|
- **PCA** (Principal Component Analysis)
|
|
- **t-SNE** (t-Distributed Stochastic Neighbor Embedding)
|
|
- **UMAP** (Uniform Manifold Approximation and Projection)
|
|
|
|
---
|
|
|
|
📂 [View on GitHub](https://github.com/godber/EmbeddingBuddy)
|
|
|
|
*Built with: Python, Dash, Plotly, scikit-learn, OpenTSNE, UMAP*
|
|
""".strip()
|
|
|
|
def create_about_modal(self):
|
|
return dbc.Modal(
|
|
[
|
|
dbc.ModalHeader(
|
|
dbc.ModalTitle("About EmbeddingBuddy"),
|
|
close_button=True,
|
|
),
|
|
dbc.ModalBody([
|
|
dcc.Markdown(
|
|
self._get_about_content(),
|
|
className="mb-0"
|
|
)
|
|
]),
|
|
dbc.ModalFooter([
|
|
dbc.Button(
|
|
"Close",
|
|
id="about-modal-close",
|
|
color="secondary",
|
|
n_clicks=0
|
|
)
|
|
]),
|
|
],
|
|
id="about-modal",
|
|
is_open=False,
|
|
size="lg",
|
|
)
|
|
|
|
def create_about_button(self):
|
|
return dbc.Button(
|
|
[html.I(className="fas fa-info-circle me-2"), "About"],
|
|
id="about-button",
|
|
color="outline-info",
|
|
size="sm",
|
|
n_clicks=0,
|
|
className="ms-2"
|
|
) |