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

· 浏览次数 : 103

正文

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

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

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

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

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


本文介绍方法三:如何通过Jina Embeddings v2模型文本转换为向量,并入库至向量检索服务DashVector中进行向量检索。

前提条件


Jina Embeddings v2模型

简介

Jina Embeddings v2模型,唯一支持 8192 个词元长度的开源向量模型,在大规模文本向量化基准 (MTEB) 的功能和性能方面与 OpenAI 的闭源模型 text-embedding-ada-002 相当。

模型名称

向量维度

度量方式

向量数据类型

备注

jina-embeddings-v2-small-en

512

Cosine

Float32

  • 词元长度限制:8192

jina-embeddings-v2-base-en

768

Cosine

Float32

  • 词元长度限制:8192

jina-embeddings-v2-base-zh

768

Cosine

Float32

  • 词元长度限制:8192

说明

关于Jina Embeddings v2模型更多信息请参考:Jina Embeddings v2模型

使用示例

说明

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

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

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

  3. Jina AI api-key替换示例中的{your-jina-api-key}

Python示例:

from dashvector import Client
import requests
from typing import List


# 调用Jina Embeddings v2模型,将文本embedding为向量
def generate_embeddings(texts: List[str]):
    headers = {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer {your-jina-api-key}'
    }
    data = {'input': texts, 'model': 'jina-embeddings-v2-base-zh'}
    response = requests.post('https://api.jina.ai/v1/embeddings', headers=headers, json=data)
    return [record["embedding"] for record in response.json()["data"]]
    

# 创建DashVector Client
client = Client(
    api_key='{your-dashvector-api-key}',
    endpoint='{your-dashvector-cluster-endpoint}'
)

# 创建DashVector Collection
rsp = client.create('jina-text-embedding', 768)
assert rsp
collection = client.get('jina-text-embedding')
assert collection

# 向量入库DashVector
collection.insert(
    ('ID1', generate_embeddings(['阿里云向量检索服务DashVector是性能、性价比具佳的向量数据库之一'])[0])
)

# 向量检索
docs = collection.query(
    generate_embeddings(['The best vector database'])[0]
)
print(docs)

与如何将文本转换为向量?(方法三)相似的内容:

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

​ 文本转换为向量有多种方式: 方法一:通过模型服务灵积DashScope将文本转换为向量(推荐) 方法二:通过ModelScope魔搭社区中的文本向量开源模型将文本转换为向量 方法三:通过Jina Embeddings v2模型将文本转换为向量 方法四:通过百川智能向量化模型将文本转换为向量 本文

[转帖]如何为多个字符串和模式使用Grep

[日期:2020-05-14] 来源:Linux公社 作者:醉落红尘 [字体:大 中 小] grep是一个功能强大的命令行工具,可让您在一个或多个输入文件中搜索与正则表达式匹配的行,并将每个匹配的行写入标准输出。 在本文中,我们将向您展示如何使用GNU grep搜索多个字符串或模式。 Grep多种模

Typora 最新中文版安装破解V1.4.8

Typora中文破解版是一款好用极简免费的跨平台Markdown编辑器,软件使用这款软件能够帮助用户轻松将文本转换到HTML,软件从底层向上设计,软件支持markdown的标准语法,同时这款软件还支持动态预览功能,一键预览,让一切都变得如此干净、纯粹,是一款不可多得的优质markdown编辑器。 T

【ASP.NET Core】MVC操作方法如何绑定Stream类型的参数

咱们都知道,MVC在输入/输出中都需要模型绑定。因为HTTP请求发送的都是文本,为了使其能变成各种.NET 类型,于是在填充参数值之前需 ModelBinder 的参与,以将文本转换为 .NET 类型。 尽管 ASP.NET Core 已内置基础类型和复杂类型的各种 Binder,但有些数据还是不能

Python 将PowerPoint (PPT/PPTX) 转为HTML

PPT是传递信息、进行汇报和推广产品的重要工具。然而,有时我们需要将这些精心设计的PPT演示文稿发布到网络上,以便于更广泛的访问和分享。本文将介绍如何使用Python将PowerPoint文档转换为网页友好的HTML格式。包含两个简单示例: Python 将PowerPoint文档转为HTML格式

ChatGPT+Mermaid自然语言流程图形化产出小试

本文旨在介绍如何使用ChatGPT和Mermaid语言生成流程图的技术。在现代软件开发中,流程图是一种重要的工具,用于可视化和呈现各种流程和结构。结合ChatGPT的自然语言处理能力和Mermaid的简单语法,可以轻松地将文本描述转化为图形表示,使技术文档更具可读性和易懂性。

乾坤大挪移,如何将同步阻塞(sync)三方库包转换为异步非阻塞(async)模式?Python3.10实现。

众所周知,异步并发编程可以帮助程序更好地处理阻塞操作,比如网络 IO 操作或文件 IO 操作,避免因等待这些操作完成而导致程序卡住的情况。云存储文件传输场景正好包含网络 IO 操作和文件 IO 操作,比如业内相对著名的七牛云存储,官方sdk的默认阻塞传输模式虽然差强人意,但未免有些循规蹈矩,不够锐意

.NET反编译神器ILSpy怎么用?

前言 上一篇文章我们介绍了4款免费且实用的.NET反编译工具👉,这篇文章主要来说说ILSpy这个工具该如何安装和使用。 ILSpy ILSpy是一款免费、开源的 .NET 反编译工具,能够将已编译的 .NET 程序集转换为易于阅读和理解的源代码。 GitHub开源地址:https://github

迭代失败的4个迹象,团队中了几个?快来看看如何解决!

迭代在Scrum中有着举足轻重的作用,它能将产品愿望清单转化为可操作的任务,将头脑风暴塑造成具体结果。 迭代不仅加速了项目交付,甚至还创造了一种责任文化,尤其针对在地理位置上分散的团队。 虽然迭代一直是快速推进项目管理的可靠方法,但如果做得不好,它们可能会造成严重的流程不平衡。 迭代永远不会让我们失

动手学Avalonia:基于硅基流动构建一个文生图应用(一)

文生图 文生图,全称“文字生成图像”(Text-to-Image),是一种AI技术,能够根据给定的文本描述生成相应的图像。这种技术利用深度学习模型,如生成对抗网络(GANs)或变换器(Transformers),来理解和解析文本中的语义信息,并将其转化为视觉表现。文生图可以用于创意设计、图像编辑、虚