LlamaIndex导入LangchainEmbedding报错,如何解决?是否关联Colab环境?
解决LlamaIndex中无法导入LangchainEmbedding的问题
这个错误和Colab环境无关,是LlamaIndex版本更新导致的导入路径变化。
解决方案1:适配新版本LlamaIndex(>=0.10.0)
在LlamaIndex 0.10.0及以上版本中,LangchainEmbedding的导入路径已调整,需要从llama_index.embeddings.langchain模块导入,修改后的代码如下:
from langchain.embeddings.huggingface import HuggingFaceEmbeddings from llama_index import ServiceContext, VectorStoreIndex from llama_index.embeddings.langchain import LangchainEmbedding embed_model = LangchainEmbedding( HuggingFaceEmbeddings(model_name="thenlper/gte-large") ) service_context = ServiceContext.from_defaults( chunk_size=256, llm=llm, embed_model=embed_model ) index = VectorStoreIndex.from_documents(documents, service_context=service_context)
另外,新版本中推荐使用Settings类来全局配置参数,替代ServiceContext,示例代码如下:
from langchain.embeddings.huggingface import HuggingFaceEmbeddings from llama_index import Settings, VectorStoreIndex from llama_index.embeddings.langchain import LangchainEmbedding Settings.chunk_size = 256 Settings.llm = llm Settings.embed_model = LangchainEmbedding( HuggingFaceEmbeddings(model_name="thenlper/gte-large") ) index = VectorStoreIndex.from_documents(documents)
解决方案2:降级到旧版本LlamaIndex
如果需要兼容原有代码结构,可以安装0.9.x版本的LlamaIndex:
pip install llama-index==0.9.48
安装完成后,原代码的导入方式即可正常使用。
内容的提问来源于stack exchange,提问作者Lorenzo Cutrupi
相关产品推荐
相关产品推荐

