Yuxi-Know icon indicating copy to clipboard operation
Yuxi-Know copied to clipboard

Error: ImportError: cannot import name 'GEMMA2_START_DOCSTRING' from 'transformers.models.gemma2.modeling_gemma2'

Open 2509728042 opened this issue 8 months ago • 14 comments

1️⃣ 后端报错

能进入web页面(http://localhost:5173/chat),但有报错后端疑似没有正常启动

2️⃣ 报错日志

请运行以下命令,并提供部分相关日志:

docker logs --tail=100 api-dev

(chatgpt20240506) PS D:\Yuxi-Know-main> docker logs --tail=100 api-dev INFO: Will watch for changes in these directories: ['/app'] INFO: Uvicorn running on http://0.0.0.0:5050 (Press CTRL+C to quit) INFO: Started reloader process [1] using WatchFiles 2025-05-21 12:19:58,317 - INFO - Yuxi - Loading config from saves/config/base.yaml 2025-05-21 12:19:58,327 - WARNING - Yuxi - 提醒:MODEL_DIR (/models) 不存在,如果未配置,请 忽略,如果配置了,请检查是否配置正确,比如 docker-compose 文件中的映射 Process SpawnProcess-1: Traceback (most recent call last): File "/usr/local/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap self.run() File "/usr/local/lib/python3.12/multiprocessing/process.py", line 108, in run self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.12/site-packages/uvicorn/_subprocess.py", line 80, in subprocess_started target(sockets=sockets) File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 66, in run return asyncio.run(self.serve(sockets=sockets)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/asyncio/runners.py", line 195, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/asyncio/runners.py", line 118, in run return self._loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 70, in serve await self._serve(sockets) File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 77, in _serve
config.load() File "/usr/local/lib/python3.12/site-packages/uvicorn/config.py", line 435, in load self.loaded_app = import_from_string(self.app) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/uvicorn/importer.py", line 19, in import_from_string module = importlib.import_module(module_str) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/importlib/init.py", line 90, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 1387, in _gcd_import File "", line 1360, in _find_and_load File "", line 1331, in _find_and_load_unlocked File "", line 935, in _load_unlocked File "", line 999, in exec_module File "", line 488, in _call_with_frames_removed File "/app/server/main.py", line 5, in from server.routers import router File "/app/server/routers/init.py", line 2, in from server.routers.chat_router import chat File "/app/server/routers/chat_router.py", line 10, in from src import executor, config, retriever File "/app/src/init.py", line 12, in knowledge_base = KnowledgeBase() ^^^^^^^^^^^^^^^ File "/app/src/core/knowledgebase.py", line 31, in init self._load_models() File "/app/src/core/knowledgebase.py", line 53, in _load_models from src.models.embedding import get_embedding_model File "/app/src/models/embedding.py", line 5, in from FlagEmbedding import FlagModel
File "/usr/local/lib/python3.12/site-packages/FlagEmbedding/init.py", line 1, in from .inference import * File "/usr/local/lib/python3.12/site-packages/FlagEmbedding/inference/init.py", line 2, in from .auto_reranker import FlagAutoReranker File "/usr/local/lib/python3.12/site-packages/FlagEmbedding/inference/auto_reranker.py", line 5, in from FlagEmbedding.inference.reranker.model_mapping import ( File "/usr/local/lib/python3.12/site-packages/FlagEmbedding/inference/reranker/init.py", line 1, in from .decoder_only import FlagLLMReranker, LayerWiseFlagLLMReranker, LightWeightFlagLLMReranker File "/usr/local/lib/python3.12/site-packages/FlagEmbedding/inference/reranker/decoder_only/init.py", line 3, in from .lightweight import LightweightLLMReranker as LightWeightFlagLLMReranker File "/usr/local/lib/python3.12/site-packages/FlagEmbedding/inference/reranker/decoder_only/lightweight.py", line 13, in from .models.gemma_model import CostWiseGemmaForCausalLM File "/usr/local/lib/python3.12/site-packages/FlagEmbedding/inference/reranker/decoder_only/models/gemma_model.py", line 56, in
from transformers.models.gemma2.modeling_gemma2 import Gemma2MLP, repeat_kv, Gemma2Attention, Gemma2DecoderLayer, GEMMA2_START_DOCSTRING ImportError: cannot import name 'GEMMA2_START_DOCSTRING' from 'transformers.models.gemma2.modeling_gemma2' (/usr/local/lib/python3.12/site-packages/transformers/models/gemma2/modeling_gemma2.py)

3️⃣ 相关截图

#️⃣ 其他相关信息

✅ 如果问题与模型调用相关,请尝试切换到其他在线模型

2509728042 avatar May 21 '25 12:05 2509728042

全部使用的默认配置是吗?

xerrors avatar May 21 '25 12:05 xerrors

这个似乎不是最新版本?本地 embedding 模型已经弃用 FlagModel 了

xerrors avatar May 21 '25 12:05 xerrors

全部使用的默认配置是吗?

是的,没有改动。是05.04下的版本,大佬是今天弃用的FlagModel 吗(昨天下午还是能使用的)?请问最新版本是没有问题的吗?

2509728042 avatar May 21 '25 13:05 2509728042

最新版本也有这个问题,我也遇到了,用着好好的,然后就不行了

13607965254 avatar May 21 '25 16:05 13607965254

我来看一下

xerrors avatar May 22 '25 05:05 xerrors

transformers tokenizers FlagEmbedding langchain-huggingface 这几个版本不兼容问题 我进入容器卸载重新安装就可以了

13607965254 avatar May 22 '25 14:05 13607965254

transformers tokenizers FlagEmbedding langchain-huggingface 这几个版本不兼容问题 我进入容器卸载重新安装就可以了

请问对应的版本分别是?

2509728042 avatar May 23 '25 13:05 2509728042

我来看一下 请问大佬,如果要用旧版的话该如何解决这个问题呢?

2509728042 avatar May 27 '25 10:05 2509728042

旧版的代码也是一样,可能是依赖的问题。只是我发现flag的运行效率没有sentence transformer 高,所以就换掉了

---- 回复的原邮件 ---- | 发件人 | @.> | | 日期 | 2025年05月27日 18:29 | | 收件人 | @.> | | 抄送至 | Wenjie @.>@.> | | 主题 | Re: [xerrors/Yuxi-Know] Error: ImportError: cannot import name 'GEMMA2_START_DOCSTRING' from 'transformers.models.gemma2.modeling_gemma2' (Issue #202) | 2509728042 left a comment (xerrors/Yuxi-Know#202)

我来看一下 请问大佬,如果要用旧版的话该如何解决这个问题呢?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

xerrors avatar May 27 '25 10:05 xerrors

昨天拉下来的项目今天刚跑起来也遇到了这个问题,请问你解决了吗

Implacid avatar May 29 '25 14:05 Implacid

昨天拉下来的项目今天刚跑起来也遇到了这个问题,请问你解决了吗

@Implacid 你好, 我暂时没法复现这个 issue,你试着删除 uv.lock 之后,在 docker/api.Dockerfile 中删除下面的两行

# 安装依赖项
RUN --mount=type=cache,target=/root/.cache/uv \
    --mount=type=bind,source=uv.lock,target=uv.lock \ # <===== 删除这一行
    --mount=type=bind,source=pyproject.toml,target=pyproject.toml \
    uv sync --frozen --no-install-project

# 复制代码到容器中
COPY ../src /app/src
COPY ../server /app/server
COPY ../pyproject.toml /app/pyproject.toml
COPY ../.python-version /app/.python-version
COPY ../uv.lock /app/uv.lock  # <===== 删除这一行

# 同步项目
RUN --mount=type=cache,target=/root/.cache/uv \
    uv sync --frozen

然后重新 build 一下看看

Yuchuan925 avatar May 29 '25 15:05 Yuchuan925

@Yuchuan925 你好,我试了一下但是build的时候报错 => ERROR [api stage-0 6/11] RUN --mount=type=cache,target=/root/.cache/uv --mount=type=bind,source=pyprojec 0.4s

[api stage-0 6/11] RUN --mount=type=cache,target=/root/.cache/uv --mount=type=bind,source=pyproject.toml,target=pyproject.toml uv sync --frozen --no-install-project: 0.298 Using CPython 3.12.10 interpreter at: /usr/local/bin/python3 0.298 Creating virtual environment at: .venv 0.302 error: Unable to find lockfile at uv.lock. To create a lockfile, run uv lock or uv sync.


failed to solve: process "/bin/sh -c uv sync --frozen --no-install-project" did not complete successfully: exit code: 2

Implacid avatar May 30 '25 03:05 Implacid

昨天拉下来的项目今天刚跑起来也遇到了这个问题,请问你解决了吗

你好,请问解决这个问题了吗,我今天试图部署也遇到这个问题

OneShaoNan avatar Jun 02 '25 11:06 OneShaoNan

昨天拉下来的项目今天刚跑起来也遇到了这个问题,请问你解决了吗

你好,请问解决这个问题了吗,我今天试图部署也遇到这个问题

很遗憾还没有

Implacid avatar Jun 03 '25 09:06 Implacid