from llama_index import GPTListIndex
from llama_index.indices.list.retrievers import ListIndexLLMRetriever
documents = SimpleDirectoryReader('./data').load_data()
index = GPTListIndex.from_documents(documents, service_context=service_context)
retriever = ListIndexLLMRetriever()
....
我尝试使用
python 3.8.1和3.11.0
pip install llama-index==0.5.6
pip install langchain==0.0.148
建议这些版本导入我的python程序在这个github
https://github.com/langchain-ai/langchain/issues/4064
但是都得到错误信息: ModuleNotFoundError:没有名为“llama_index.indices.list.retrievers”的模块
有人有任何建议来解决它吗?
这个错误信息表明
llama_index.indices.list.retrievers
模块在
llama-index==0.5.6
版本中不存在。
ListIndexLLMRetriever
类不在那个位置。
相反,你应该直接从
llama_index
中导入
GPTListIndex
和
LLMRetriever
。
以下是代码的修正版本:
from llama_index import GPTListIndex, LLMPredictor, ServiceContext
from llama_index.retrievers import LLMRetriever
# 选择你想要的 LLM
from langchain.llms import OpenAI
llm_predictor = LLMPredictor(llm=OpenAI(temperature=0))
documents = SimpleDirectoryReader('./data').load_data()
service_context = ServiceContext.from_defaults(llm_predictor=llm_predictor)
index = GPTListIndex.from_documents(documents, service_context=service_context)
# 使用 index.as_retriever() 方法来获取检索器
retriever = index.as_retriever()
# ... 其他代码 ...
这个版本做了以下更改:
-
直接从
llama_index
导入LLMRetriever
而不是从llama_index.indices.list.retrievers
导入。 -
使用
index.as_retriever()
创建检索器实例 ,而不是实例化一个单独的ListIndexLLMRetriever
对象。
通过这些调整,你的代码应该可以正常运行,而不会出现
ModuleNotFoundError
。
如果问题仍然存在,请提供完整的错误追踪信息,这样我就可以进一步帮助你。
标签:python,llama-index From: 78819645