Rulga commited on
Commit
0209035
·
1 Parent(s): 1804ce0

Refactor paths to use dataset constants for improved consistency and maintainability

Browse files
Files changed (2) hide show
  1. app.py +15 -13
  2. src/analytics/chat_evaluator.py +7 -4
app.py CHANGED
@@ -15,8 +15,8 @@ from config.settings import (
15
  ACTIVE_MODEL,
16
  EMBEDDING_MODEL,
17
  DATASET_ID,
18
- CHAT_HISTORY_PATH,
19
- VECTOR_STORE_PATH,
20
  DEFAULT_MODEL,
21
  API_CONFIG
22
  )
@@ -47,10 +47,6 @@ logger = logging.getLogger(__name__)
47
  if not HF_TOKEN:
48
  raise ValueError("HUGGINGFACE_TOKEN not found in environment variables")
49
 
50
- # Path for user preferences file
51
- USER_PREFERENCES_PATH = os.path.join(os.path.dirname(__file__), "user_preferences.json")
52
- ERROR_LOGS_PATH = os.path.join(os.path.dirname(__file__), "error_logs")
53
-
54
  # Global variables
55
  client = None
56
  context_store = {}
@@ -60,7 +56,7 @@ chat_evaluator = ChatEvaluator(
60
  dataset_id=DATASET_ID
61
  )
62
 
63
- logger.info(f"Chat histories will be saved to: {CHAT_HISTORY_PATH}")
64
 
65
  def load_user_preferences():
66
  """Load user preferences from file"""
@@ -80,22 +76,28 @@ def load_user_preferences():
80
  }
81
 
82
  def save_user_preferences(model_key, parameters=None):
83
- """Save user preferences to file"""
84
  try:
85
  preferences = load_user_preferences()
86
  preferences["selected_model"] = model_key
87
 
88
- # Update parameters if provided
89
  if parameters:
90
  if model_key not in preferences["parameters"]:
91
  preferences["parameters"][model_key] = {}
92
 
93
  preferences["parameters"][model_key] = parameters
94
 
95
- with open(USER_PREFERENCES_PATH, 'w') as f:
96
- json.dump(preferences, f, indent=2)
 
 
 
 
 
 
 
97
 
98
- logger.info("User preferences saved successfully!")
99
  return True
100
  except Exception as e:
101
  logger.error(f"Error saving user preferences: {str(e)}")
@@ -449,7 +451,7 @@ def format_friendly_error(api_error):
449
  return f"⚠️ Error processing request. Technical details: {api_error[:200]}"
450
 
451
  def log_api_error(user_message, error_message, model_id, is_fallback=False):
452
- """Log API errors to a separate file for monitoring"""
453
  try:
454
  os.makedirs(ERROR_LOGS_PATH, exist_ok=True)
455
 
 
15
  ACTIVE_MODEL,
16
  EMBEDDING_MODEL,
17
  DATASET_ID,
18
+ DATASET_CHAT_HISTORY_PATH, # меняем импорт
19
+ DATASET_VECTOR_STORE_PATH, # меняем импорт
20
  DEFAULT_MODEL,
21
  API_CONFIG
22
  )
 
47
  if not HF_TOKEN:
48
  raise ValueError("HUGGINGFACE_TOKEN not found in environment variables")
49
 
 
 
 
 
50
  # Global variables
51
  client = None
52
  context_store = {}
 
56
  dataset_id=DATASET_ID
57
  )
58
 
59
+ logger.info(f"Chat histories will be saved to: {DATASET_CHAT_HISTORY_PATH}")
60
 
61
  def load_user_preferences():
62
  """Load user preferences from file"""
 
76
  }
77
 
78
  def save_user_preferences(model_key, parameters=None):
79
+ """Save user preferences to dataset"""
80
  try:
81
  preferences = load_user_preferences()
82
  preferences["selected_model"] = model_key
83
 
 
84
  if parameters:
85
  if model_key not in preferences["parameters"]:
86
  preferences["parameters"][model_key] = {}
87
 
88
  preferences["parameters"][model_key] = parameters
89
 
90
+ # Сохраняем в датасет вместо локального файла
91
+ json_content = json.dumps(preferences, indent=2)
92
+ api = HfApi(token=HF_TOKEN)
93
+ api.upload_file(
94
+ path_or_fileobj=io.StringIO(json_content),
95
+ path_in_repo="preferences/user_preferences.json",
96
+ repo_id=DATASET_ID,
97
+ repo_type="dataset"
98
+ )
99
 
100
+ logger.info("User preferences saved successfully to dataset!")
101
  return True
102
  except Exception as e:
103
  logger.error(f"Error saving user preferences: {str(e)}")
 
451
  return f"⚠️ Error processing request. Technical details: {api_error[:200]}"
452
 
453
  def log_api_error(user_message, error_message, model_id, is_fallback=False):
454
+ """Log API errors to dataset"""
455
  try:
456
  os.makedirs(ERROR_LOGS_PATH, exist_ok=True)
457
 
src/analytics/chat_evaluator.py CHANGED
@@ -14,8 +14,10 @@ logger = logging.getLogger(__name__)
14
 
15
  from config.settings import (
16
  DATASET_ID,
 
17
  CHAT_HISTORY_PATH,
18
- HF_TOKEN
 
19
  )
20
 
21
  class ChatEvaluator:
@@ -31,9 +33,9 @@ class ChatEvaluator:
31
  self.dataset_id = dataset_id or DATASET_ID
32
  self.api = HfApi(token=self.hf_token)
33
 
34
- # Paths in dataset
35
- self.chat_history_path = CHAT_HISTORY_PATH
36
- self.annotations_path = "annotations"
37
 
38
  # Ensure directories exist in dataset
39
  try:
@@ -372,3 +374,4 @@ class ChatEvaluator:
372
 
373
 
374
 
 
 
14
 
15
  from config.settings import (
16
  DATASET_ID,
17
+ HF_TOKEN,
18
  CHAT_HISTORY_PATH,
19
+ DATASET_CHAT_HISTORY_PATH,
20
+ DATASET_ANNOTATIONS_PATH
21
  )
22
 
23
  class ChatEvaluator:
 
33
  self.dataset_id = dataset_id or DATASET_ID
34
  self.api = HfApi(token=self.hf_token)
35
 
36
+ # Используем пути из settings
37
+ self.chat_history_path = DATASET_CHAT_HISTORY_PATH
38
+ self.annotations_path = DATASET_ANNOTATIONS_PATH
39
 
40
  # Ensure directories exist in dataset
41
  try:
 
374
 
375
 
376
 
377
+