gaeunseo commited on
Commit
c665067
ยท
verified ยท
1 Parent(s): a414f84

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -4
app.py CHANGED
@@ -5,9 +5,30 @@ import os
5
  import threading
6
  import pandas as pd
7
  from datasets import load_dataset
 
 
8
 
9
- # CSV ํŒŒ์ผ ๊ฒฝ๋กœ์™€ ๋™์‹œ ์ ‘๊ทผ์„ ์œ„ํ•œ Lock ์„ ์–ธ
10
- DATA_FILE = "global_data.csv"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  data_lock = threading.Lock()
12
 
13
  def initialize_global_data():
@@ -26,22 +47,28 @@ def initialize_global_data():
26
  if "text" not in data.columns:
27
  data["text"] = ""
28
  data.to_csv(DATA_FILE, index=False)
 
29
  return data
30
  else:
 
31
  with data_lock:
32
  df = pd.read_csv(DATA_FILE)
33
  return df
34
 
35
  def load_global_data():
36
  """CSV ํŒŒ์ผ์—์„œ global_data DataFrame์„ ์ฝ์–ด์˜ต๋‹ˆ๋‹ค."""
 
37
  with data_lock:
38
  df = pd.read_csv(DATA_FILE)
39
  return df
40
 
41
  def save_global_data(df):
42
- """DataFrame์„ CSV ํŒŒ์ผ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค."""
43
  with data_lock:
44
  df.to_csv(DATA_FILE, index=False)
 
 
 
45
 
46
  # CSV ํŒŒ์ผ์— ์ €์žฅ๋œ global_data ์ดˆ๊ธฐํ™”
47
  global_data = initialize_global_data()
@@ -301,4 +328,4 @@ with gr.Blocks() as demo:
301
  start_button.click(fn=stream_human_message, outputs=human_bubble)
302
  submit_button.click(fn=submit_edit, inputs=edited_text_input, outputs=[human_bubble, ai_bubble])
303
 
304
- demo.launch()
 
5
  import threading
6
  import pandas as pd
7
  from datasets import load_dataset
8
+ import huggingface_hub
9
+ from huggingface_hub import Repository
10
 
11
+ # --- ๋ฐ์ดํ„ฐ ์—ฐ๊ฒฐ ๊ด€๋ จ ์ˆ˜์ • ---
12
+ # ๋ฐ์ดํ„ฐ ํŒŒ์ผ๊ณผ ์ €์žฅํ•  ํด๋”, ๊ทธ๋ฆฌ๊ณ  Hugging Face Datasets repository URL์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
13
+ DATA_FILENAME = "global_data.csv"
14
+ DATA_DIR = "data"
15
+ DATA_FILE = os.path.join(DATA_DIR, DATA_FILENAME)
16
+ # ์•„๋ž˜ URL์€ ์ฐธ๊ณ ์šฉ์ž…๋‹ˆ๋‹ค. ๋ณธ์ธ์˜ repository URL๋กœ ๋ณ€๊ฒฝํ•˜์„ธ์š”.
17
+ DATASET_REPO_URL = "https://huggingface.co/datasets/gaeunseo/Interface1"
18
+
19
+ # ๋ฐ์ดํ„ฐ ํด๋”๊ฐ€ ์—†์œผ๋ฉด ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
20
+ os.makedirs(DATA_DIR, exist_ok=True)
21
+
22
+ HF_TOKEN = os.environ.get("HF_TOKEN")
23
+
24
+ # Repository ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋กœ์ปฌ ํด๋”์™€ Hugging Face repo๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
25
+ repo = Repository(
26
+ local_dir=DATA_DIR,
27
+ clone_from=DATASET_REPO_URL,
28
+ use_auth_token=HF_TOKEN
29
+ )
30
+
31
+ # ๋™์‹œ ์ ‘๊ทผ์„ ์œ„ํ•œ Lock ์„ ์–ธ
32
  data_lock = threading.Lock()
33
 
34
  def initialize_global_data():
 
47
  if "text" not in data.columns:
48
  data["text"] = ""
49
  data.to_csv(DATA_FILE, index=False)
50
+ repo.push_to_hub() # ์ƒˆ CSV ํŒŒ์ผ์„ Hugging Face repo์— ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
51
  return data
52
  else:
53
+ repo.git_pull() # ์ตœ์‹  ๋ฐ์ดํ„ฐ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
54
  with data_lock:
55
  df = pd.read_csv(DATA_FILE)
56
  return df
57
 
58
  def load_global_data():
59
  """CSV ํŒŒ์ผ์—์„œ global_data DataFrame์„ ์ฝ์–ด์˜ต๋‹ˆ๋‹ค."""
60
+ repo.git_pull() # ์ตœ์‹  ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.
61
  with data_lock:
62
  df = pd.read_csv(DATA_FILE)
63
  return df
64
 
65
  def save_global_data(df):
66
+ """DataFrame์„ CSV ํŒŒ์ผ์— ์ €์žฅํ•˜๊ณ  Hugging Face repo์— ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค."""
67
  with data_lock:
68
  df.to_csv(DATA_FILE, index=False)
69
+ repo.push_to_hub() # ์—…๋ฐ์ดํŠธ๋œ ํŒŒ์ผ์„ ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค.
70
+ # --- ๋ฐ์ดํ„ฐ ์—ฐ๊ฒฐ ๊ด€๋ จ ์ˆ˜์ • ๋ ---
71
+
72
 
73
  # CSV ํŒŒ์ผ์— ์ €์žฅ๋œ global_data ์ดˆ๊ธฐํ™”
74
  global_data = initialize_global_data()
 
328
  start_button.click(fn=stream_human_message, outputs=human_bubble)
329
  submit_button.click(fn=submit_edit, inputs=edited_text_input, outputs=[human_bubble, ai_bubble])
330
 
331
+ demo.launch()