通过ModelScope开源多模态Embedding模型进行向量天生

打印 上一主题 下一主题

主题 1657|帖子 1657|积分 4973

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

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

x
本文介绍怎样通过ModelScope魔搭社区中的多模态表征开源模型进行 多模态向量天生 ,并入库至向量检索服务DashVector中进行向量检索。
ModelScope魔搭社区旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单。
ModelScope魔搭社区的愿景是汇集行业领先的预练习模型,淘汰开发者的重复研发成本,提供更加绿色环保、开源开放的AI开发情况和模型服务,助力绿色"数字经济"事业的建设。 ModelScope魔搭社区将以开源的方式提供多类优质模型,开发者可在平台上免费体验与下载利用。
在ModelScope魔搭社区,您可以:

  • 免费利用平台提供的预练习模型,支持免费下载运行
  • 一行下令实现模型预测,简单快速验证模型效果
  • 用本身的数据对模型进行调优,定制本身的个性化模型
  • 学习系统性的知识,结合实训,有效提拔模型研发本领
  • 分享和贡献你的想法、批评与模型,让更多人认识你,在社区中成长
条件条件


  • DashVector:

    • 已创建Cluster
    • 已获得API-KEY
    • 已安装最新版SDK
    • ModelScope
    • 已安装最新版SDK:pip install -U modelscope

CLIP模型

简介

本项目为CLIP模型的中文版本,利用大规模中文数据进行练习( ~2亿图文对 ),可用于图文检索和图像、文本的表征提取,应用于搜刮、保举等应用场景。
关于CLIP模型更多信息请参考:CLIP模型
利用示例

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

  • DashVector api-key替换示例中的
  • DashVector Cluster Endpoint替换示例中的
  • 利用上表中 模型ID 替换示例中的
  • 利用上表中 向量维度 替换示例中的
Python
  1. from modelscope.utils.constant import Tasks
  2. from modelscope.pipelines import pipeline
  3. from modelscope.preprocessors.image import load_image
  4. from typing import List
  5. from dashvector import Client
  6. pipeline = pipeline(task=Tasks.multi_modal_embedding, model='{model_id}')
  7. def generate_text_embeddings(texts: List[str]):
  8.     inputs = {'text': texts}
  9.     result = pipeline.forward(input=inputs)
  10.     return result['text_embedding'].numpy()
  11. def generate_img_embeddings(img: str):
  12.     input_img = load_image(img)
  13.     inputs = {'img': input_img}
  14.     result = pipeline.forward(input=inputs)
  15.     return result['img_embedding'].numpy()[0]
  16. # 创建DashVector Client
  17. client = Client(
  18.     api_key='{your-dashvector-api-key}',
  19.     endpoint='{your-dashvector-cluster-endpoint}'
  20. )
  21. # 创建DashVector Collection
  22. rsp = client.create('CLIP-embedding', dimension={model_dim})
  23. assert rsp
  24. collection = client.get('CLIP-embedding')
  25. assert collection
  26. # 向量入库DashVector
  27. collection.insert(
  28.     [
  29.         ('ID1', generate_text_embeddings(['阿里云向量检索服务DashVector是性能、性价比具佳的向量数据库之一'])[0]),
  30.         ('ID2', generate_img_embeddings('https://clip-cn-beijing.oss-cn-beijing.aliyuncs.com/pokemon.jpeg'))
  31.     ]
  32. )
  33. # 向量检索
  34. docs = collection.query(
  35.     generate_text_embeddings(['The best vector database'])[0]
  36. )
  37. print(docs)
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

用多少眼泪才能让你相信

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