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

使用PyInstaller打包含LangChain-Chroma的Python离线LLM文件问答应用时出现ONNXMiniLM_L6_V2未定义的NameError错误

PyInstaller打包含LangChain-Chroma的Python离线LLM文件问答应用时出现ONNXMiniLM_L6_V2未定义的NameError错误

我正在开发一个基于Python和Tkinter的应用,用户可以上传文件,通过离线LLM进行问答,我们用langchain_chroma处理嵌入。我没法分享完整源码,但可以给出导入部分,应该能帮到排查问题:

1. populate_database.py 文件

import argparse
import os
import shutil
from langchain_community.document_loaders import PyPDFDirectoryLoader
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain.schema.document import Document
from embedding import embedding_function
from langchain_community.vectorstores import Chroma
from langchain_community.document_loaders import UnstructuredMarkdownLoader
from langchain_community.document_loaders import UnstructuredWordDocumentLoader

2. embedding.py 文件

from transformers import AutoModelForCausalLM, AutoTokenizer, AutoModel
import torch

3. main.py 文件

from time import sleep
import tkinter as tk
from tkinter import scrolledtext, filedialog
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
from langchain_chroma import Chroma
from langchain.prompts import PromptTemplate
from populate_database import add_documents_to_chroma, clear_database
from embedding import embedding_function
import gc

我们用到了两个模型:

  • 用于用户交互的LLM:Qwen2.5-3B
  • 处理嵌入的模型:multilingual-e5-large

项目结构如下:

  • chroma(数据库文件夹)
  • data(测试用的示例PDF文件夹)
  • Qwen2.5-3B(LLM模型文件夹)
  • multilingual-e5-large(嵌入模型文件夹)
  • dist(打包生成的文件夹)
  • build(打包生成的文件夹)
  • embedding.py
  • main.py
  • populate_database.py

我使用的打包命令很简单:

pyinstaller main.py --onefile -w

完整的错误信息如下:

NameError: name 'ONNXMiniLM_L6_V2' is not defined

Traceback (most recent call last):
  File "main.py", line 6, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 384, in exec_module
  File "langchain_chroma\__init__.py", line 6, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 384, in exec_module
  File "langchain_chroma\vectorstores.py", line 25, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 384, in exec_module
  File "chromadb\__init__.py", line 3, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 384, in exec_module
  File "chromadb\api\__init__.py", line 34, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 384, in exec_module
  File "chromadb\api\models\Collection.py", line 3, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 384, in exec_module
  File "chromadb\api\models\CollectionCommon.py", line 100, in <module>
  File "chromadb\api\models\CollectionCommon.py", line 112, in CollectionCommon
  File "chromadb\utils\embedding_functions\__init__.py", line 57, in DefaultEmbeddingFunction
NameError: name 'ONNXMiniLM_L6_V2' is not defined

我已经试过网上针对这个问题的相关解决方案,但都没有成功,希望能得到大家的帮助。

备注:内容来源于stack exchange,提问作者Nigel Mathews

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 19:23:31