通过DashScope API调用将多种模态转换为向量

news/2024/9/24 13:26:14

本文介绍如何通过模型服务灵积DashScope进行 多模态向量生成 ,并入库至向量检索服务DashVector中进行向量检索。

模型服务灵积DashScope,通过灵活、易用的模型API服务,让各种模态模型的能力,都能方便的为AI开发者所用。通过灵积API,开发者不仅可以直接集成大模型的强大能力,也可以对模型进行训练微调,实现模型定制化。

前提条件

  • DashVector:

    • 已创建Cluster
    • 已获得API-KEY
    • 已安装最新版SDK
    • 已开通服务并获得API-KEY
    • 已安装最新版SDK

ONE-PEACE多模态向量表征

简介

ONE-PEAC是一个 图文音三模态 通用表征模型,在语义分割、音文检索、音频分类和视觉定位几个任务都达到了新SOTA表现,在视频分类、图像分类、图文检索、以及多模态经典benchmark也都取得了比较领先的结果。

说明

关于灵积ONE-PEACE多模态向量表征更多信息请参考:ONE-PEACE多模态向量表征。

使用示例

说明

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

  1. DashVector api-key替换示例中的

  2. DashVector Cluster Endpoint替换示例中的

  3. DashScope api-key替换示例中的

Python

import dashscope
from dashscope import MultiModalEmbedding
from dashvector import Clientdashscope.api_key = '{your-dashscope-api-key}'# 调用DashScope ONE-PEACE模型,将各种模态素材embedding为向量
def generate_embeddings(text: str = None, image: str = None, audio: str = None):input = []if text:input.append({'text': text})if image:input.append({'image': image})if audio:input.append({'audio': audio})result = MultiModalEmbedding.call(model=MultiModalEmbedding.Models.multimodal_embedding_one_peace_v1,input=input,auto_truncation=True)if result.status_code != 200:raise Exception(f"ONE-PEACE failed to generate embedding of {input}, result: {result}")return result.output["embedding"]# 创建DashVector Client
client = Client(api_key='{your-dashvector-api-key}',endpoint='{your-dashvector-cluster-endpoint}'
)# 创建DashVector Collection
rsp = client.create('one-peace-embedding', 1536)
assert rsp
collection = client.get('one-peace-embedding')
assert collection# 向量入库DashVector
collection.insert([('ID1', generate_embeddings(text='阿里云向量检索服务DashVector是性能、性价比具佳的向量数据库之一')),('ID2', generate_embeddings(image='https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png')),('ID3', generate_embeddings(audio='https://dashscope.oss-cn-beijing.aliyuncs.com/audios/cow.flac')),('ID4', generate_embeddings(text='阿里云向量检索服务DashVector是性能、性价比具佳的向量数据库之一',image='https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png',audio='https://dashscope.oss-cn-beijing.aliyuncs.com/audios/cow.flac'))]
)# 向量检索
docs = collection.query(generate_embeddings(text='The best vector database')
)
print(docs)

相关最佳实践

  • DashVector + DashScope升级多模态检索

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Gitee

Git 分布式版本控制工具 课程内容Git概述 Git代码托管服务 Git常用命令 在IDEA中使用Git1. 前言 1.1 什么是Git Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。 在IDEA开发工具中可以集成Git…

跨境电商需要用到的电商API接入详解(淘宝京东拼多多1688API接口)

随着电子商务的快速发展,跨境电商已经成为越来越多企业的选择。在跨境电商的业务流程中,电商API发挥着至关重要的作用。本文将详细介绍跨境电商需要用到的电商API,包括商品信息、商品类目信息、店铺信息、交易明细信息、商品管理、评价信息、店铺用户信息等。**一、商品信息…

通义灵码最全使用指南,一键收藏

通义灵码,作为智能编码助手,可以在你进行编码工作时,为你提供行级/函数级实时续写、注释生成代码、单元测试生成、代码优化、注释生成、代码解释、研发智能问答、代码问题修复等辅助编码工作的功能。通义灵码,作为智能编码助手,可以在你进行编码工作时,为你提供行级/函数…

opencv - 2 - 核心操作

一、图像的基本操作 1、访问像素值并修改它们 当成一个三维数组访问即可 import cv2 as cv import numpy as npimg = cv.imread("img/1.png") oneElement = img[100,100] print(oneElement) # 会得到[51 35 2] oneElementColor = img[100,100,0] print(oneElementCo…

结构开发笔记(七):solidworks软件(六):装配摄像头、摄像头座以及螺丝,完成摄像头结构示意图

前言摄像头装配机械机构动作,本篇就将之前的摄像头模块,摄像头底座和螺丝,进行装配摄像头。 装配过程步骤一:新建装配体再添加一次零件,因为有2个螺丝,然后固定底座:  步骤二:摄像头方块与底座匹配约束先对圆圈(这时候是同心圆):  再来一次,让两个面相切:  …

python 十进制换为二进制 高位补零

参考:https://www.cnblogs.com/zy740/p/11904185.html python 十进制转换为二进制 高位补零a = 2b = {:08b}.format(a)输出结果为八位二进制,且高位补零若为a = 2b = {:8b}.format(a)输出结果为八位二进制,但高位不补零

vue3 常用的几种组件通讯方式

vue3 常用的几种组件通讯方式,大致如下Props/Emit Pinia 事件总线(mitt) Provide/Inject 浏览器本地存储 1. Props / Emit 注释:prop属性名称 / 方法名称的格式,采用 camelCase 与 kebab-case。1.1 props (1)上游组件设置 prop 值(通过 v-bind 或 冒号) 或者 (2)下…

巧手打字通-在线打字网站,终于来啦

儿子开信息课了,要练习电脑打字了 上个学期,上小学的孩子回家跟他妈妈说:“妈妈,我要学习打字,我们学校上信息课了。” 孩子妈妈听了这诉求,就把笔记本电脑拿了出来,打开了一个word文档,把电脑推到孩子面前,来,好好练习吧,加油! 过了十分钟,我来到孩子面前,看到了…