text2vec-large-chinese 模型 -- 部署及推理

news/2024/11/15 13:41:04/

魔搭下载地址https://www.modelscope.cn/models/Jerry0/text2vec-large-chinese

1. 推理代码

from sentence_transformers import SentenceTransformer
import torch
import numpy as np
from scipy.spatial.distance import cosinedevice = torch.device("cuda")# 加载模型
model = SentenceTransformer('/home/sky/model_data/text2vec-large-chinese').to(device)# 定义一些句子
sentences = ['这是一个美好的一天。','我喜欢在公园里散步。','明天会更好。',
]# 生成句子嵌入
embeddings = model.encode(sentences, convert_to_tensor=True, device=device)# 将张量转换回numpy数组以便打印
embeddings_np = [emb.cpu().numpy() for emb in embeddings]# 打印每个句子的向量表示
for sentence, embedding in zip(sentences, embeddings_np):print(f"句子: {sentence}")print(f"嵌入: {embedding[:10]}... (仅显示前10个元素)")print()# 目标字符串
target_sentence = '今天的天气真好。'# 生成目标字符串的嵌入
target_embedding = model.encode([target_sentence], convert_to_tensor=True, device=device)[0].cpu().numpy()# 计算相似度
similarities = [1 - cosine(target_embedding, emb) for emb in embeddings_np]  # 余弦相似度# 找到最匹配的句子
most_similar_index = np.argmax(similarities)
most_similar_sentence = sentences[most_similar_index]
most_similar_score = similarities[most_similar_index]print(f"最匹配的句子: {most_similar_sentence}")
print(f"相似度得分: {most_similar_score:.4f}")


http://www.ppmy.cn/news/1547212.html

相关文章

NeurIPS2024论文分享┆HyperPrism:一种针对非独立同分布数据和时变通信链路的分布式机器学习自适应非线性聚合框架

简介 本推文详细介绍了上海电力大学杜海舟教授团队发表在人工智能顶级学术会议NeurIPS 2024上的最新研究成果《HyperPrism: An Adaptive Non-linear Aggregation Framework for Distributed Machine Learning over Non-IID Data and Time-varying Communication Links》&#…

《硬件架构的艺术》笔记(一):亚稳态

同步系统中如果数据和时钟满足建立保持时间的要求,不会发生亚稳态(meastable)。 异步系统中数据和时钟关系不固定,可能违反建立保持时间,就会输出介于两个有效状态之间的中间级电平,且无法确定停留在中间状…

Spring Boot框架:网上商城开发新选择

2 相关技术 2.1 SpringBoot框架介绍 Spring Boot是一种不需要代码生成的一种框架,并且可以不需要配置任何的XML文件就可以,因为Spring Boot里面自带了很多接口,只需要配置不同的接口就会自动的应用并且识别需要的依赖,在配置方面非…

node.js实现批量修改git项目的数据源

在项目开发过程中,大型项目会分块,每一块都会拥有一个git地址,当想切换git地址的域名时,如果手动一个一个去修改对我们来说费时费力的事情,如果能有一个脚本,一次性批量修改,可以给大家节省很多…

Vuex vs Pinia:新一代Vue状态管理方案对比

引言 随着Vue生态系统的不断发展,状态管理已经成为现代Vue应用程序中不可或缺的一部分。Vuex作为Vue官方的状态管理方案,一直是开发者的首选。然而,随着Pinia的出现,为Vue开发者带来了新的选择。本文将深入对比这两个状态管理方案…

从前端react动画引发到计算机底层的思考

一、react 项目 中 数字从0增加到30000,变化动画效果 在 React 中实现数字从 0 增加到 30000 的动画效果,常见的方法是使用 requestAnimationFrame 或者使用 setInterval 来实现递增动画。结合 React 的 state 来更新数字的值,然后在组件中渲…

使用 AMD GPU 上的 Whisper 进行语音转文字

Speech-to-Text on an AMD GPU with Whisper — ROCm Blogs 2024年4月16日,作者:Clint Greene. 介绍 Whisper是由 OpenAI 开发的高级自动语音识别(ASR)系统。它采用了一个简单的编码器-解码器 Transformer 架构,其中…

windows C#-LINQ查询

查询是一种从数据源检索数据的表达式。 不同的数据源具有不同的原生查询语言,例如,用于关系数据库的 SQL 和用于 XML 的 XQuery。 开发人员对于他们必须支持的每种数据源或数据格式,都必须学习一种新的查询语言。 LINQ 通过为各种数据源和数据…