Commit
·
d375321
1
Parent(s):
620b3c0
UI improvements: consolidate instructions into expandable sections and reorganize layout
Browse files
app.py
CHANGED
@@ -13,20 +13,6 @@ st.markdown(
|
|
13 |
"""
|
14 |
**Purpose:**
|
15 |
Quickly remove irrelevant keywords from your keyword research and move to the next step in your optimization!
|
16 |
-
|
17 |
-
Have you ever had to review a long list of queries to determine whether they were relevant to your target keyword? This Space aims to automate that process by entering your primary keyword and a list of related queries from any source you might do keyword research.
|
18 |
-
The resulting table is an ordered list of your comparison keywords based on the cosine similarity of each query's embeddings.
|
19 |
-
|
20 |
-
**Instructions:**
|
21 |
-
1. Enter your **Primary Keyword** in the input field.
|
22 |
-
2. Provide a list of **Keywords to Compare** (separated by new lines or commas).
|
23 |
-
3. Select an **Embedding Model** to compute keyword embeddings.
|
24 |
-
4. If using OpenAI embeddings, input your **API Key**.
|
25 |
-
5. Click **Calculate Similarities** to compute and rank your keywords by relevance.
|
26 |
-
|
27 |
-
**Output:**
|
28 |
-
- A sorted table of your comparison keywords based on their cosine similarity to your primary keyword.
|
29 |
-
- Option to download the results as a CSV file.
|
30 |
"""
|
31 |
)
|
32 |
|
@@ -43,6 +29,23 @@ keywords = st.session_state.keywords
|
|
43 |
model_name = st.selectbox("Select Embedding Model", ["sentence-transformers/LaBSE", "sentence-transformers/all-MiniLM-L6-v2", "OpenAI Embeddings"])
|
44 |
openai_api_key = st.text_input("OpenAI API Key (optional)", type="password")
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
# Process Button
|
47 |
if st.button("Calculate Similarities"):
|
48 |
if not primary_keyword or not keywords:
|
@@ -94,21 +97,23 @@ if st.button("Calculate Similarities"):
|
|
94 |
|
95 |
# Display results
|
96 |
st.header("Results")
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
# Download results as CSV
|
101 |
st.download_button(
|
102 |
-
label="Download Results as CSV",
|
103 |
-
data=
|
104 |
file_name="cosine_similarity_results.csv",
|
105 |
mime="text/csv"
|
106 |
)
|
|
|
|
|
|
|
|
|
107 |
|
108 |
-
# Debugging/Intermediate Data
|
109 |
-
st.
|
110 |
-
|
111 |
-
|
112 |
|
113 |
# Footer
|
114 |
st.markdown("---")
|
|
|
13 |
"""
|
14 |
**Purpose:**
|
15 |
Quickly remove irrelevant keywords from your keyword research and move to the next step in your optimization!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
"""
|
17 |
)
|
18 |
|
|
|
29 |
model_name = st.selectbox("Select Embedding Model", ["sentence-transformers/LaBSE", "sentence-transformers/all-MiniLM-L6-v2", "OpenAI Embeddings"])
|
30 |
openai_api_key = st.text_input("OpenAI API Key (optional)", type="password")
|
31 |
|
32 |
+
# Instructions tooltip
|
33 |
+
with st.expander("ℹ️ Instructions (click for details)"):
|
34 |
+
st.markdown(
|
35 |
+
"""
|
36 |
+
**How to use this tool:**
|
37 |
+
1. Enter your **Primary Keyword** in the input field.
|
38 |
+
2. Provide a list of **Keywords to Compare** (separated by new lines or commas).
|
39 |
+
3. Select an **Embedding Model** to compute keyword embeddings.
|
40 |
+
4. If using OpenAI embeddings, input your **API Key**.
|
41 |
+
5. Click **Calculate Similarities** to compute and rank your keywords by relevance.
|
42 |
+
|
43 |
+
**What you'll get:**
|
44 |
+
- A sorted table of your comparison keywords based on their cosine similarity to your primary keyword.
|
45 |
+
- Option to download the results as a CSV file.
|
46 |
+
"""
|
47 |
+
)
|
48 |
+
|
49 |
# Process Button
|
50 |
if st.button("Calculate Similarities"):
|
51 |
if not primary_keyword or not keywords:
|
|
|
97 |
|
98 |
# Display results
|
99 |
st.header("Results")
|
100 |
+
|
101 |
+
# Download results as CSV - moved up to appear right after Results title
|
|
|
|
|
102 |
st.download_button(
|
103 |
+
label="📥 Download Results as CSV",
|
104 |
+
data=pd.DataFrame(sorted_results).to_csv(index=False),
|
105 |
file_name="cosine_similarity_results.csv",
|
106 |
mime="text/csv"
|
107 |
)
|
108 |
+
|
109 |
+
# Display the results table
|
110 |
+
df_results = pd.DataFrame(sorted_results)
|
111 |
+
st.table(df_results)
|
112 |
|
113 |
+
# Debugging/Intermediate Data - moved below results
|
114 |
+
with st.expander("🔧 Technical Details (click to expand)"):
|
115 |
+
st.write("Primary Embedding:", primary_embedding)
|
116 |
+
st.write("Keyword Embeddings:", keyword_embeddings)
|
117 |
|
118 |
# Footer
|
119 |
st.markdown("---")
|