我一直在尝试使用
Chromadb
版本0.4.8
Langchain
版本0.0.276
与
SentenceTransformerEmbeddingFunction
如下面的代码片段所示。
from langchain.vectorstores import Chroma
from chromadb.utils import embedding_functions
# other imports
embedding = embedding_functions.SentenceTransformerEmbeddingFunction(model_name="all-MiniLM-L6-v2")
但是,它会引发以下错误。
RuntimeError: Your system has an unsupported version of sqlite3. Chroma requires sqlite3 >= 3.35.0.
有趣的是,我确实拥有所需的
sqlite3
(3.43.0
),我可以使用命令 sqlite3 --version
进行验证。
将不胜感激任何帮助。谢谢你。
在Python中导入chromadb导致的错误消息:
>>> import chromadb
[...]
RuntimeError: Your system has an unsupported version of sqlite3. Chroma requires sqlite3 >= 3.35.0.
Please visit https://docs.trychroma.com/troubleshooting#sqlite to learn how to upgrade.
通过上述 url 和 Chroma 的信息丰富的 源代码 建议了一种解决方法。第一
$ pip install pysqlite3-binary
然后,在Python中:
>>> import pysqlite3
>>> import sys
>>> sys.modules["sqlite3"] = sys.modules.pop("pysqlite3")
>>> import chromadb
>>>
现在应该不会产生任何错误。
有趣的事实:
$ sqlite3 --version
3.31.1 2020-01-27 19:55:54 3bfa9cc97da10598521b342961df8f5f68c7388fa117345eeb516eaa837balt1
同时,在上面的Python控制台继续:
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.43.1'