Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
app.py
CHANGED
@@ -29,6 +29,7 @@ sorted_day = sorted(date_dict[last_year][last_month].keys())
|
|
29 |
last_day = sorted_day[-1]
|
30 |
last_papers = date_dict[last_year][last_month][last_day]
|
31 |
selected_paper = last_papers[0]
|
|
|
32 |
|
33 |
with gr.Blocks(css="constants/styles.css", theme=gr.themes.Soft()) as demo:
|
34 |
cur_arxiv_id = gr.Textbox(selected_paper['arxiv_id'], visible=False)
|
@@ -54,7 +55,7 @@ with gr.Blocks(css="constants/styles.css", theme=gr.themes.Soft()) as demo:
|
|
54 |
|
55 |
gr.Markdown("# Let's explore papers with auto generated Q&As")
|
56 |
|
57 |
-
with gr.Column(elem_id="control-panel", elem_classes=["group"]):
|
58 |
with gr.Column():
|
59 |
with gr.Row():
|
60 |
year_dd = gr.Dropdown(sorted_year, value=last_year, label="Year", interactive=True, filterable=False)
|
@@ -82,7 +83,7 @@ with gr.Blocks(css="constants/styles.css", theme=gr.themes.Soft()) as demo:
|
|
82 |
search_r9 = gr.Button(visible=False, elem_id="search_r9", elem_classes=["no-radius"])
|
83 |
search_r10 = gr.Button(visible=False, elem_id="search_r10", elem_classes=["no-radius"])
|
84 |
|
85 |
-
with gr.Column(scale=7):
|
86 |
title = gr.Markdown(f"# {selected_paper['title']}", elem_classes=["markdown-center"])
|
87 |
# with gr.Row():
|
88 |
with gr.Row():
|
@@ -150,21 +151,21 @@ with gr.Blocks(css="constants/styles.css", theme=gr.themes.Soft()) as demo:
|
|
150 |
breath_q_eli5_2 = gr.Markdown(f"βͺ **(ELI5)** {selected_paper['2_additional_breath_q:answers:eli5']}", elem_classes=["small-font"])
|
151 |
breath_q_expert_2 = gr.Markdown(f"βͺ **(Technical)** {selected_paper['2_additional_breath_q:answers:expert']}", visible=False, elem_classes=["small-font"])
|
152 |
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
|
169 |
gr.DuplicateButton(value="Duplicate Space for private use", elem_id="duplicate-button")
|
170 |
|
@@ -390,7 +391,7 @@ scheduler.add_job(
|
|
390 |
],
|
391 |
start_date=start_date
|
392 |
)
|
393 |
-
|
394 |
|
395 |
demo.queue(
|
396 |
default_concurrency_limit=20,
|
|
|
29 |
last_day = sorted_day[-1]
|
30 |
last_papers = date_dict[last_year][last_month][last_day]
|
31 |
selected_paper = last_papers[0]
|
32 |
+
visible = True if len(sorted_year) > 0 else False
|
33 |
|
34 |
with gr.Blocks(css="constants/styles.css", theme=gr.themes.Soft()) as demo:
|
35 |
cur_arxiv_id = gr.Textbox(selected_paper['arxiv_id'], visible=False)
|
|
|
55 |
|
56 |
gr.Markdown("# Let's explore papers with auto generated Q&As")
|
57 |
|
58 |
+
with gr.Column(elem_id="control-panel", elem_classes=["group"], visible=visible):
|
59 |
with gr.Column():
|
60 |
with gr.Row():
|
61 |
year_dd = gr.Dropdown(sorted_year, value=last_year, label="Year", interactive=True, filterable=False)
|
|
|
83 |
search_r9 = gr.Button(visible=False, elem_id="search_r9", elem_classes=["no-radius"])
|
84 |
search_r10 = gr.Button(visible=False, elem_id="search_r10", elem_classes=["no-radius"])
|
85 |
|
86 |
+
with gr.Column(scale=7, visible=visible):
|
87 |
title = gr.Markdown(f"# {selected_paper['title']}", elem_classes=["markdown-center"])
|
88 |
# with gr.Row():
|
89 |
with gr.Row():
|
|
|
151 |
breath_q_eli5_2 = gr.Markdown(f"βͺ **(ELI5)** {selected_paper['2_additional_breath_q:answers:eli5']}", elem_classes=["small-font"])
|
152 |
breath_q_expert_2 = gr.Markdown(f"βͺ **(Technical)** {selected_paper['2_additional_breath_q:answers:expert']}", visible=False, elem_classes=["small-font"])
|
153 |
|
154 |
+
gr.Markdown("## Request any arXiv ids")
|
155 |
+
arxiv_queue = gr.Dataframe(
|
156 |
+
headers=["Requested arXiv IDs"], col_count=(1, "fixed"),
|
157 |
+
value=requested_arxiv_ids_df,
|
158 |
+
datatype=["str"],
|
159 |
+
interactive=False,
|
160 |
+
)
|
161 |
+
|
162 |
+
arxiv_id_enter = gr.Textbox(placeholder="Enter comma separated arXiv IDs...", elem_classes=["textbox-no-label"])
|
163 |
+
arxiv_id_enter.submit(
|
164 |
+
add_arxiv_ids_to_queue,
|
165 |
+
[arxiv_queue, arxiv_id_enter],
|
166 |
+
[arxiv_queue, arxiv_id_enter],
|
167 |
+
concurrency_limit=20,
|
168 |
+
)
|
169 |
|
170 |
gr.DuplicateButton(value="Duplicate Space for private use", elem_id="duplicate-button")
|
171 |
|
|
|
391 |
],
|
392 |
start_date=start_date
|
393 |
)
|
394 |
+
scheduler.start()
|
395 |
|
396 |
demo.queue(
|
397 |
default_concurrency_limit=20,
|
init.py
CHANGED
@@ -2,10 +2,12 @@ import os
|
|
2 |
import copy
|
3 |
import datasets
|
4 |
import pandas as pd
|
|
|
5 |
from collections import defaultdict
|
6 |
|
7 |
from datetime import datetime, timedelta
|
8 |
from background import process_arxiv_ids
|
|
|
9 |
from apscheduler.schedulers.background import BackgroundScheduler
|
10 |
|
11 |
def _count_nans(row):
|
@@ -79,6 +81,19 @@ def update_dataframe(request_data_repo_id):
|
|
79 |
request_ds = datasets.load_dataset(request_data_repo_id)
|
80 |
return _initialize_requested_arxiv_ids(request_ds)
|
81 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
def get_secrets():
|
83 |
global gemini_api_key
|
84 |
global hf_token
|
|
|
2 |
import copy
|
3 |
import datasets
|
4 |
import pandas as pd
|
5 |
+
from datasets import Dataset
|
6 |
from collections import defaultdict
|
7 |
|
8 |
from datetime import datetime, timedelta
|
9 |
from background import process_arxiv_ids
|
10 |
+
from utils import create_hf_hub
|
11 |
from apscheduler.schedulers.background import BackgroundScheduler
|
12 |
|
13 |
def _count_nans(row):
|
|
|
81 |
request_ds = datasets.load_dataset(request_data_repo_id)
|
82 |
return _initialize_requested_arxiv_ids(request_ds)
|
83 |
|
84 |
+
def initialize_repos(
|
85 |
+
source_data_repo_id, request_data_repo_id, hf_token
|
86 |
+
):
|
87 |
+
if create_hf_hub(source_data_repo_id, hf_token) is False:
|
88 |
+
print(f"{source_data_repo_id} repository already exists")
|
89 |
+
|
90 |
+
if create_hf_hub(request_data_repo_id, hf_token) is False:
|
91 |
+
print(f"{request_data_repo_id} repository already exists")
|
92 |
+
else:
|
93 |
+
df = pd.DataFrame(data={"Requested arXiv IDs": [["top"]]})
|
94 |
+
ds = Dataset.from_df(df)
|
95 |
+
ds.push_to_hub(request_data_repo_id, token=hf_token)
|
96 |
+
|
97 |
def get_secrets():
|
98 |
global gemini_api_key
|
99 |
global hf_token
|
utils.py
CHANGED
@@ -4,6 +4,15 @@ import pandas as pd
|
|
4 |
from huggingface_hub import create_repo
|
5 |
from huggingface_hub.utils import HfHubHTTPError
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
def push_to_hf_hub(
|
8 |
ds, repo_id, hf_token, append=True
|
9 |
):
|
|
|
4 |
from huggingface_hub import create_repo
|
5 |
from huggingface_hub.utils import HfHubHTTPError
|
6 |
|
7 |
+
def create_hf_hub(
|
8 |
+
repo_id, hf_token
|
9 |
+
):
|
10 |
+
try:
|
11 |
+
create_repo(repo_id, repo_type="dataset", token=hf_token)
|
12 |
+
except HfHubHTTPError as e:
|
13 |
+
return False
|
14 |
+
return True
|
15 |
+
|
16 |
def push_to_hf_hub(
|
17 |
ds, repo_id, hf_token, append=True
|
18 |
):
|