首页 > 编程问答 >在 MacOS 上使用 chromadb 添加文档时出现 ONNXRuntimeError

在 MacOS 上使用 chromadb 添加文档时出现 ONNXRuntimeError

时间:2024-07-20 20:58:16浏览次数:15  
标签:python chromadb

我正在尝试使用 Chroma db 运行 Python 脚本。创建集合,添加一些向量并得到。但出现错误。

脚本:

import chromadb
client = chromadb.Client()
collection = client.create_collection(name="example")
collection.add(
    documents=["Sky is unlimited.", "Tree is a plant."], ids=["d_1", "d_2"]
)
items = collection.get()
collection.peek(limit=5)

错误:

onnxruntime.capi.onnxruntime_pybind11_state.Fail:[ONNXRuntimeError]: 1:FAIL:运行时返回非零状态代码 CoreML_10659388614159815537_1 节点。 名称:'CoreMLExecutionProvider_CoreML_10659388614159815537_1_1'状态 消息:执行模型时出错:无法使用以下方法计算预测 神经网络模型。它可能是无效的输入数据或 损坏/不受支持的模型(错误代码:-1)。

硬件: MacOS 14, Intel

可能是什么原因?

我不知道原因是什么,我应该使用 Docker 还是操作系统有问题?


在 macOS Intel 上使用 ChromaDB 时遇到了 ONNXRuntimeError,该错误表明问题出在所使用的 CoreML 模型执行引擎上。尽管错误消息没有指出确切原因,但我们可以缩小可能的原因范围并探讨一些解决方案:

可能的原因和解决方案:

  1. Apple Silicon 与 Intel 架构的兼容性问题:

  2. 问题: 可能使用的是专为 Apple Silicon 构建的 ChromaDB 版本或依赖项(如 SentenceTransformers),而的 Mac 使用的是 Intel 处理器。

  3. 解决方案: 确保安装的 ChromaDB 和 SentenceTransformers 版本与的 Intel Mac 兼容。可以尝试安装针对 x86_64 架构构建的特定版本。可以查看文档或项目 GitHub 仓库以获取有关兼容性的信息。

  4. 模型文件损坏或不兼容:

  5. 问题: 用于文本嵌入的 CoreML 模型文件 ( .mlmodel ) 可能已损坏或与的 ONNXRuntime 版本不兼容。

  6. 解决方案:

    • 重新安装或更新 ChromaDB: 尝试重新安装 ChromaDB 或更新到最新版本,以确保拥有最新的模型文件。
    • 使用不同的嵌入模型: ChromaDB 支持不同的文本嵌入模型。尝试切换到其他模型,例如使用 sentence-transformers ,看看是否能解决问题。
  7. ONNXRuntime 版本冲突或问题:

  8. 问题: 系统上安装的 ONNXRuntime 版本可能存在与 ChromaDB 不兼容或存在已知问题的版本。

  9. 解决方案:

    • 更新 ONNXRuntime: 尝试更新 ONNXRuntime 到最新版本: pip install --upgrade onnxruntime
    • 安装特定版本: 如果更新导致问题,请尝试安装与 ChromaDB 兼容的特定 ONNXRuntime 版本。可以在 ChromaDB 文档或依赖项列表中找到此信息。
  10. 系统环境问题:

  11. 问题: 的 macOS 环境中可能缺少某些依赖项或配置,导致 CoreML 执行引擎出现问题。

  12. 解决方案:
    • 安装缺少的依赖项: 确保已安装所有必需的依赖项。可以查看 ChromaDB 文档以获取依赖项列表。
    • 创建一个新的 Python 环境: 创建一个新的 Python 虚拟环境,并仅安装 ChromaDB 及其依赖项,以避免与其他软件包发生冲突。

