解決 Hugging Face SentenceTransformer 下載失敗的完整指南:ProxyError、SSLError與手動下載方案

問題背景

在使用 Hugging Face 的 SentenceTransformer 加載預訓練模型 all-MiniLM-L6-v2 時,遇到了以下錯誤:

  1. 代理連接失敗ProxyError / SSLError: KRB5_S_TKT_NYV
  2. 大文件下載中斷unexpected EOF while reading
  3. trust_remote_code 參數不兼容TypeError

經過多次嘗試,最終成功解決。本文將詳細記錄問題原因和解決方案,幫助遇到類似問題的開發者。


錯誤日志分析

1. 代理連接失敗(ProxyError / SSLError)

初始報錯:

urllib3.exceptions.ProxyError: ('Unable to connect to proxy', SSLError(1, '[SSL: KRB5_S_TKT_NYV] unexpected eof while reading (_ssl.c:1091)'))

原因

  • 網絡環境需要通過代理訪問 Hugging Face,但 Python 請求未正確配置代理。
  • 代理可能使用了 Kerberos 認證(KRB5_S_TKT_NYV),導致 SSL 握手失敗。

2. 大文件下載中斷(EOF Error)

在下載 model.safetensors(90.9MB)時,連接意外終止:

ssl.SSLError: [SSL: KRB5_S_TKT_NYV] unexpected eof while reading (_ssl.c:2570)

原因

  • 代理服務器不穩定,中斷了長時間連接。
  • 企業網絡可能限制大文件下載。

3. trust_remote_code 參數錯誤

TypeError: __init__() got an unexpected keyword argument 'trust_remote_code'

原因

  • trust_remote_codetransformers 庫的參數,但 SentenceTransformer 不支持。

解決方案

1. 正確配置代理

(1)如果網絡需要代理,設置環境變量:

import os
os.environ["HTTP_PROXY"] = "http://your-proxy:port"  # 替換為實際代理
os.environ["HTTPS_PROXY"] = "http://your-proxy:port"

(2)如果需要用戶名和密碼:

os.environ["HTTP_PROXY"] = "http://username:password@proxy-ip:port"

(3) 如何從電腦查找代理的IP地址和端口號呢?
在這里插入圖片描述

2. 臨時禁用 SSL 驗證(僅調試)

如果代理證書不受信任,可臨時關閉 SSL 驗證:

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

注意:生產環境不建議這樣做,可能存在安全風險。

3. 手動下載模型

如果代理不穩定,最佳方案是手動下載:

  1. 訪問模型頁面
    (1) all-MinLM-L6-v2
    or
    (2) all-MiniLM-L6-v2 · Hugging Face

  2. 下載文件

  3. 保存到本地目錄,如 ./local_model/

  4. 從本地加載模型

    model = SentenceTransformer("./local_model")
    

4. 調整超時和重試(可選)

如果網絡較差,可以增加超時時間:

from sentence_transformers import SentenceTransformer
import requestssession = requests.Session()
session.timeout = 120  # 2分鐘超時
model = SentenceTransformer("all-MiniLM-L6-v2", request_session=session)

最終代碼示例

import os
from sentence_transformers import SentenceTransformer# 1. 設置代理(如果需要)
os.environ["HTTP_PROXY"] = "http://your-proxy:port"
os.environ["HTTPS_PROXY"] = "http://your-proxy:port"# 2. 方式1:直接在線下載(可能仍受網絡影響)
try:model = SentenceTransformer("all-MiniLM-L6-v2")
except Exception as e:print("在線下載失敗,改用本地模型:", e)# 3. 方式2:手動下載后從本地加載model = SentenceTransformer("./local_model")print("模型加載成功!")

總結

在這里插入圖片描述

問題解決方案
代理連接失敗設置 HTTP_PROXY / HTTPS_PROXY
SSL 證書錯誤臨時禁用 SSL 驗證(僅調試)
大文件下載中斷手動下載模型并本地加載
trust_remote_code 錯誤該參數不適用于 SentenceTransformer

推薦方案
? 優先手動下載模型,避免代理問題。
? 如果必須在線下載,確保代理配置正確并增加超時時間。

希望這篇指南能幫助你順利加載 Hugging Face 模型!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/75917.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/75917.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/75917.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL——DQL的單表查詢

1、查詢表中所有的字段(列) 語法:select * from 表名; * 是通配符,用來表示所有的字段(列)。 select 表示查詢哪些列。 from 表示從哪張表中查詢。 2、查詢表中指定的字段 語法:select 列…

開源RuoYi AI助手平臺的未來趨勢

近年來,人工智能技術的迅猛發展已經深刻地改變了我們的生活和工作方式。 無論是海外的GPT、Claude等國際知名AI助手,還是國內的DeepSeek、Kimi、Qwen等本土化解決方案,都為用戶提供了前所未有的便利。然而,對于那些希望構建屬于自…

[WUSTCTF2020]CV Maker1

進來是個華麗的界面,我們先跟隨這個網頁創造一個用戶 發現了一個上傳端口,嘗試上傳一個php文件并抓包 直接上傳進不去,加個GIF89A uploads/d41d8cd98f00b204e9800998ecf8427e.php 傳入 并且報告了 上傳路徑,然后使用蟻劍連接

Spring 中的 IOC

🌱 一、什么是 IOC? 📖 定義(通俗理解): IOC(Inversion of Control,控制反轉) 是一種設計思想:對象不再由你自己創建和管理,而是交給 Spring 容器…

Vue2-實現elementUI的select全選功能

