🔍 故障排除

本页面列出了常见的问题及其解决方法。

如果你在这里没有找到你的问题,请同时搜索 Github Issues

使用 .get.query 时,嵌入向量显示为 None#

这实际上并不是一个错误。嵌入向量非常大且传输起来很耗费资源。大多数应用程序并不使用底层的嵌入向量,因此默认情况下,Chroma 不会返回它们。

要返回它们:在查询中添加 include=["embeddings", "documents", "metadatas", "distances"] 以返回所有信息。

例如:

python

运行 pip install chromadb 时出现构建错误#

如果在设置过程中遇到类似这样的错误

plaintext

尝试以下来自 社区 的几个提示:

  1. 如果出现错误:clang: error: the clang compiler does not support '-march=native',设置此环境变量,export HNSWLIB_NO_NATIVE=1
  2. 如果在 Mac 上,安装/更新 xcode 开发工具,xcode-select --install
  3. 如果在 Windows 上,尝试 这些步骤

SQLite#

Chroma 需要 SQLite > 3.35,如果你遇到 SQLite 版本过低的问题,请尝试以下方法。

  1. 安装最新版本的 Python 3.10,有时较低版本的 Python 会捆绑较旧版本的 SQLite。
  2. 如果你使用的是 Linux 系统,可以安装 pysqlite3-binary,pip install pysqlite3-binary,然后按照 这里 的步骤覆盖默认的 sqlite3 库,然后再运行 Chroma。或者你可以从头编译 SQLite,并按照 这里 的文档将库替换为你 Python 安装中的最新版本。
  3. 如果你使用的是 Windows,可以从 https://www.sqlite.org/download.html 手动下载最新版本的 SQLite,并将你 Python 安装的 DLLs 文件夹中的 DLL 替换为最新版本。你可以通过在 Python 中运行 os.path.dirname(sys.executable) 找到你的 Python 安装路径。
  4. 如果你使用的是基于 Debian 的 Docker 容器,较旧的 Debian 版本没有最新的 SQLite,请使用 bookworm 或更高版本。

非法指令 (核心已转储)#

如果在设置过程中遇到类似这样的错误并且使用 Docker,你可能在不同 CPU 架构的机器上构建了库。尝试在你运行它的机器上重新构建 Docker 镜像。

我的数据目录太大#

如果你在 v0.5.6 之前使用过 Chroma,你可以通过 清理数据库 显著缩小数据库。清理一次后,自动修剪(v0.5.6 中的新功能)将被启用,并会保持你的数据库大小在可控范围内。