这个错误表明您安装的 llama-index 版本较旧,或者缺少必要的集成包。llama_index.vector_stores 是在较新版本中引入的模块结构。
解决方案
方案 1:升级 llama-index 核心包(推荐)
Bash
# 先卸载旧版本
pip uninstall llama-index
# 安装最新版本(包含所有核心组件)
pip install llama-index --upgrade
# 或者安装特定版本(确保 >= 0.10.0)
pip install llama-index>=0.10.0
方案 2:安装向量存储集成包(如果已升级但仍报错)
从 llama-index 0.10 版本开始,向量存储被拆分为独立的集成包:
Bash
# 安装 Chroma 向量存储的集成包
pip install llama-index-vector-stores-chroma
然后修改导入语句:
Python
# 新版本的导入方式
from llama_index.vector_stores.chroma import ChromaVectorStore
# 或者如果上面的不行,尝试:
from llama_index.vector_stores.chroma.base import ChromaVectorStore
方案 3:检查并修复安装
Bash
# 查看当前版本
pip show llama-index
# 如果版本低于 0.10.0,建议彻底重装
pip uninstall llama-index llama-index-core llama-index-vector-stores-chroma -y
pip cache purge
pip install llama-index llama-index-vector-stores-chroma
方案 4:使用替代导入(兼容旧版)
如果暂时无法升级,可以使用旧版导入:
Python
# 0.9.x 及更早版本的导入方式
from llama_index.vector_stores import ChromaVectorStore
# 或者
from llama_index.storage.vector_stores import ChromaVectorStore
快速诊断
运行以下代码检查您的版本:
Python
import llama_index
print(llama_index.__version__)
- 版本 >= 0.10.0 :使用
pip install llama-index-vector-stores-chroma安装集成包 - 版本 < 0.10.0:建议升级到最新版,或使用方案 4 的兼容导入
完整安装命令(推荐)
Bash
# 一次性安装所有必需组件
pip install llama-index llama-index-vector-stores-chroma chromadb
安装完成后,您的原始导入语句应该可以正常工作:
Python
from llama_index.vector_stores.chroma import ChromaVectorStore