Spaces:
Running
Running
File size: 1,705 Bytes
18eb5f6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
import datetime
import csv
import os
import huggingface_hub
from huggingface_hub import Repository
import gradio as gr
from datasets import load_dataset, DatasetDict, Dataset, concatenate_datasets
# Define the dataset repository on Hugging Face Hub
HF_DATASET_REPO = "florentgbelidji/alpine-agent-feedback"
# Load or initialize the dataset
try:
dataset = load_dataset(HF_DATASET_REPO)
except FileNotFoundError:
# Initialize an empty dataset if it doesn't exist
dataset = DatasetDict({
"train": Dataset.from_dict({
"timestamp": [datetime.datetime.now().isoformat()],
"user_feedback": ["Initial feedback"],
})
})
dataset.push_to_hub(HF_DATASET_REPO, token=os.getenv("HF_TOKEN"))
def get_feedback_interface():
with gr.Tab("Feedback Form"):
feedback_input = gr.Textbox(label="Your Feedback", lines=4, placeholder="Type your feedback here...")
submit_button = gr.Button("Submit")
feedback_response = gr.Markdown(label="feedback_response")
def add_feedback(feedback):
from datetime import datetime
# Append feedback to the dataset
new_data = {
"timestamp": [datetime.now().isoformat()],
"user_feedback": [feedback],
}
new_entry = Dataset.from_dict(new_data)
global dataset
dataset["train"] = concatenate_datasets([dataset["train"], new_entry])
# Push updated dataset to the Hub
dataset.push_to_hub(HF_DATASET_REPO)
return "Thank you for your feedback!"
submit_button.click(add_feedback, inputs=[feedback_input], outputs=[feedback_response])
|