Initialize cache directories in app.py and update model identifier; add sentence-transformers to requirements
Browse files- app.py +19 -4
- 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=
|
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
|