You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chroma对象无persist属性报错求助:持久化数据库失败

解决Chroma数据库持久化时的AttributeError问题

你遇到的AttributeError: 'Chroma' object has no attribute 'persist'是因为新版本的langchain-chroma(配合chromadb更新)已经移除了persist()方法,旧示例代码是基于旧版API编写的。

修复方案

新版本中,只要在创建Chroma实例时指定了persist_directory参数,数据会自动持久化到指定目录,不需要再手动调用persist()方法。直接删除vectordb.persist()这一行即可。

修改后的完整代码:

!pip -q install chromadb openai langchain tiktoken
!pip install -q langchain-chroma
!pip install -q langchain_chroma  langchain_openai langchain_community

from langchain_chroma import Chroma
from langchain_openai import OpenAI
from langchain_community.embeddings import OpenAIEmbeddings
from langchain_community.document_loaders import TextLoader
from langchain_community.document_loaders import DirectoryLoader

persist_directory ='db'

embedding = OpenAIEmbeddings()

# 创建实例时指定持久化目录,数据自动写入磁盘
vectordb = Chroma.from_documents(documents=texts,
                                 embedding=embedding,
                                 persist_directory=persist_directory)

# 移除这一行:vectordb.persist()

补充说明

旧版的langchain中,Chroma向量存储需要显式调用persist()来触发磁盘写入,但在langchain-chroma独立包的新版本中,这个流程被优化为自动处理,只要指定了持久化目录,所有操作都会实时同步到磁盘,因此不再需要persist()方法。

内容的提问来源于stack exchange,提问作者fneiwfwiem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:52:07