解决 ONNX Runtime generate() API 的问题

安装问题

Windows Conda 导入错误

ImportError: DLL load failed while importing onnxruntime_genai: A dynamic link library (DLL) initialization routine failed.

如果您在 Windows 上的 Conda 环境中遇到此问题,您需要升级 C++ runtime for Visual Studio。在 conda 环境中,运行以下命令

conda install conda-forge::vs2015_runtime

完成此额外步骤后,onnxruntime-genai Python 包应该可以无误运行。

Windows CUDA 导入错误

DLL load failed while importing onnxruntime_genai

在 Windows 上完成 CUDA 工具包安装后,请确保已将系统环境变量 CUDA_PATH 设置为工具包的安装路径。在 Windows 上导入 onnxruntime_genai python 模块时将使用此变量。未设置或设置不正确的 CUDA_PATH 变量可能会导致 DLL load failed while importing onnxruntime_genai 错误。

Transformers / Tokenizers 与 ONNX Runtime generate() 不兼容

RuntimeError: [json.exception.type_error.302] type must be string, but is array

仅在使用 Model Builder 生成模型时发生,使用下载的模型不会发生。

HuggingFace transformers 4.45.0 版本中有一个更改,导致与 onnxruntime-genai 0.4.0 及更早版本不兼容,此问题在 0.5.0 版本中已解决。您可以使用以下两种替代方法来解决此问题

  • 选项 1:将您的 transformers 版本降级到低于 v4.45.0(上述更改引入的版本)
  • 选项 2:使用这些说明从源代码构建 onnxruntime-genai