import spaces
import gradio as gr
import pandas as pd
import numpy as np
import os
import re
import hashlib
import plotly.express as px
import plotly.graph_objects as go
import networkx as nx
from datetime import datetime
from huggingface_hub import HfApi, hf_hub_download
from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity, cosine_distances
from sklearn.manifold import TSNE
from sklearn.cluster import AgglomerativeClustering
# Try loading advanced density-based clustering; fallback gracefully if unavailable
try:
import hdbscan
HAS_HDBSCAN = True
except ImportError:
HAS_HDBSCAN = False
# =====================================================================
# 1. GLOBAL CORE CONFIGURATION & COGNITIVE SCORING SYSTEM
# =====================================================================
MODEL_NAME = 'all-MiniLM-L6-v2'
model = SentenceTransformer(MODEL_NAME)
DATASET_REPO_ID = "Masterogon/dream-database"
DB_FILE = "dream_database.csv"
HF_TOKEN = os.environ.get("HF_TOKEN")
api = HfApi()
# Precise analytical weights assigned to Altered States of Consciousness (ASC)
ASC_WEIGHTS = {
"NDE": 1.0,
"OBE": 0.85,
"Lucid Dream (LD)": 0.65,
"Ordinary Dream": 0.4,
"Other": 0.3
}
# In-memory global embedding cache to protect processing resources across large workloads
GLOBAL_EMBEDDING_CACHE = {}
def get_text_hash(text):
return hashlib.sha256(text.strip().encode('utf-8')).hexdigest()
def get_cached_embeddings(texts):
"""
Batched execution system that pulls processed embeddings from cache
and only computes missing elements via SentenceTransformer.
"""
if not texts:
return np.empty((0, model.get_sentence_embedding_dimension()))
hashes = [get_text_hash(t) for t in texts]
missing_texts = []
missing_indices = []
embeddings = [None] * len(texts)
for idx, h in enumerate(hashes):
if h in GLOBAL_EMBEDDING_CACHE:
embeddings[idx] = GLOBAL_EMBEDDING_CACHE[h]
else:
missing_texts.append(texts[idx])
missing_indices.append(idx)
if missing_texts:
computed = model.encode(missing_texts, batch_size=64, show_progress_bar=False)
for idx, comp_idx in enumerate(missing_indices):
h_val = hashes[comp_idx]
GLOBAL_EMBEDDING_CACHE[h_val] = computed[idx]
embeddings[comp_idx] = computed[idx]
return np.array(embeddings)
def split_into_sentences(text):
if not text or not isinstance(text, str):
return []
sentences = re.split(r'(?<=[.!?])\s+', text.strip())
return [s.strip() for s in sentences if len(s.strip()) > 10]
def extract_semantic_fragments(sentence, window_size=5):
"""Generates localized semantic sub-phrases for granular token testing."""
words = sentence.split()
if len(words) <= window_size:
return [sentence]
fragments = []
for i in range(len(words) - window_size + 1):
fragments.append(" ".join(words[i:i+window_size]))
return fragments
# =====================================================================
# 2. HIGH-AVAILABILITY FAULT-TOLERANT DATABASE ARCHITECTURE
# =====================================================================
DATASET_REPO_ID = "Masterogon/dream-database"
DB_FILE = "dream_database.csv"
HF_TOKEN = os.environ.get("HF_TOKEN")
api = HfApi()
def init_db():
"""Synchronizes with Hugging Face storage or initializes clean data matrix locally."""
if HF_TOKEN:
try:
print("๐ Attempting to pull database from Hugging Face Hub...")
file_path = hf_hub_download(
repo_id=DATASET_REPO_ID,
filename=DB_FILE,
repo_type="dataset",
token=HF_TOKEN,
force_download=True
)
import shutil
shutil.copy(file_path, DB_FILE)
print(f"โ
Target database synchronized. Rows loaded: {len(pd.read_csv(DB_FILE))}")
return
except Exception as e:
print(f"โ ๏ธ Cloud retrieval failed. Evaluating fallback arrays. Reason: {e}")
if not os.path.exists(DB_FILE):
df = pd.DataFrame(columns=["Timestamp", "Alias", "ASC_Type", "Emotion", "Intensity", "Narrative"])
df.to_csv(DB_FILE, index=False)
print("๐ Initialized clean localized database container.")
init_db()
def safe_read_db():
"""Reads transactional data entries while safely stripping missing records."""
try:
if os.path.exists(DB_FILE):
df = pd.read_csv(DB_FILE)
return df.dropna(subset=['Narrative']).reset_index(drop=True)
return pd.DataFrame(columns=["Timestamp", "Alias", "ASC_Type", "Emotion", "Intensity", "Narrative"])
except Exception as e:
print(f"โ Database execution exception: {e}")
return pd.DataFrame(columns=["Timestamp", "Alias", "ASC_Type", "Emotion", "Intensity", "Narrative"])
# =====================================================================
# 3. DATA INGESTION ENGINE
# =====================================================================
def process_entry(alias, asc_type, emotion, intensity, narrative):
if not narrative or not narrative.strip():
return "โ Error: System requires a written narrative payload.", safe_read_db().tail(10)
try:
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
new_row = pd.DataFrame([{
"Timestamp": timestamp,
"Alias": alias or "Anonymous",
"ASC_Type": asc_type,
"Emotion": emotion,
"Intensity": int(intensity),
"Narrative": narrative.strip()
}])
new_row.to_csv(DB_FILE, mode='a', header=False, index=False)
backup_status = "Saved locally."
if HF_TOKEN:
try:
api.upload_file(
path_or_fileobj=DB_FILE,
path_in_repo=DB_FILE,
repo_id=DATASET_REPO_ID,
repo_type="dataset",
token=HF_TOKEN,
commit_message=f"Ingested report entry by [{alias or 'Anonymous'}]"
)
backup_status = "Successfully mirrored to cloud storage repository."
except Exception as e:
backup_status = f"Mirrored locally (Cloud upload exception: {e})"
return f"โ
Transmission Complete. Status: {backup_status}", view_database().tail(10)
except Exception as e:
return f"โ Ingestion Error: {str(e)}", safe_read_db().tail(5)
def view_database():
df = safe_read_db()
if len(df) == 0:
return pd.DataFrame(columns=['Report_ID', 'Timestamp', 'ASC_Type', 'Emotion', 'Intensity', 'Narrative'])
df_display = df.copy()
df_display.insert(0, 'Report_ID', [f"Report #{i+1}" for i in range(len(df_display))])
return df_display[['Report_ID', 'Timestamp', 'ASC_Type', 'Emotion', 'Intensity', 'Narrative']]
# =====================================================================
# 4. COMPOSITE STATISTICAL SCORING ENGINE
# =====================================================================
def calculate_composite_score(semantic_sim, asc_type, intensity, cluster_support, uniqueness, cross_report_conf):
"""
Executes a high-dimensional composite geometric calculation to verify
the systemic significance of a given pattern.
"""
asc_w = ASC_WEIGHTS.get(asc_type, 0.3)
intens_w = intensity / 3.0
score = (semantic_sim * 0.35) + \
(asc_w * 0.15) + \
(intens_w * 0.10) + \
(cluster_support * 0.15) + \
(uniqueness * 0.10) + \
(cross_report_conf * 0.15)
return float(score)
# =====================================================================
# 5. HIGH-DENSITY CLUSTERING ENGINE
# =====================================================================
def execute_advanced_clustering(embeddings, min_cluster_size=2):
"""
Executes clustering via HDBSCAN if available, falling back to
AgglomerativeClustering or KMeans dynamically based on data density.
"""
n_samples = len(embeddings)
if n_samples < 2:
return np.zeros(n_samples, dtype=int), 1
if HAS_HDBSCAN:
try:
clusterer = hdbscan.HDBSCAN(min_cluster_size=max(2, min_cluster_size), metric='euclidean', prediction_data=True)
labels = clusterer.fit_predict(embeddings)
# Route outliers (-1) to a dedicated cluster index to avoid structural breakdown
if -1 in labels:
labels[labels == -1] = labels.max() + 1
n_clusters = len(set(labels))
return labels, n_clusters
except:
pass
# Fallback to Agglomerative Clustering
n_clusters = max(2, min(8, n_samples // 3))
if n_clusters >= n_samples:
n_clusters = n_samples - 1 if n_samples > 1 else 1
agg = AgglomerativeClustering(n_clusters=n_clusters, metric='euclidean', linkage='ward')
labels = agg.fit_predict(embeddings)
return labels, n_clusters
# =====================================================================
# 6. TAB 2: MACRO-LEVEL COMPREHENSIVE ANALYSIS
# =====================================================================
@spaces.GPU
def macro_analysis(similarity_threshold=0.40):
df = safe_read_db()
if len(df) < 2:
return go.Figure(), go.Figure(), "### System Status\nInsufficient reports available to calculate structural distance matrix."
texts = df['Narrative'].tolist()
report_ids = [f"Report #{i+1}" for i in range(len(df))]
# Process Embeddings
embeddings = get_cached_embeddings(texts)
sim_matrix = cosine_similarity(embeddings)
# 1. Interactive Heatmap Map
fig_heat = px.imshow(
sim_matrix,
labels=dict(x="Target Matrix ID", y="Source Matrix ID", color="Cosine Metric"),
x=report_ids,
y=report_ids,
color_continuous_scale="Viridis",
aspect="auto",
title="Document-Level Cosine Similarity Heatmap"
)
fig_heat.update_layout(height=600, template="plotly_dark")
# 2. Network Topology Model
G = nx.Graph()
for idx, r_id in enumerate(report_ids):
# Calculate localized baseline parameters
row = df.iloc[idx]
asc_w = ASC_WEIGHTS.get(row['ASC_Type'], 0.3)
node_size = float(30 * asc_w * (row['Intensity'] / 2.0))
G.add_node(r_id, size=max(10, node_size), asc=row['ASC_Type'], state=row['Emotion'])
for i in range(len(report_ids)):
for j in range(i + 1, len(report_ids)):
if sim_matrix[i, j] >= similarity_threshold:
G.add_edge(report_ids[i], report_ids[j], weight=float(sim_matrix[i, j]))
pos = nx.kamada_kawai_layout(G) if len(G.edges()) > 0 else nx.circular_layout(G)
edge_x = []
edge_y = []
edge_text = []
for edge in G.edges(data=True):
x0, y0 = pos[edge[0]]
x1, y1 = pos[edge[1]]
edge_x.extend([x0, x1, None])
edge_y.extend([y0, y1, None])
edge_text.append(f"Strength: {edge[2]['weight']:.3f}")
edge_trace = go.Scatter(
x=edge_x, y=edge_y,
line=dict(width=1.5, color='rgba(150,150,150,0.4)'),
hoverinfo='none',
mode='lines'
)
node_x = []
node_y = []
node_sizes = []
node_colors = []
node_text = []
color_map = {"Positive": "#00ff88", "Neutral": "#00bfff", "Negative": "#ff0055"}
for node in G.nodes():
x, y = pos[node]
node_x.append(x)
node_y.append(y)
node_sizes.append(G.nodes[node]['size'])
node_colors.append(color_map.get(G.nodes[node]['state'], "#ffffff"))
node_text.append(f"{node}
State: {G.nodes[node]['asc']}
Emotion: {G.nodes[node]['state']}")
node_trace = go.Scatter(
x=node_x, y=node_y,
mode='markers+text',
text=[n.replace("Report ", "") for n in G.nodes()],
textposition="top center",
hoverinfo='text',
hovertext=node_text,
marker=dict(
showscale=False,
color=node_colors,
size=node_sizes,
line=dict(width=2, color='#ffffff')
)
)
fig_net = go.Figure(data=[edge_trace, node_trace])
fig_net.update_layout(
title=f"Semantic Topological Network Graph (Threshold >= {similarity_threshold})",
showlegend=False,
hovermode='closest',
margin=dict(b=20, l=5, r=5, t=40),
xaxis=dict(showgrid=False, zeroline=False, showticklabels=False),
yaxis=dict(showgrid=False, zeroline=False, showticklabels=False),
height=600,
template="plotly_dark"
)
summary_md = f"### System Matrix Analysis Complete\n* Total active reports: **{len(df)}**\n* Extracted topological edges: **{len(G.edges())}**"
return fig_heat, fig_net, summary_md
# =====================================================================
# 7. TAB 3: MICRO-LEVEL MICRO ANALYSIS
# =====================================================================
@spaces.GPU
def micro_analysis():
df = safe_read_db()
if len(df) < 1:
return go.Figure(), "### Narrative Array Empty\nIngest more source content to generate structural fragments map."
all_sentences = []
sentence_metadata = []
for idx, row in df.iterrows():
sents = split_into_sentences(row['Narrative'])
for s in sents:
all_sentences.append(s)
sentence_metadata.append({
"Report_ID": f"Report #{idx+1}",
"ASC_Type": row["ASC_Type"],
"Emotion": row["Emotion"],
"Intensity": row["Intensity"]
})
if len(all_sentences) < 3:
return go.Figure(), "### Data Slicing Constraint\nExtracted structural components are insufficient. Submit detailed prose."
sent_embeddings = get_cached_embeddings(all_sentences)
labels, n_clusters = execute_advanced_clustering(sent_embeddings)
# High-dimensional space transformation via t-SNE
perplexity = min(30, max(2, len(all_sentences) - 1))
tsne = TSNE(n_components=2, random_state=42, perplexity=perplexity)
vecs_2d = tsne.fit_transform(sent_embeddings)
sim_matrix = cosine_similarity(sent_embeddings)
plot_df = pd.DataFrame({
"X": vecs_2d[:, 0],
"Y": vecs_2d[:, 1],
"Cluster": [f"Cluster {l}" for l in labels],
"Report": [m["Report_ID"] for m in sentence_metadata],
"ASC": [m["ASC_Type"] for m in sentence_metadata],
"Sentence": all_sentences
})
fig_tsne = px.scatter(
plot_df, x="X", y="Y",
color="Cluster",
symbol="ASC",
hover_data=["Report", "Sentence"],
title="Granular Micro-Level Semantic Structural Vector Map (t-SNE Projection)"
)
fig_tsne.update_layout(height=600, template="plotly_dark", showlegend=False, margin=dict(l=10, r=10, t=40, b=10))
#fig_tsne.update_layout(height=600, template="plotly_dark")
# Evaluate Centrality Metrics across groups
centrality_scores = sim_matrix.mean(axis=1)
top_indices = centrality_scores.argsort()[-5:][::-1]
central_text = "### ๐ฏ Verified Central Sentence Fragments\n"
for rank, idx in enumerate(top_indices):
meta = sentence_metadata[idx]
central_text += f"{rank+1}. **{meta['Report_ID']}** ({meta['ASC_Type']}): \n" \
f" > \"{all_sentences[idx]}\"\n" \
f" *Centrality Weight Coefficient: `{centrality_scores[idx]:.3f}`*\n\n"
return fig_tsne, central_text
# =====================================================================
# 8. TAB 4: ADVANCED AI PATTERN DISCOVERY & HYBRID SEARCH ENGINE
# =====================================================================
@spaces.GPU
def hybrid_pattern_discovery(mode, custom_motifs_text):
df = safe_read_db()
if len(df) < 2:
return "### Analysis Engine Halted\nThe system requires a minimum database configuration of **2 distinct reports** to run unsupervised blind grouping algorithms."
all_sentences = []
sentence_metadata = []
for idx, row in df.iterrows():
sents = split_into_sentences(row['Narrative'])
for s in sents:
all_sentences.append(s)
sentence_metadata.append({
"Report_Idx": idx,
"Report_ID": f"Report #{idx+1}",
"ASC_Type": row["ASC_Type"],
"Intensity": row["Intensity"],
"Emotion": row["Emotion"]
})
if len(all_sentences) < 4:
return "### Text Normalization Constraint\nInsufficient atomic text components found. Enter longer, multi-sentence descriptions."
sent_embeddings = get_cached_embeddings(all_sentences)
# -----------------------------------------------------------------
# RUN UNSUPERVISED BLIND EXTRACTION MODE
# -----------------------------------------------------------------
if mode == "Blind Extraction (Unsupervised)":
labels, n_clusters = execute_advanced_clustering(sent_embeddings)
report_output = f"# ๐๏ธ Unsupervised Pattern Discovery Report\n" \
f"**Executed Date:** {datetime.now().strftime('%Y-%m-%d %H:%M:%S')} | **Analytic Dimension:** {len(all_sentences)} Parsed Fragments\n" \
f"**Target Mathematical Linkage Engine:** { 'HDBSCAN (Density Engine)' if HAS_HDBSCAN else 'Agglomerative Ward Hierarchy' }\n" \
f"**Total Extracted Thematic Formations:** {n_clusters}\n\n---\n"
global_sim_matrix = cosine_similarity(sent_embeddings)
for c_id in sorted(list(set(labels))):
cluster_indices = np.where(labels == c_id)[0]
if len(cluster_indices) < 2:
continue # Filter out noise components lacking cross-report verification
c_embeddings = sent_embeddings[cluster_indices]
centroid = c_embeddings.mean(axis=0).reshape(1, -1)
# Find the closest sentence to the cluster centroid to serve as the structural anchor
distances = cosine_distances(centroid, c_embeddings)[0]
local_center_idx = np.argmin(distances)
global_anchor_idx = cluster_indices[local_center_idx]
representative_fragment = all_sentences[global_anchor_idx]
anchor_meta = sentence_metadata[global_anchor_idx]
# Cross-report verification metric calculations
associated_reports = set([sentence_metadata[i]["Report_ID"] for i in cluster_indices])
cross_report_conf = len(associated_reports) / len(df)
cluster_sims = cosine_similarity(centroid, c_embeddings)[0]
avg_semantic_sim = float(cluster_sims.mean())
# Compute systemic uniqueness vs alternative configurations
outer_indices = np.where(labels != c_id)[0]
if len(outer_indices) > 0:
uniqueness = float(1.0 - cosine_similarity(centroid, sent_embeddings[outer_indices]).mean())
else:
uniqueness = 0.5
cluster_support_ratio = len(cluster_indices) / len(all_sentences)
composite_confidence = calculate_composite_score(
semantic_sim=avg_semantic_sim,
asc_type=anchor_meta["ASC_Type"],
intensity=anchor_meta["Intensity"],
cluster_support=cluster_support_ratio,
uniqueness=uniqueness,
cross_report_conf=cross_report_conf
)
report_output += f"## ๐ข Detected Archetype Cluster #{c_id + 1}\n" \
f"* **Statistical Confidence Metric:** `{composite_confidence:.3f}`\n" \
f"* **Cross-Report Support:** {len(associated_reports)} Independent Narrative Matrices\n" \
f"* **Internal Cohesion Density:** `{avg_semantic_sim:.3f}`\n" \
f"* **Systemic Divergence (Uniqueness):** `{uniqueness:.3f}`\n\n" \
f"### ๐ Structural Anchor Element\n" \
f"> \"{representative_fragment}\" โ *Verified via source baseline: {anchor_meta['Report_ID']} ({anchor_meta['ASC_Type']})*\n\n" \
f"### ๐งช Secondary Verification Cross-Matches\n"
printed_matches = 0
for idx in cluster_indices:
if idx != global_anchor_idx and printed_matches < 3:
m_meta = sentence_metadata[idx]
report_output += f"* **{m_meta['Report_ID']}**: \"{all_sentences[idx]}\" *(Local Distance Vector Match: `{cluster_sims[np.where(cluster_indices == idx)[0][0]]:.3f}`)*\n"
printed_matches += 1
report_output += "\n---\n"
return report_output
# -----------------------------------------------------------------
# RUN TARGETED HYPOTHESIS TESTING MODE
# -----------------------------------------------------------------
else:
seed_motifs = [m.strip() for m in re.split(r'[,|\n]', custom_motifs_text) if m.strip()]
if not seed_motifs:
return "### Execution Blocked\nPlease provide targeted structural search parameters (phrases or semantic tokens) to verify."
motif_embeddings = model.encode(seed_motifs)
search_report = f"# ๐ฏ High-Fidelity Zero-Shot Structural Search Matrix\n" \
f"**Evaluated Hypotheses:** {len(seed_motifs)} Target Search Fields\n\n---\n"
for m_idx, motif in enumerate(seed_motifs):
m_emb = motif_embeddings[m_idx].reshape(1, -1)
similarities = cosine_similarity(m_emb, sent_embeddings)[0]
matched_indices = np.where(similarities >= 0.35)[0]
search_report += f"## ๐ Evaluation Array: '{motif}'\n"
if len(matched_indices) == 0:
search_report += "*No semantic matches found above validation parameters (`>=0.35`). Hypothesis unverified across current dataset.*\n\n---\n"
continue
# Filter and rank based on verification parameters
ranked_matches = matched_indices[np.argsort(similarities[matched_indices])[::-1]]
unique_reports = set([sentence_metadata[i]["Report_ID"] for i in ranked_matches])
search_report += f"* **Empirical Signal Status:** Verified \n" \
f"* **Cross-Report Proximity Network:** Detected inside {len(unique_reports)} unique documents\n" \
f"* **Top Empirical Amplitude Correlation:** `{similarities[ranked_matches[0]]:.3f}`\n\n" \
f"### ๐ Extraction Array Ranked by Composite Proximity\n"
for count, idx in enumerate(ranked_matches[:5]):
meta = sentence_metadata[idx]
search_report += f"{count+1}. **{meta['Report_ID']}** (`{meta['ASC_Type']}`): \"{all_sentences[idx]}\"\n" \
f" * Raw Proximity: `{similarities[idx]:.3f}` | Internal Context Amplitude Level: {meta['Intensity']}/3*\n"
search_report += "\n---\n"
return search_report
# =====================================================================
# 9. TAB 5: ADVANCED COMPOSITE ANOMALY DETECTION ENGINE
# =====================================================================
def calculate_anomalies():
"""
Identifies rare semantic motifs and isolated responses using dimensional distance variations.
"""
df = safe_read_db()
if len(df) < 3:
return pd.DataFrame(columns=["Rank", "Report_ID", "Isolation Score", "ASC", "Narrative Anchor Snippet"])
texts = df['Narrative'].tolist()
embeddings = get_cached_embeddings(texts)
# Measure macro-level isolation using average cosine distances
sim_matrix = cosine_similarity(embeddings)
isolation_scores = 1.0 - sim_matrix.mean(axis=1)
# Factor in semantic fragment isolation
fragment_isolation_penalties = np.zeros(len(df))
all_sentences = []
sentence_map = []
for idx, row in df.iterrows():
sents = split_into_sentences(row['Narrative'])
for s in sents:
all_sentences.append(s)
sentence_map.append(idx)
if len(all_sentences) >= 5:
sent_embs = get_cached_embeddings(all_sentences)
sent_sims = cosine_similarity(sent_embs)
sent_isolation = 1.0 - sent_sims.mean(axis=1)
for idx in range(len(df)):
sub_indices = [i for i, r_idx in enumerate(sentence_map) if r_idx == idx]
if sub_indices:
fragment_isolation_penalties[idx] = sent_isolation[sub_indices].max()
# Calculate composite anomaly ranking matrices
composite_anomaly_vectors = (isolation_scores * 0.6) + (fragment_isolation_penalties * 0.4)
ranked_indices = composite_anomaly_vectors.argsort()[::-1]
anomaly_records = []
for rank, idx in enumerate(ranked_indices):
row = df.iloc[idx]
anomaly_records.append({
"Rank": rank + 1,
"Report_ID": f"Report #{idx+1}",
"Anomaly Metric": f"{composite_anomaly_vectors[idx]:.3f}",
"ASC State": row["ASC_Type"],
"Emotion Index": row["Emotion"],
"Narrative Excerpt": row["Narrative"][:140] + "..."
})
return pd.DataFrame(anomaly_records)
# =====================================================================
# 10. TAB 6: MODERN USER INTERFACE ARCHITECTURE
# =====================================================================
with gr.Blocks(title="DreamCode v3 Engine", theme=gr.themes.Monochrome()) as app:
gr.Markdown(
"# ๐ DreamCode โ Advanced Cognitive Pattern Discovery Platform\n"
"### High-Throughput Unsupervised Neural Extraction Pipeline for Scientific Analysis"
)
with gr.Tabs():
# TAB 1: Data Ingestion Pipeline
with gr.TabItem("1. Data Ingestion Pipeline"):
with gr.Row():
with gr.Column(scale=2):
gr.Markdown("### ๐ฅ Neural Signal Entry Protocol")
alias = gr.Textbox(label="Researcher / Participant Pseudonym Anchor", placeholder="e.g. MasterOgon", value="Anonymous")
asc_type = gr.Dropdown(choices=["Ordinary Dream", "Lucid Dream (LD)", "OBE", "NDE", "Other"], label="State Target Parameter", value="Ordinary Dream")
emotion = gr.Radio(choices=["Positive", "Neutral", "Negative"], label="Inherent Affective Valence Vector", value="Neutral")
intensity = gr.Slider(minimum=1, maximum=3, step=1, label="Subjective Amplitude Level (Intensity)", value=2)
narrative = gr.Textbox(label="Verbatim Narrative Phenomenological Payload", lines=8, placeholder="Provide detailed operational accounts of the imagery, spatial transitions, or entities encountered...")
submit_btn = gr.Button("Ingest Sequence Stream", variant="primary")
with gr.Column(scale=3):
gr.Markdown("### ๐ก Global Transaction Monitor")
status_output = gr.Textbox(label="Operational Output Status Code", interactive=False)
data_preview = gr.Dataframe(label="System Queue Monitor (Latest Ingested Rows)")
submit_btn.click(
fn=process_entry,
inputs=[alias, asc_type, emotion, intensity, narrative],
outputs=[status_output, data_preview]
)
# TAB 2: Macro-Level Analysis Topology
with gr.TabItem("2. Document Similarity Matrix"):
gr.Markdown("### ๐ Macroscopic Semantic Network Mapping")
thresh_slider = gr.Slider(minimum=0.20, maximum=0.90, step=0.05, value=0.45, label="Cosine Similarity Adjacency Threshold ($W_{ij}$)")
analyze_macro_btn = gr.Button("Compute Structural Matrices", variant="primary")
with gr.Row():
heat_plot = gr.Plot(label="Document Inter-Proximity Density Matrix")
network_plot = gr.Plot(label="Topological Projection Model Graph")
macro_status = gr.Markdown("### System Status\nEngine idle. Awaiting structural computation triggers.")
analyze_macro_btn.click(
fn=macro_analysis,
inputs=[thresh_slider],
outputs=[heat_plot, network_plot, macro_status]
)
# TAB 3: Sentence-Level Dimensional Projections
with gr.TabItem("3. Scene & Sentence Mapping"):
gr.Markdown("### ๐ฌ Micro-Level Token Mapping & Centrality Evaluation")
analyze_micro_btn = gr.Button("Extract Structural Components", variant="primary")
with gr.Column():
tsne_plot = gr.Plot(label="Non-Parametric t-SNE Clustering Projection Map")
central_text_md = gr.Markdown(label="Calculated Centroid Vector Array Coordinates")
analyze_micro_btn.click(
fn=micro_analysis,
inputs=[],
outputs=[tsne_plot, central_text_md]
)
# TAB 4: Semantic Pattern Discovery Engine
with gr.TabItem("4. AI Pattern Discovery Engine"):
gr.Markdown("### ๐ง Unsupervised Extraction & Hypothesis Validation Arrays")
search_mode = gr.Radio(
choices=["Blind Extraction (Unsupervised)", "Targeted Search (Zero-Shot)"],
value="Blind Extraction (Unsupervised)",
label="Selected Neural Engine Operational Domain"
)
motif_input = gr.Textbox(
label="Target Search Expressions (Separated by commas or line returns)",
lines=3,
value="flying vehicle, red sky, city of robots, cosmic catastrophe, mechanical device",
visible=False
)
def toggle_input_field(mode_selection):
return gr.update(visible=(mode_selection == "Targeted Search (Zero-Shot)"))
search_mode.change(fn=toggle_input_field, inputs=[search_mode], outputs=[motif_input])
analyze_engine_btn = gr.Button("Execute Discovery Matrix Engine", variant="primary")
output_md_report = gr.Markdown(value="*Awaiting algorithm run parameters...*")
analyze_engine_btn.click(
fn=hybrid_pattern_discovery,
inputs=[search_mode, motif_input],
outputs=[output_md_report]
)
# TAB 5: High-Dimensional Anomaly Detection Engine
with gr.TabItem("5. Anomaly Detection Engine"):
gr.Markdown("### ๐จ Identification of Rare Metaphorical Configurations and Isolated Signatures")
run_anomalies_btn = gr.Button("Scan System for Structural Outliers", variant="primary")
anomaly_display_grid = gr.Dataframe(label="Ranked Divergent Anomalies Matrix")
run_anomalies_btn.click(
fn=calculate_anomalies,
inputs=[],
outputs=[anomaly_display_grid]
)
# TAB 6: Complete Database Explorer
with gr.TabItem("6. Complete Database Explorer"):
gr.Markdown("### ๐ Structural Repository Ledger")
refresh_db_btn = gr.Button("Query Ledger System State")
db_display_table = gr.Dataframe(wrap=True, interactive=False)
refresh_db_btn.click(fn=view_database, inputs=[], outputs=[db_display_table])
app.load(fn=view_database, inputs=[], outputs=[db_display_table])
if __name__ == "__main__":
app.queue().launch()