使用HuggingFaceEmbedding时触发Segmentation Fault问题求助
解决方案
升级Python版本:Python 3.9.7在Mac Catalina上与部分现代NLP库兼容性有限,建议通过pyenv升级到3.10.x或3.11.x版本(Catalina支持的稳定版本),执行命令:
pyenv install 3.10.12 pyenv local 3.10.12之后重新安装所有依赖库。
锁定transformers与sentence-transformers版本:新版本的transformers库可能在旧系统上存在编译或运行时冲突,指定兼容版本安装:
pip install transformers==4.30.2 sentence-transformers==2.2.2限制Streamlit线程数:Streamlit默认多线程运行可能与Hugging Face模型加载产生冲突,在代码开头添加环境变量配置:
import os os.environ["OMP_NUM_THREADS"] = "1" os.environ["STREAMLIT_SERVER_HEADLESS"] = "true"替换嵌入模型初始化方式:改用
SentenceTransformerEmbedding直接初始化模型,替代HuggingFaceEmbedding,代码示例:from llama_index.embeddings import SentenceTransformerEmbedding embed_model = SentenceTransformerEmbedding(model_name="BAAI/bge-small-en-v1.5")更新系统编译依赖:确保Xcode命令行工具为最新版本,执行:
xcode-select --install修复可能存在的编译器兼容性问题。
清理缓存并重装依赖:删除Hugging Face本地缓存,重新安装所有相关库,避免缓存损坏导致的错误:
rm -rf ~/.cache/huggingface pip uninstall -y llama-index replicate streamlit transformers sentence-transformers pip install llama-index replicate streamlit transformers sentence-transformers
内容的提问来源于stack exchange,提问作者anikaM
相关产品推荐
相关产品推荐