文章目錄 使用 Element UI 的全選功能自定義選項來模擬全選 在使用 Element UI 的 el-select組件時,實現“全選”功能,通常有兩種方式:一種是使用內置的全選功能,另一種是通過自定義選項來模擬全選。 使用 Element UI 的全選功能…

小菜Go:Ubuntu下Go語言開發環境搭建

前置要求Ubuntu環境搭建 文章推薦 此處推薦一個比較好的文章,基本按部就班就歐克~ 安裝虛擬機(VMware)保姆級教程(附安裝包)_vmware虛擬機-CSDN博客 安裝可能遇到的問題 虛擬機安裝遇到的問題如:Exception…

安卓中app_process運行報錯Aborted,怎么查看具體的報錯日志

我在pc端生成了一個jar包,可以正常執行,但是導入到安卓的/data/local/tmp下面執行就會報錯 執行命令如下: adb shell cd /data/local/tmp app_process -Djava.class.path/data/local/tmp/demo.jar /data/local/tmp com.example.demo.Hello然…

Python 面向對象 - 依賴倒置原則 (DIP)

1. 核心概念 依賴倒置原則(Dependency Inversion Principle, DIP) 是SOLID原則中的"D",包含兩個關鍵點: 高層模塊不應依賴低層模塊,二者都應依賴抽象抽象不應依賴細節,細節應依賴抽象 2. 使用場景 典型應用場景 系…

centos7 yum install docker 安裝錯誤

1、錯誤信息: [rootlocalhost atguigu]# yum install docker 已加載插件:fastestmirror, langpacks Repository base is listed more than once in the configuration Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http:…

【Gorm】模型定義

intro package mainimport ("gorm.io/gorm""gorm.io/driver/sqlite" // GORM 使用該驅動來連接和操作 SQLite 數據庫。 )type Product struct {gorm.Model // 嵌入GORM 內置的模型結構,包含 ID、CreatedAt、UpdatedAt、DeletedAt 四個字段Cod…

R語言從專家到小白

文章目錄 下載安裝R下載安裝R StudioCRAN 下載安裝R Index of /bin https://cran.r-project.org/ 下載安裝R Studio https://posit.co/download/rstudio-desktop/ CRAN R綜合檔案網絡。 CRAN 鏡像是一個提供 R 語言軟件和包的在線服務,用戶可以從不同的地區選擇…

Java的Selenium的特殊元素操作與定位之時間日期控件

分為兩種情況: 控件沒有限制手動輸入,則直接調用sendKeys方法寫入時間數據 //時間日期控件處理 chromeDriver.get ("https://www,fliggy,com/?ttidsem.000000736&hlreferidbaidu.082076&route sourceseo"); chromeDriver.findElement (By.xpat…

38常用控件_QWidget的enable屬性(2)

實現用另一個按鈕切換之前按鈕的“可用”狀態 在同一個界面中,要求不同的控件的 objectName 也是必須不同的.(不能重復) 后續就可以通過 ui->objectName 方式來獲取到對應的控件對象了 ui->pushButton // 得到了第一個按鈕對應的對象 ui->pushButton 2 //…

【Linux學習筆記】初識進程概念和進程PCB

【Linux學習筆記】初識馮諾依曼體系和進程PCB 🔥個人主頁:大白的編程日記 🔥專欄:Linux學習筆記 文章目錄 【Linux學習筆記】初識馮諾依曼體系和進程PCB前言一. 馮諾依曼體系結構1.1 關于馮諾依曼體系的要點: 二. 操…

7.3 主成分分析(PCA)

一、協方差矩陣 這節是介紹 SVD 在統計和數據分析中的一個主要應用,即主成分分析。例子來自于人類的基因組,臉部識別和金融,目的是理解一個大的數據矩陣(測量值)。對于 n n n 個樣本,我們每個測量 m m m…

anaconda安裝使用+pytorch環境配置(cpu)+pycharm環境配置(詳細教程)

一、anaconda下載 1.anaconda官網嘗試下載: 官網網址:Anaconda | Built to Advance Open Source AI 1.進入官網 2.點擊Products->Distribution,跳過注冊進入下載頁面 3.選擇系統下載 2.清華鏡像下載 1.網址:Index of /anac…

Unity3D仿星露谷物語開發34之單擊Drop項目

1、目標 當在道具欄中選中一個Item時,點擊地面就可以實現Item的drop操作,每點擊一次就drop一次,直到道具欄中Item數量不夠。 這樣的好處:避免每次Drop都從道具欄中拖拉Item,通過點擊這種操作可以更加高效。 方法&am…

java 正則表達式優化

1,什么是正則表達式 正則表達式使用一些特定的元字符來檢索、匹配以及替換符合規則的字符串。 構造正則表達式語法的元字符,由普通字符、標準字符、限定字符(量詞)、定位字符(邊界字符)組成 普通字符 字母[…

檢測鏈表是否有環, 動畫演示, Floyd判圈算法擴展應用

力扣原題鏈接: 141. 環形鏈表 - 力扣(LeetCode) 哈希表 檢測環形鏈表, 直觀的思路就是使用哈希表, 遍歷這個鏈表, 將訪問過的節點加入到哈希表中, 如果遍歷過程中發現節點已經存在于哈希表中, 則說明鏈表有環. 復雜度分析: 時間復雜度: O(N), 最壞情…

linux專題3-----linux上鏈接遠程mysql

要在 Ubuntu 上連接遠程 MySQL 數據庫,你可以使用 MySQL 客戶端工具或者其他數據庫管理工具,如 phpMyAdmin 或 MySQL Workbench。以下是使用 MySQL 命令行工具連接遠程 MySQL 的步驟: 確保已安裝 MySQL 客戶端 首先,確保你的 Ub…