From 2af74cc494fa888da3aa75ba61ae97d466701d17 Mon Sep 17 00:00:00 2001 From: KevinHuSh Date: Mon, 29 Apr 2024 17:57:40 +0800 Subject: [PATCH] refine docker layers (#606) ### What problem does this PR solve? ### Type of change - [x] Performance Improvement --- api/utils/file_utils.py | 9 +++++++++ rag/llm/embedding_model.py | 8 +++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/api/utils/file_utils.py b/api/utils/file_utils.py index e6a67935b..9ed98016e 100644 --- a/api/utils/file_utils.py +++ b/api/utils/file_utils.py @@ -66,6 +66,15 @@ def get_rag_python_directory(*args): return get_rag_directory("python", *args) +def get_home_cache_dir(): + dir = os.path.join(os.path.expanduser('~'), ".raglow") + try: + os.mkdir(dir) + except OSError as error: + pass + return dir + + @cached(cache=LRUCache(maxsize=10)) def load_json_conf(conf_path): if os.path.isabs(conf_path): diff --git a/rag/llm/embedding_model.py b/rag/llm/embedding_model.py index ea6436cf2..3f46bc324 100644 --- a/rag/llm/embedding_model.py +++ b/rag/llm/embedding_model.py @@ -26,19 +26,17 @@ from FlagEmbedding import FlagModel import torch import numpy as np -from api.utils.file_utils import get_project_base_directory +from api.utils.file_utils import get_project_base_directory, get_home_cache_dir from rag.utils import num_tokens_from_string try: - flag_model = FlagModel(os.path.join( - get_project_base_directory(), - "rag/res/bge-large-zh-v1.5"), + flag_model = FlagModel(os.path.join(get_home_cache_dir(), "bge-large-zh-v1.5"), query_instruction_for_retrieval="为这个句子生成表示以用于检索相关文章:", use_fp16=torch.cuda.is_available()) except Exception as e: model_dir = snapshot_download(repo_id="BAAI/bge-large-zh-v1.5", - local_dir=os.path.join(get_project_base_directory(), "rag/res/bge-large-zh-v1.5"), + local_dir=os.path.join(get_home_cache_dir(), "bge-large-zh-v1.5"), local_dir_use_symlinks=False) flag_model = FlagModel(model_dir, query_instruction_for_retrieval="为这个句子生成表示以用于检索相关文章:",