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

打印 上一主题 下一主题

主题 1800|帖子 1800|积分 5400

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x

 
文本转换为向量有多种方式:
方法一:通过模子服务灵积DashScope将文本转换为向量(推荐)
方法二:通过ModelScope魔搭社区中的文本向量开源模子将文本转换为向量
方法三:通过Jina Embeddings v2模子将文本转换为向量
方法四:通过百川智能向量化模子将文本转换为向量
 
本文介绍方法二:如何通过ModelScope魔搭社区中的文本向量开源模子文本转换为向量,并入库至向量检索服务DashVector中进行向量检索。
ModelScope魔搭社区旨在打造下一代开源的模子即服务共享平台,为泛AI开发者提供机动、易用、低成本的一站式模子服务产物,让模子应用更简单。
 
ModelScope魔搭社区的愿景是汇集行业领先的预训练模子,减少开发者的重复研发成本,提供更加绿色环保、开源开放的AI开发环境和模子服务,助力绿色“数字经济”奇迹的建设。 ModelScope魔搭社区将以开源的方式提供多类优质模子,开发者可在平台上免费体验与下载使用。
 
在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文本向量
 
使用示例

说明
必要进行如下替换代码才气正常运行:

  • DashVector api-key替换示例中的{your-dashvector-api-key}
  • DashVector Cluster Endpoint替换示例中的{your-dashvector-cluster-endpoint}
  • 使用上表中模子ID替换示例中的{model_id}
  • 需注意,若所使用的模子若为tiny模子,则向量维度为256
Python示例:
  1. from modelscope.pipelines import pipeline
  2. from modelscope.utils.constant import Tasks
  3. from typing import List
  4. from dashvector import Client
  5. pipeline_se = pipeline(Tasks.sentence_embedding, model='{model_id}')
  6. def generate_embeddings(texts: List[str]):
  7.     inputs = {'source_sentence': texts}
  8.     result = pipeline_se(input=inputs)
  9.     return result['text_embedding']
  10. ########### 以下为通用示例:向量入库DashVector和向量检索代码参考###########
  11. # 创建DashVector Client
  12. client = Client(
  13.     api_key='{your-dashvector-api-key}',
  14.     endpoint='{your-dashvector-cluster-endpoint}'
  15. )
  16. # 创建DashVector Collection
  17. # 注意:需根据模型对应向量维度调整dimension参数
  18. rsp = client.create('CoROM-text-embedding', dimension=768)
  19. assert rsp
  20. collection = client.get('CoROM-text-embedding')
  21. assert collection
  22. # 向量入库DashVector
  23. collection.insert(
  24.     ('ID1', generate_embeddings(['阿里云向量检索服务DashVector是性能、性价比具佳的向量数据库之一'])[0])
  25. )
  26. # 向量检索
  27. docs = collection.query(
  28.     generate_embeddings(['The best vector database'])[0]
  29. )
  30. 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问答
 
使用示例

说明
必要进行如下替换代码才气正常运行:

  • 使用上表中模子ID替换示例中的{model_id}
  1. from modelscope.pipelines import pipeline
  2. from modelscope.utils.constant import Tasks
  3. from typing import List
  4. pipeline = pipeline(Tasks.faq_question_answering, model='{model_id}')
  5. def generate_embeddings(texts: List[str], max_len=30):
  6.     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


  • 默认最长文本长度:未知
  • 详情
说明

  • 列表中模子示例同CoROM文本向量-使用示例,进行相应模子ID向量维度替换即可运行
  • 更多ModelScope社区中的开源文本向量模子在本文中不再逐一列举,更多文本向量模子待您探索、发现和共建,点击进入
     


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊雷无声

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表