UKPLab / sentence-transformers

State-of-the-Art Text Embeddings
https://www.sbert.net
Apache License 2.0
15.16k stars 2.47k forks source link

cannot import name '_sentencepiece' from partially initialized module 'sentencepiece' (most likely due to a circular import) #2661

Open heiheiheibj opened 5 months ago

heiheiheibj commented 5 months ago

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "D:\langchain\ragtest.py", line 108, in embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2") File "D:\ProgramData\Anaconda3\envs\llm\lib\site-packages\langchain_community\embeddings\huggingface.py", line 64, in init import sentence_transformers File "D:\ProgramData\Anaconda3\envs\llm\lib\site-packages\sentence_transformers__init.py", line 3, in from .datasets import SentencesDataset, ParallelSentencesDataset File "D:\ProgramData\Anaconda3\envs\llm\lib\site-packages\sentence_transformers\datasets__init__.py", line 3, in from .ParallelSentencesDataset import ParallelSentencesDataset File "D:\ProgramData\Anaconda3\envs\llm\lib\site-packages\sentence_transformers\datasets\ParallelSentencesDataset.py", line 4, in from .. import SentenceTransformer File "D:\ProgramData\Anaconda3\envs\llm\lib\site-packages\sentence_transformers\SentenceTransformer.py", line 38, in from .models import Transformer, Pooling, Normalize File "D:\ProgramData\Anaconda3\envs\llm\lib\site-packages\sentence_transformers\models__init__.py", line 1, in from .Transformer import Transformer File "D:\ProgramData\Anaconda3\envs\llm\lib\site-packages\sentence_transformers\models\Transformer.py", line 2, in from transformers import AutoModel, AutoTokenizer, AutoConfig, T5Config, MT5Config File "", line 1075, in _handle_fromlist File "D:\ProgramData\Anaconda3\envs\llm\lib\site-packages\transformers\utils\import_utils.py", line 1525, in getattr__ module = self._get_module(self._class_to_module[name]) File "D:\ProgramData\Anaconda3\envs\llm\lib\site-packages\transformers\utils\import_utils.py", line 1537, in _get_module raise RuntimeError( RuntimeError: Failed to import transformers.models.auto because of the following error (look up to see its traceback): cannot import name '_sentencepiece' from partially initialized module 'sentencepiece' (most likely due to a circular import) (D:\ProgramData\Anaconda3\envs\llm\lib\site-packages\sentencepiece__init__.py)

How to fix this problem? thx.

tomaarsen commented 5 months ago

Hello!

This line in the traceback is a bit confusing to me:

File "", line 1075, in _handle_fromlist

That said, sentencepiece is no longer required by transformers or sentence-transformers. You might be able to just uninstall it to avoid the odd import issue:

pip uninstall sentencepiece

Let me know if that doesn't work.