如何将文本转换为向量?(方法二)

news/2024/9/13 11:09:31/文章来源:https://www.cnblogs.com/DashVector/p/18291347

 

文本转换为向量有多种方式:

方法一:通过模型服务灵积DashScope将文本转换为向量(推荐)

方法二:通过ModelScope魔搭社区中的文本向量开源模型将文本转换为向量

方法三:通过Jina Embeddings v2模型将文本转换为向量

方法四:通过百川智能向量化模型将文本转换为向量

 

本文介绍方法二:如何通过ModelScope魔搭社区中的文本向量开源模型文本转换为向量,并入库至向量检索服务DashVector中进行向量检索。

ModelScope魔搭社区旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单。

 

ModelScope魔搭社区的愿景是汇集行业领先的预训练模型,减少开发者的重复研发成本,提供更加绿色环保、开源开放的AI开发环境和模型服务,助力绿色“数字经济”事业的建设。 ModelScope魔搭社区将以开源的方式提供多类优质模型,开发者可在平台上免费体验与下载使用。

 

在ModelScope魔搭社区,您可以:

  • 免费使用平台提供的预训练模型,支持免费下载运行

  • 一行命令实现模型预测,简单快速验证模型效果

  • 用自己的数据对模型进行调优,定制自己的个性化模型

  • 学习系统性的知识,结合实训,有效提升模型研发能力

  • 分享和贡献你的想法、评论与模型,让更多人认识你,在社区中成长

 

前提条件

  • DashVector:

    • 已创建Cluster:创建Cluster

    • 已获得API-KEY:API-KEY管理

    • 已安装最新版SDK:安装DashVector SDK

  • ModelScope:

    • 已安装最新版SDK:pip install -U modelscope

 

CoROM文本向量

简介

模型ID

向量维度

度量方式

向量数据类型

备注

damo/nlp_corom_sentence-embedding_chinese-base

768

Cosine

Float32

  • 中文-通用领域-base

  • 最长文本长度:512

damo/nlp_corom_sentence-embedding_english-base

768

Cosine

Float32

  • 英文-通用领域-base

  • 最长文本长度:512

damo/nlp_corom_sentence-embedding_chinese-base-ecom

768

Cosine

Float32

  • 中文-电商领域-base

  • 最长文本长度:512

damo/nlp_corom_sentence-embedding_chinese-base-medical

768

Cosine

Float32

  • 中文-医疗领域-base

  • 最长文本长度:512

damo/nlp_corom_sentence-embedding_chinese-tiny

256

Cosine

Float32

  • 中文-通用领域-tiny

  • 最长文本长度:512

damo/nlp_corom_sentence-embedding_english-tiny

256

Cosine

Float32

  • 英文-通用领域-tiny

  • 最长文本长度:512

damo/nlp_corom_sentence-embedding_chinese-tiny-ecom

256

Cosine

Float32

  • 中文-电商领域-tiny

  • 最长文本长度:512

damo/nlp_corom_sentence-embedding_chinese-tiny-medical

256

Cosine

Float32

  • 中文-医疗领域-tiny

  • 最长文本长度:512

说明

关于CoROM文本向量模型更多信息请参考:CoROM文本向量

 

使用示例

说明

需要进行如下替换代码才能正常运行:

  1. DashVector api-key替换示例中的{your-dashvector-api-key}

  2. DashVector Cluster Endpoint替换示例中的{your-dashvector-cluster-endpoint}

  3. 使用上表中模型ID替换示例中的{model_id}

  4. 需注意,若所使用的模型若为tiny模型,则向量维度为256

Python示例:

from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
from typing import List
from dashvector import Clientpipeline_se = pipeline(Tasks.sentence_embedding, model='{model_id}')def generate_embeddings(texts: List[str]):inputs = {'source_sentence': texts}result = pipeline_se(input=inputs)return result['text_embedding']########### 以下为通用示例:向量入库DashVector和向量检索代码参考###########
# 创建DashVector Client
client = Client(api_key='{your-dashvector-api-key}',endpoint='{your-dashvector-cluster-endpoint}'
)# 创建DashVector Collection
# 注意:需根据模型对应向量维度调整dimension参数
rsp = client.create('CoROM-text-embedding', dimension=768)
assert rsp
collection = client.get('CoROM-text-embedding')
assert collection# 向量入库DashVector
collection.insert(('ID1', generate_embeddings(['阿里云向量检索服务DashVector是性能、性价比具佳的向量数据库之一'])[0])
)# 向量检索
docs = collection.query(generate_embeddings(['The best vector database'])[0]
)
print(docs)

 

GTE文本向量

简介

模型ID

向量维度

度量方式

