如何启用和使用 pgvector 您所在的位置:网站首页 怎样安装3dmax 如何启用和使用 pgvector

如何启用和使用 pgvector

2023-06-01 06:06| 来源: 网络整理| 查看: 265

你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。

如何在 Azure Cosmos DB for PostgreSQL 上启用和使用 pgvector 项目 05/24/2023

适用于: Azure Cosmos DB for PostgreSQL(由 PostgreSQL 的 Citus 数据库扩展提供支持)

pgvector 扩展将开源向量相似性搜索添加到 PostgreSQL。

本文介绍了 pgvector 启用的额外功能。 其中涵盖了向量相似性和嵌入的概念,并提供有关如何启用 pgvector 扩展的指导。 我们将了解如何创建、存储和查询向量。 可能还需要参阅项目的官方自述文件。

启用扩展

必须先在数据库中启用 PostgreSQL 扩展,然后才能使用它们。 若要启用扩展,请在 psql 工具中运行相应的命令,将打包的对象加载到数据库中。

SELECT CREATE_EXTENSION('vector');

注意

若要禁用扩展,请使用 drop_extension()

概念 向量相似性

向量相似性是一种通过将两个项目表示为向量(即一系列数字)来衡量其之间相似程度的方法。 向量通常用于表示数据点,其中向量的每个元素表示数据点的某个特征或属性。

向量相似性通常使用距离指标(如 Euclidean distance 或 cosine 相似性)进行计算。 欧几里得距离测量 n 维空间中两个向量之间的直线距离,而余弦相似性测量两个向量之间夹角的余弦值。 相似性指标的值通常介于 0 和 1 之间,higher 值指示向量之间的相似性更高。

向量相似性广泛应用于各种应用程序,例如推荐系统、文本分类、图像识别和群集。 例如,在推荐系统中,向量相似性可用于根据用户的偏好识别相似项。 在文本分类中,向量相似性可用于根据向量表示形式来确定两个文档或句子之间的相似性。

嵌入

嵌入是一种评估文本、图像、视频或其他类型信息“相关性”的技术。 借助评估,机器学习模型可以有效地识别数据之间的关系和相似性,是算法可识别模式并进行准确的预测。 例如,在情绪分析任务中,具有相似嵌入的词可能具有相似的情绪分数。

入门

使用类型为 vector(3) 的 embedding 列创建 tblvector 表。 这样定义,它在三维平面中表示为 three coordinates,这有助于评估向量的位置。

CREATE TABLE tblvector( id bigserial PRIMARY KEY, embedding vector(3) );

使用 OpenAI API 等服务生成嵌入后,可以将生成的向量存储在数据库中。 将向量定义为 vector(3) 指定三维平面中的 [x,y,z] coordinates。 命令使用提供的嵌入将两个新行插入到 tblvector 表中。

INSERT INTO tblvector (embedding) VALUES ('[1,2,3]'), ('[4,5,6]'), (3, '[5,4,6]'), (4, '[3,5,7]'), (5, '[7,8,9]');

利用 Insert into ... ON CONFLICT 语句,可以指定替代操作,例如更新符合条件的记录。 这让你能够以有效且更高效的方式处理潜在冲突。

INSERT INTO tblvector (id, embedding) VALUES (1, '[1,2,3]'), (2, '[4,5,6]') ON CONFLICT (id) DO UPDATE SET embedding = EXCLUDED.embedding;

DELETE 命令根据 WHERE 子句中指定的条件从指定表中移除行。 当 WHERE 子句不存在时,表中所有行都将删除。

DELETE FROM tblvector WHERE id = 1;

若要检索向量并计算相似性,请使用 SELECT 语句和内置向量运算符。 例如,查询会计算给定向量与存储在 tblvector 表中的向量之间的欧几里得距离(L2 距离),根据计算的距离对结果进行排序,并返回最接近的五个最相似的项。

SELECT * FROM tblvector ORDER BY embedding '[3,1,2]' LIMIT 5;

查询使用“”运算符,这是用于计算多维空间中两个向量之间距离的“距离运算符”。 查询返回所有与向量 [3,1,2] 的距离小于 5 的行。

SELECT * FROM tblvector WHERE embedding '[3,1,2]' < 5;

命令从“tblvector”表中检索“嵌入”列的平均值。 例如,如果“嵌入”列包含语言模型的词嵌入,则这些嵌入的平均值可用于表示整个句子或文档。

SELECT AVG(embedding) FROM tblvector;

注意

pgvector 引入了 3 个可用于计算相似性的新运算符:

操作员 说明 欧几里得距离 负内积 余弦距离 后续步骤

使用 pgvector 详细了解性能、索引和限制。

使用 pgvector 优化性能



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有