解决Sentence Transformers中all-minilm-l6-v2等模型下载问题

今天和大家分享一下如何解决Sentence Transformers中all-minilm-l6-v2等模型下载及使用的问题。在使用SentenceTransformers文本嵌入模型进行文本嵌入,完成计算语义相似度,语义搜索等任务时。常常会报这个错误:SSLError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /api/models/sentence-transformers/all-MiniLM-L6-v2......

from sentence_transformers import SentenceTransformer
embedding_model = SentenctTransformer('all-MiniLM-L6-v2')

即使我们使用了魔法,这个错误依然解决不掉。所以今天和大家分享一种手动下载的方法。

1. 有魔法

直接进入huggingface.co官网下载到本地,以all-MiniLM-L6-v2模型为例。去官网sentence-transformers/all-MiniLM-L6-v2 · Hugging Face 挨个下载到本地。

进入网站以后点击Files and versions,然后如下图所示进行下载。

下载路径存到自己习惯的地方,便于在代码中去调用。例如现在要使用下载到本地的all-MiniLM-L6-v2模型,只需要把最开始的代码修改如下:

from sentence_transformers import SentenceTransformer
embedding_model = SentenceTransformer('D:/notebook/BERTopic/all-MiniLM-L6-v2')

'D:/notebook/BERTopic/all-MiniLM-L6-v2'是我下载all-MiniLM-L6-v2模型保存的路径。各位小伙伴们更换成自己的就行。

一定会有许多小伙伴觉得一个一个下载太麻烦了,就不能一次性下载或者自动下载吗?当然有,大家可以去参考这一篇:sentence_transformers模型无法直接下载的解决方案_all-minilm-l6-v2-CSDN博客

但是,在我实践时,参考上述博客也出现了无法下载的情况,所以这里给大家介绍第二种方法,非常方便快捷!!

2. 无魔法

有些小伙伴可能是根本没有魔法的,或者用起来网速很慢的。这里给大家推荐一个网站Index of /reimers/sentence-transformers/v0.2/ (tu-darmstadt.de)在这个网站无需魔法、更不用一个一个下载,直接下载即可,也是我个人非常推荐的一种方式。

进入网站如下图所示:

小伙伴们可以按需进行下载,如果找不到再考虑使用第一种方法去官网下载。

以梦为码,编译天下,这次的分享就到这里啦!感谢大家阅读,祝愿各位小伙伴们bug退!退!退!

`sentence-transformers/all-MiniLM-L6-v2` 是一个预训练的Transformer模型,由Hugging Face的Transformers库提供,用于处理文本相似度任务。这个模型特别适合于像问答匹配和推荐这样的自然语言处理应用,因为它已经被训练过在大规模文本数据上,能捕捉到句子之间的语义关系。 要使用这个模型进行问答匹配和推荐,你可以按照以下步骤操作: 1. **安装依赖**: 首先确保你已经安装了 `transformers` 库,如果没有,可以通过 pip 安装: ``` pip install transformers ``` 2. **加载模型**: 使用 `SentenceTransformer` 类加载 `all-MiniLM-L6-v2` 模型: ```python from sentence_transformers import SentenceTransformer model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2') ``` 3. **编码查询和候选答案**: 对于每个待比较的问题(查询)和可能的答案,调用 `model.encode()` 方法将其转换为数值表示: ```python query_embedding = model.encode(query) candidate_embedding = model.encode(candidate) ``` 4. **计算相似度**: 使用余弦相似度或其他相似度度量(如 `cosine_similarity` 或 `model.pairwise_similarities`)来计算它们之间的相似度分数: ```python similarity_score = cosine_similarity([query_embedding], [candidate_embedding])[0][0] ``` 5. **评估和决策**: 根据相似度得分,你可以确定哪个答案最匹配查询。例如,对于问答匹配,最高得分对应正确答案;对于推荐,可以根据得分排序选择最相关的选项。 ```python # 示例问答匹配 best_answer_index = np.argmax(similarity_score) best_answer = answer_list[best_answer_index] # 示例推荐 top_k_recommendations = sorted(range(len(candidate_embedding)), key=lambda i: similarity_score[i])[-k:] ``` 记得根据实际需求调整 `k` 的值,这代表推荐的前 k 个最相似的项。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值