import gradio as gr
import arxiv
from datasets import load_dataset
search = arxiv.Search(
query = "cs.LG",
max_results = 50,
sort_by = arxiv.SortCriterion.SubmittedDate
)
#HF_TOKEN = os.getenv("HF_TOKEN") # might use in the future
def hf_data_upload(user_id, paper_id, feedback):
new_row = {"user_id": user_id, "paper_id": paper_id, "feedback": feedback}
ds = load_dataset("CShorten/Last-Week-on-ArXiv")["train"]
ds = ds.add_item(new_row)
ds.push_to_hub("CShorten/Last-Week-on-ArXiv")
with gr.Blocks() as demo:
gr.Markdown("
My ArXiv
")
user_id = gr.Textbox(placeholder="Enter user id for personalization: ")
with gr.Column():
for arxiv_paper in search.results():
with gr.Column():
with gr.Column():
gr.Markdown("" + arxiv_paper.title + "
")
gr.Markdown(arxiv_paper.summary)
with gr.Row():
more_button = gr.Button("More like this! 😎")
# add user id value later
more_button.click(hf_data_upload(0, arxiv_paper.title, 1))
#button.click(flip_image, inputs=image_input, outputs=image_output)
less_button = gr.Button("Less like this! 😕")
less_button.click(hf_data_upload(0, arxiv_paper.title, 0))
demo.launch()