向量数据类型

备注

damo/nlp_gte_sentence-embedding_chinese-base

768

Cosine

Float32

  • 中文-通用领域-base

  • 最长文本长度:512

damo/nlp_gte_sentence-embedding_chinese-large

768

Cosine

Float32

  • 中文-通用领域-large

  • 最长文本长度:512

damo/nlp_gte_sentence-embedding_chinese-small

512

Cosine

Float32

  • 中文-通用领域-small

  • 最长文本长度:512

damo/nlp_gte_sentence-embedding_english-base

768

Cosine

Float32

  • 英文-通用领域-base

  • 最长文本长度:512

damo/nlp_gte_sentence-embedding_english-large

768

Cosine

Float32

  • 英文-通用领域-large

  • 最长文本长度:512

damo/nlp_gte_sentence-embedding_english-small

384

Cosine

Float32

  • 英文-通用领域-small

  • 最长文本长度:512

说明

关于GTE文本向量模型更多信息请参考:GTE文本向量

 

使用示例

本模型使用示例同CoROM文本向量-使用示例,进行相应模型ID向量维度替换即可运行。

 

Udever 多语言通用文本表示模型

简介

模型ID

向量维度

度量方式

向量数据类型

备注

damo/udever-bloom-560m

1024

Cosine

Float32

  • 模型参数:560m

  • 最长文本长度:2048

damo/udever-bloom-1b1

1536

Cosine

Float32

  • 模型参数:1b1

  • 最长文本长度:2048

damo/udever-bloom-3b

2048

Cosine

Float32

  • 模型参数:3b

  • 最长文本长度:2048

damo/udever-bloom-7b1

4096

Cosine

Float32

  • 模型参数:7b1

  • 最长文本长度:2048

说明

关于Udever 多语言通用文本表示模型更多信息请参考:Udever 多语言通用文本表示模型

 

使用示例

本模型使用示例同CoROM文本向量-使用示例,进行相应模型ID向量维度替换即可运行。

 

StructBERT FAQ问答

简介

模型ID

向量维度

度量方式

向量数据类型

备注

damo/nlp_structbert_faq-question-answering_chinese-base

768

Cosine

Float32

  • 中文-通用领域-base

  • 最长文本长度:不限制

damo/nlp_structbert_faq-question-answering_chinese-finance-base

768

Cosine

Float32

  • 中文-金融领域-base

  • 最长文本长度:不限制

damo/nlp_structbert_faq-question-answering_chinese-gov-base

768

Cosine

Float32

  • 中文-政务领域-base

  • 最长文本长度:不限制

说明

关于StructBERT FAQ问答模型更多信息请参考:StructBERT FAQ问答

 

使用示例

说明

需要进行如下替换代码才能正常运行:

  1. 使用上表中模型ID替换示例中的{model_id}

from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
from typing import Listpipeline = pipeline(Tasks.faq_question_answering, model='{model_id}')def generate_embeddings(texts: List[str], max_len=30):return pipeline.get_sentence_embedding(texts)

说明

本示例中,向量入库DashVector和向量检索代码,参考CoROM文本向量-使用示例中的通用示例部分


更多文本向量模型

模型名称

模型ID

向量维度

度量方式

向量数据类型

备注

Bert实体向量-中文-通用领域-base

damo/nlp_bert_entity-embedding_chinese-base

768

Cosine

Float32

  • 默认最长文本长度:128

  • 详情

英文文本向量表示模型-TextRetrieval

damo/nlp_minilm_ibkd_sentence-embedding_english-msmarco

384

Cosine

Float32

  • 默认最长文本长度:128

  • 详情

英文文本向量表示模型MiniLM-IBKD-STS

damo/nlp_minilm_ibkd_sentence-embedding_english-sts

384

Cosine

Float32

  • 默认最长文本长度:128

  • 详情

text2vec-base-chinese

thomas/text2vec-base-chinese

768

Cosine

Float32

  • 默认最长文本长度:未知

  • 详情

text2vec-large-chinese

thomas/text2vec-large-chinese

1024

Cosine

Float32

  • 默认最长文本长度:未知

  • 详情

说明

  1. 列表中模型示例同CoROM文本向量-使用示例,进行相应模型ID向量维度替换即可运行

  2. 更多ModelScope社区中的开源文本向量模型在本文中不再一一列举,更多文本向量模型待您探索、发现和共建,点击进入

     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/744721.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024-07-16 代码高亮插件highlight.js安装使用以及排错日志

highlight.js —— 一个开源语法高亮库,用于在网页上对源代码进行语法高亮显示。 安装npm i highlight.js yarn add highlight.js引入// main.js import { createApp } from vue; import App from "./App.vue"; import hljs from "highlight.js"; // 代码…

