lupantech commited on
Commit
06d02f8
·
1 Parent(s): 3f7ccb2

tested huggingface dataset

Browse files
.gitignore CHANGED
@@ -174,5 +174,5 @@ tool_cache/
174
  detected_objects/
175
 
176
  # [Gradio]
177
- # demo_solver_cache/
178
  backups/
 
174
  detected_objects/
175
 
176
  # [Gradio]
177
+ demo_solver_cache/
178
  backups/
app.py CHANGED
@@ -25,6 +25,40 @@ from octotools.models.utils import make_json_serializable
25
  from utils import save_feedback
26
 
27
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  class Solver:
29
  def __init__(
30
  self,
 
25
  from utils import save_feedback
26
 
27
 
28
+ ########### Test Huggingface Dataset ###########
29
+ from pathlib import Path
30
+ from huggingface_hub import CommitScheduler
31
+
32
+ # Add these near the top of the file with other constants
33
+ DATASET_DIR = Path("feedback_dataset")
34
+ DATASET_DIR.mkdir(parents=True, exist_ok=True)
35
+ DATASET_PATH = DATASET_DIR / f"feedback-{time.strftime('%Y%m%d_%H%M%S')}.json"
36
+
37
+ # Get Huggingface token from environment variable
38
+ HF_TOKEN = os.getenv("HUGGINGFACE_TOKEN")
39
+
40
+ scheduler = CommitScheduler(
41
+ repo_id="lupantech/OctoTools-Gradio-Demo-User-Data",
42
+ repo_type="dataset",
43
+ folder_path=DATASET_DIR,
44
+ path_in_repo="data",
45
+ token=HF_TOKEN
46
+ )
47
+
48
+ def save_feedback(root_cache_dir: str, feedback_type: str, comment: str = None) -> None:
49
+ """Save user feedback to Huggingface dataset"""
50
+ with scheduler.lock:
51
+ with DATASET_PATH.open("a") as f:
52
+ feedback_data = {
53
+ "query_id": os.path.basename(root_cache_dir),
54
+ "feedback_type": feedback_type,
55
+ "comment": comment,
56
+ "datetime": time.strftime("%Y%m%d_%H%M%S")
57
+ }
58
+ json.dump(feedback_data, f)
59
+ f.write("\n")
60
+ ########### End of Test Huggingface Dataset ###########
61
+
62
  class Solver:
63
  def __init__(
64
  self,
example.py ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+ from datetime import datetime
3
+ from pathlib import Path
4
+ from uuid import uuid4
5
+
6
+ import gradio as gr
7
+
8
+ from huggingface_hub import CommitScheduler
9
+
10
+
11
+ JSON_DATASET_DIR = Path("json_dataset")
12
+ JSON_DATASET_DIR.mkdir(parents=True, exist_ok=True)
13
+
14
+ JSON_DATASET_PATH = JSON_DATASET_DIR / f"train-{uuid4()}.json"
15
+
16
+ scheduler = CommitScheduler(
17
+ repo_id="example-space-to-dataset-json",
18
+ repo_type="dataset",
19
+ folder_path=JSON_DATASET_DIR,
20
+ path_in_repo="data",
21
+ )
22
+
23
+
24
+ def greet(name: str) -> str:
25
+ return "Hello " + name + "!"
26
+
27
+
28
+ def save_json(name: str, greetings: str) -> None:
29
+ with scheduler.lock:
30
+ with JSON_DATASET_PATH.open("a") as f:
31
+ json.dump({"name": name, "greetings": greetings, "datetime": datetime.now().isoformat()}, f)
32
+ f.write("\n")
33
+
34
+
35
+ with gr.Blocks() as demo:
36
+ with gr.Row():
37
+ greet_name = gr.Textbox(label="Name")
38
+ greet_output = gr.Textbox(label="Greetings")
39
+ greet_btn = gr.Button("Greet")
40
+ greet_btn.click(fn=greet, inputs=greet_name, outputs=greet_output).success(
41
+ fn=save_json,
42
+ inputs=[greet_name, greet_output],
43
+ outputs=None,
44
+ )
45
+
46
+
47
+ demo.launch()
feedback_dataset/feedback-20250217_212246.json ADDED
File without changes
feedback_dataset/feedback-20250217_212401.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {"query_id": "20250217_212439_f48ed6ff", "feedback_type": "upvote", "comment": null, "datetime": "20250217_212450"}
2
+ {"query_id": "20250217_212439_f48ed6ff", "feedback_type": "upvote", "comment": null, "datetime": "20250217_212452"}
3
+ {"query_id": "20250217_212439_f48ed6ff", "feedback_type": "It is good!", "comment": null, "datetime": "20250217_212459"}
4
+ {"query_id": "20250217_212439_f48ed6ff", "feedback_type": "upvote", "comment": null, "datetime": "20250217_212523"}
5
+ {"query_id": "20250217_212439_f48ed6ff", "feedback_type": "upvote", "comment": null, "datetime": "20250217_212524"}
6
+ {"query_id": "20250217_212439_f48ed6ff", "feedback_type": "upvote", "comment": null, "datetime": "20250217_212524"}
7
+ {"query_id": "20250217_212439_f48ed6ff", "feedback_type": "downvote", "comment": null, "datetime": "20250217_212524"}
8
+ {"query_id": "20250217_212439_f48ed6ff", "feedback_type": "It is good!", "comment": null, "datetime": "20250217_212526"}
9
+ {"query_id": "20250217_212439_f48ed6ff", "feedback_type": "upvote", "comment": null, "datetime": "20250217_212619"}
10
+ {"query_id": "20250217_212439_f48ed6ff", "feedback_type": "It is good!", "comment": null, "datetime": "20250217_212650"}