Browse Source

Fix error of changing embedding model (#4184)

### What problem does this PR solve?

1. Change embedding model of knowledge base won't change the default
embedding model.
2. Retrieval test bug

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)

---------

Signed-off-by: jinhai <haijin.chn@gmail.com>
tags/v0.15.1
Jin Hai 10 months ago
parent
commit
4abc144d3d
No account linked to committer's email address
1 changed files with 3 additions and 3 deletions
  1. 3
    3
      rag/llm/embedding_model.py

+ 3
- 3
rag/llm/embedding_model.py View File

^_- ^_-


""" """
if not settings.LIGHTEN and not DefaultEmbedding._model:
if not settings.LIGHTEN:
with DefaultEmbedding._model_lock: with DefaultEmbedding._model_lock:
from FlagEmbedding import FlagModel from FlagEmbedding import FlagModel
import torch import torch
if not DefaultEmbedding._model:
if not DefaultEmbedding._model or model_name != DefaultEmbedding._model_name:
try: try:
DefaultEmbedding._model = FlagModel(os.path.join(get_home_cache_dir(), re.sub(r"^[a-zA-Z0-9]+/", "", model_name)), DefaultEmbedding._model = FlagModel(os.path.join(get_home_cache_dir(), re.sub(r"^[a-zA-Z0-9]+/", "", model_name)),
query_instruction_for_retrieval="为这个句子生成表示以用于检索相关文章:", query_instruction_for_retrieval="为这个句子生成表示以用于检索相关文章:",
threads: int | None = None, threads: int | None = None,
**kwargs, **kwargs,
): ):
if not settings.LIGHTEN and not FastEmbed._model:
if not settings.LIGHTEN:
with FastEmbed._model_lock: with FastEmbed._model_lock:
from fastembed import TextEmbedding from fastembed import TextEmbedding
if not DefaultEmbedding._model or model_name != DefaultEmbedding._model_name: if not DefaultEmbedding._model or model_name != DefaultEmbedding._model_name:

Loading…
Cancel
Save