安装python方法在Windows环境

一、下载安装包 ​ 下载地址: ​ https://www.python.org/downloads/ ​ 安装注意勾选:​ 注:安装位置可用默认C盘。 二、更改国内源 ​ 更改配置文件:如没有文件创建文件。 ​ 位置:"C:\Users\32974\AppData\Roaming\pip\pip.ini" ​ 添加内容:一条源。 […

520-基于ZU15EG 适配AWR2243的雷达验证底板 XCZU15EG架构高速信号处理板

基于ZU15EG 适配AWR2243的雷达验证底板 一、板卡概述 本板卡系我司自主研发,基于MPSOC系列SOC XCZU15EG-FFVB1156架构,搭载两组64-bit DDR4,每组容量32Gb,最高可稳定运行在2400MT/s。另有1路10G SFP+光纤接口、1路40G QSFP光纤接口、1路USB3.0接口、1路千兆网络接口、1路DP…

SMU Summer 2024 Contest Round 4

SMU Summer 2024 Contest Round 4 Made Up 题意 给你三个序列 \(A,B,C\) ,问你满足 \(A_i = B_{C_j}\) 的 \((i,j)\) 对有多少。 思路 由于 \(1\le A_i,B_i,C_i\le N\) ,所以可以统计 \(Cnt[A_i]\) 和 \(Cnt[B_{C_i}]\) 的个数,两者相乘累加即可。 代码 #include<bits/…

软件设计师

软考官网:http://www.ruankao.org.cn/最近公司提出如果有软件设计师或者系统架构师证(中级、高级)能加一定薪资,所以小鸟~ 最近攻关中级证中,有点空闲顺便整理下相关资料,造福下别人。报考时间2020年,上半年受疫情影响,4月考试调整到下半年11月7、8一起考试,相关报考时…

Autobots应用探索:实践中的思考与发现

背景 背景1:作为一名测试,日常工作中必不可少的几个环节是查看需求文档、编写测试用例、处理线上问题、能力提升等,基于集团的https://xxx.jd.com/工具能一次性帮我们把这些事情都做了; 背景2:作为XXX共建项目的成员之一同时也是第一批用户,我用它做了几个测试实践,和大…

从校招新星到前端技术专家的成长之路

引言 我在2018年校招进入京东,主要负责广告投放系统的前端工作。在京东,这一路走来,我经历了多种角色转换,我从学生到职场人,从校招生到校招导师,从初级前端开发到前端技术专家,也见证了京东广告业务的蓬勃发展。 回顾过去的成长历程,我心中充满了感慨。首先,我要衷心…

达梦数据库DM8-DCP认证专家培训视频

一、介绍 达梦数据库(DMDB)是由中国自主研发的数据库管理系统,它是一款拥有完全自主知识产权的大型关系数据库。达梦数据库支持企业级应用,能够满足不同规模数据处理的需求,尤其在处理大规模数据、高并发访问和高可用性方面表现突出。它兼容国际主流数据库的标准,同时提供…

回溯-排列型

利用哈希表class Solution:def permute(self, nums: List[int]) -> List[List[int]]:ans = []path = []n = len(nums)def dfs(i, s):if i==n:ans.append(path[:])returnfor x in s:path.append(x)dfs(i+1, s-{x})path.pop()dfs(0, set(nums))return ans利用访问数组class So…

Cilium Gateway API 特性(转载)

Cilium Gateway API 特性Cilium Gateway API 特性(转载) 一、环境信息主机 IPubuntu 10.0.0.234软件 版本docker 26.1.4helm v3.15.0-rc.2kind 0.18.0kubernetes 1.23.4ubuntu os Ubuntu 22.04.6 LTSkernel 5.15.0-106二、Cilium Gateway API 流程图Cilium 现在提供完全一致…

Java中的泛型(很细)

非常好,让我们深入探讨Java中的泛型这个重要主题。我将按照之前提供的框架,为您创作一篇全面而专业的技术博客文章。 引言 在Java编程世界中,泛型(Generics)是一个革命性的特性,它彻底改变了我们编写和组织代码的方式。自Java 5引入以来,泛型已成为Java语言不可或缺的一…

祝贺小鹏汽车Gallardot同学成为Apache DolphinScheduler Committer!

社区迎来新committer!这次是来自小鹏汽车的Gallardot,看看他与Apache DolphinScheduler社区的故事吧。对话社区 Q1:您为Apache DolphinScheduler社区提交过哪些贡献(包括代码和非代码)?请具体描述您的贡献。 A: 我主要专注于提升Apache DolphinScheduler在云原生 Kuberne…