Spaces:
Running
Running
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]) | |