建议:

  • 提供更多信息: 请提供的 ChromaDB、SentenceTransformers 和 ONNXRuntime 版本,以便更好地诊断问题。
  • 检查 ChromaDB 日志: 查看 ChromaDB 日志以获取有关错误的更多详细信息。这可以帮助确定问题的根源。
  • 使用 Docker: 如果问题仍然存在,可以尝试使用 Docker 运行 ChromaDB,以创建一个隔离且一致的环境。

通过系统地排查这些可能的原因,应该能够解决 ONNXRuntimeError 并成功在的 Intel Mac 上使用 ChromaDB。

标签:python,chromadb
From: 78686477

相关文章

  • 用于检查 Google Gemini 支持的所有 GenerativeAI 模型的 Python 代码是什么?
    作为GenerativeAI世界的新手,我正在尝试加载预先训练的文本生成模型并做一些不起作用的事情。这就是我加载GenerativeAI模型的方式。fromvertexai.generative_modelsimportGenerativeModelgeneration_model=GenerativeModel("gemini-pro")由于它不......
  • 想让字典操作更优雅?自定义Python字典类型,简化你的代码库!
    目录1、继承dict类......
  • Vispy,一个专门用于创建交互式可视化的python库
    目录什么是Vispy?为什么选择Vispy?安装Vispy基础概念创建第一个Vispy可视化2D图形的进阶使用3D图形的绘制交互性结论什么是Vispy?Vispy是一个高性能的Python库,专门用于创建交互式可视化。它支持2D和3D数据的可视化,并且可以轻松地集成到各种应用程序中。Vispy的核心优......
  • python 复制 excel 保留文档中完全相同的参数(样式、单元格大小和融合、边框...)
    我正在寻找一种在其他文件中复制和excel的方法。我有一个“file_1.xlsx”,但我想要一个不存在的“file_1_copy.xlsx”。副本必须与原始文件完全相同,这意味着单元格大小、它们的融合、单元格中文本的颜色、背景、如果有边框,就好像我用右键单击。我有:importopenpyxlfromope......
  • python查看某个包的当前安装版本以及最新版本
    方法1:使用pip和--outdated参数你可以使用piplist--outdated命令来查看哪些包有更新版本可用。这个命令会列出所有安装的包以及它们在PyPI上的最新版本。piplist--outdated这将输出一个包列表,包含当前版本和最新版本,例如:PackageVersionLatestTyp......
  • 【python】错误 SyntaxError: invalid syntax的解决方法总结
    【python】错误SyntaxError:invalidsyntax的解决方法总结在Python编程中,SyntaxError:invalidsyntax是一个常见的错误,通常表示Python解释器在尝试解析代码时遇到了语法错误。这种错误可能由多种原因引起,包括拼写错误、缺少关键字、不恰当的缩进等。本文将深入探讨......
  • MiniQMT国债逆回购策略Python代码全解析
    文章目录......
  • python—爬虫的初步了解
    Python爬虫(WebScraping)是一种自动化从网站上提取数据的技术。Python由于其简洁的语法、丰富的库和强大的社区支持,成为了实现网络爬虫的首选语言之一。下面是一些Python爬虫的基本概念和步骤:1.爬虫的基本概念请求(Request):爬虫向服务器发送的请求,通常包括URL、HTTP方法(如......
  • Python集合的概念与使用
      在Python中,集合(set)是一种无序且不包含重复元素的数据结构。集合对象由一组大括号 或 函数创建,但请注意,大括号 在没有元素的情况下会创建一个空字典,而不是空集合。因此,当你想创建一个空集合时,应该使用 set()函数而不是 set{}集合的特点无序:集合中的元素没有特定的......
  • python——面向对象(2)继承与多态
    文章目录继承的基本语法继承的特点继承的类型多态在Python中,继承是一种基于已存在的类来创建新类的方式。这种机制允许我们定义一个通用的类,然后基于这个类来定义一些特定的类,这些特定的类将继承通用类的属性和方法,同时也可以添加或覆盖一些新的属性和方法。这种方式......