Rulga commited on
Commit
d957ab0
·
1 Parent(s): 2cacc96

Initialize cache directories in app.py and update model identifier; add sentence-transformers to requirements

Browse files
Files changed (2) hide show
  1. app.py +19 -4
  2. requirements.txt +1 -0
app.py CHANGED
@@ -36,6 +36,19 @@ warnings.filterwarnings('ignore')
36
  # Initialize environment variables
37
  load_dotenv()
38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  # Initialize FastAPI app
40
  app = FastAPI(title="Status Law Assistant API")
41
 
@@ -102,6 +115,9 @@ class CustomCallbackHandler(ConsoleCallbackHandler):
102
  json.dump(log_entry, f, ensure_ascii=False)
103
  f.write("\n")
104
 
 
 
 
105
  def init_models():
106
  try:
107
  callback_handler = CustomCallbackHandler()
@@ -114,13 +130,12 @@ def init_models():
114
  callback_manager=callback_manager
115
  )
116
 
117
- # Используем модель с корректным идентификатором
118
  embeddings = HuggingFaceEmbeddings(
119
- model_name="sentence-transformers/paraphrase-multilingual-mpnet-base-v2",
120
- cache_folder="/app/.cache"
121
  )
122
 
123
- logger.info("Models initialized successfully")
124
  return llm, embeddings
125
 
126
  except Exception as e:
 
36
  # Initialize environment variables
37
  load_dotenv()
38
 
39
+ # Проверяем наличие и права доступа к директориям кэша
40
+ cache_dir = "/app/.cache"
41
+ if not os.path.exists(cache_dir):
42
+ os.makedirs(cache_dir, exist_ok=True)
43
+ os.chmod(cache_dir, 0o777)
44
+
45
+ hf_cache_dir = os.path.join(cache_dir, "huggingface")
46
+ if not os.path.exists(hf_cache_dir):
47
+ os.makedirs(hf_cache_dir, exist_ok=True)
48
+ os.chmod(hf_cache_dir, 0o777)
49
+
50
+ logger.info(f"Cache directories initialized: {cache_dir}, {hf_cache_dir}")
51
+
52
  # Initialize FastAPI app
53
  app = FastAPI(title="Status Law Assistant API")
54
 
 
115
  json.dump(log_entry, f, ensure_ascii=False)
116
  f.write("\n")
117
 
118
+ # В начале файла добавим константу с именем модели
119
+ EMBEDDING_MODEL = "sentence-transformers/paraphrase-multilingual-mpnet-base-v2"
120
+
121
  def init_models():
122
  try:
123
  callback_handler = CustomCallbackHandler()
 
130
  callback_manager=callback_manager
131
  )
132
 
 
133
  embeddings = HuggingFaceEmbeddings(
134
+ model_name=EMBEDDING_MODEL, # Используем константу
135
+ cache_folder="/app/.cache/huggingface" # Явно указываем путь к кэшу
136
  )
137
 
138
+ logger.info(f"Models initialized successfully. Using embedding model: {EMBEDDING_MODEL}")
139
  return llm, embeddings
140
 
141
  except Exception as e:
requirements.txt CHANGED
@@ -3,6 +3,7 @@ langchain-community
3
  langchain-core
4
  langchain-huggingface
5
  langchain-groq
 
6
  python-dotenv
7
  faiss-cpu
8
  requests
 
3
  langchain-core
4
  langchain-huggingface
5
  langchain-groq
6
+ sentence-transformers
7
  python-dotenv
8
  faiss-cpu
9
  requests