Error: ImportError: cannot import name 'GEMMA2_START_DOCSTRING' from 'transformers.models.gemma2.modeling_gemma2'
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 "
File "/usr/local/lib/python3.12/site-packages/FlagEmbedding/init.py", line 1, 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️⃣ 相关截图
#️⃣ 其他相关信息
✅ 如果问题与模型调用相关,请尝试切换到其他在线模型
全部使用的默认配置是吗?
这个似乎不是最新版本?本地 embedding 模型已经弃用 FlagModel 了
全部使用的默认配置是吗?
是的,没有改动。是05.04下的版本,大佬是今天弃用的FlagModel 吗(昨天下午还是能使用的)?请问最新版本是没有问题的吗?
最新版本也有这个问题,我也遇到了,用着好好的,然后就不行了
我来看一下
transformers tokenizers FlagEmbedding langchain-huggingface 这几个版本不兼容问题 我进入容器卸载重新安装就可以了
transformers tokenizers FlagEmbedding langchain-huggingface 这几个版本不兼容问题 我进入容器卸载重新安装就可以了
请问对应的版本分别是?
我来看一下 请问大佬,如果要用旧版的话该如何解决这个问题呢?
旧版的代码也是一样,可能是依赖的问题。只是我发现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: @.***>
昨天拉下来的项目今天刚跑起来也遇到了这个问题,请问你解决了吗
昨天拉下来的项目今天刚跑起来也遇到了这个问题,请问你解决了吗
@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 你好,我试了一下但是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, runuv lockoruv sync.
failed to solve: process "/bin/sh -c uv sync --frozen --no-install-project" did not complete successfully: exit code: 2
昨天拉下来的项目今天刚跑起来也遇到了这个问题,请问你解决了吗
你好,请问解决这个问题了吗,我今天试图部署也遇到这个问题
昨天拉下来的项目今天刚跑起来也遇到了这个问题,请问你解决了吗
你好,请问解决这个问题了吗,我今天试图部署也遇到这个问题
很遗憾还没有