Rulga commited on
Commit
80e6314
·
1 Parent(s): 2505975

Add Hugging Face token validation and improve error handling in chat history saving

Browse files
Files changed (2) hide show
  1. app.py +12 -4
  2. src/knowledge_base/dataset.py +7 -7
app.py CHANGED
@@ -5,7 +5,10 @@ from config.constants import DEFAULT_SYSTEM_MESSAGE
5
  from config.settings import DEFAULT_MODEL, HF_TOKEN
6
  from src.knowledge_base.vector_store import create_vector_store, load_vector_store
7
 
8
- # Создаем клиент для инференса с токеном
 
 
 
9
  client = InferenceClient(
10
  DEFAULT_MODEL,
11
  token=HF_TOKEN
@@ -92,12 +95,17 @@ def respond(
92
  messages.append({"role": "assistant", "content": response})
93
  try:
94
  from src.knowledge_base.dataset import DatasetManager
95
- dataset = DatasetManager()
 
 
96
  success, msg = dataset.save_chat_history(conversation_id, messages)
 
97
  if not success:
98
- print(f"Ошибка при сохранении истории чата: {msg}")
99
  except Exception as e:
100
- print(f"Ошибка при сохранении истории чата: {str(e)}")
 
 
101
 
102
  except Exception as e:
103
  print(f"Ошибка при генерации ответа: {str(e)}")
 
5
  from config.settings import DEFAULT_MODEL, HF_TOKEN
6
  from src.knowledge_base.vector_store import create_vector_store, load_vector_store
7
 
8
+ if not HF_TOKEN:
9
+ raise ValueError("HUGGINGFACE_TOKEN not found in environment variables")
10
+
11
+ # Initialize HF client with token
12
  client = InferenceClient(
13
  DEFAULT_MODEL,
14
  token=HF_TOKEN
 
95
  messages.append({"role": "assistant", "content": response})
96
  try:
97
  from src.knowledge_base.dataset import DatasetManager
98
+ from config.settings import HF_TOKEN
99
+
100
+ dataset = DatasetManager(token=HF_TOKEN) # Explicitly pass the token
101
  success, msg = dataset.save_chat_history(conversation_id, messages)
102
+ print(f"Chat history save attempt: {success}, Message: {msg}") # Add debug log
103
  if not success:
104
+ print(f"Failed to save chat history: {msg}")
105
  except Exception as e:
106
+ import traceback
107
+ print(f"Exception while saving chat history: {str(e)}")
108
+ print(traceback.format_exc()) # Print full traceback for debugging
109
 
110
  except Exception as e:
111
  print(f"Ошибка при генерации ответа: {str(e)}")
src/knowledge_base/dataset.py CHANGED
@@ -8,23 +8,23 @@ import tempfile
8
  from typing import Tuple, List, Dict, Any, Optional
9
  from datetime import datetime
10
  from huggingface_hub import HfApi, HfFolder
11
- from config.settings import VECTOR_STORE_PATH
12
 
13
  class DatasetManager:
14
  def __init__(self, dataset_name="Rulga/status-law-knowledge-base", token: Optional[str] = None):
15
  """
16
- Инициализация менеджера датасетов
17
 
18
  Args:
19
- dataset_name: Имя датасета на Hugging Face Hub
20
- token: Токен доступа к Hugging Face Hub (если не задан, берется из ~/.huggingface/token)
21
  """
22
- self.token = token if token else HfFolder.get_token()
23
  if not self.token:
24
- raise ValueError("Не найден токен Hugging Face. Установите переменную окружения HUGGINGFACE_TOKEN")
25
 
26
- self.api = HfApi(token=self.token)
27
  self.dataset_name = dataset_name
 
28
 
29
  # Проверяем/создаем репозиторий при инициализации
30
  try:
 
8
  from typing import Tuple, List, Dict, Any, Optional
9
  from datetime import datetime
10
  from huggingface_hub import HfApi, HfFolder
11
+ from config.settings import VECTOR_STORE_PATH, HF_TOKEN
12
 
13
  class DatasetManager:
14
  def __init__(self, dataset_name="Rulga/status-law-knowledge-base", token: Optional[str] = None):
15
  """
16
+ Initialize dataset manager
17
 
18
  Args:
19
+ dataset_name: Hugging Face Hub dataset name
20
+ token: Hugging Face access token (if None, will use HF_TOKEN from settings)
21
  """
22
+ self.token = token if token else HF_TOKEN
23
  if not self.token:
24
+ raise ValueError("Hugging Face token not found. Please set HUGGINGFACE_TOKEN environment variable")
25
 
 
26
  self.dataset_name = dataset_name
27
+ self.api = HfApi(token=self.token)
28
 
29
  # Проверяем/создаем репозиторий при инициализации
30
  try: