pgvector扩展在IvorySQL Oracle兼容模式下的应用实践

向量数据库是生成式人工智能(GenAI)的关键组成部分。作为PostgreSQL的重要扩展,pgvector支持高达16000维的向量计算能力,使得PostgreSQL能够直接转化为高效的向量数据库。

IvorySQL基于PostgreSQL开发,因此它同样支持添加pgvector扩展。在Oracle兼容模式下,pgvector扩展同样可用,这为习惯使用Oracle的用户使用向量数据库提供了极大的便利

01

安装IvorySQL

注意,请确认你的环境已安装了IvorySQL。如尚未安装,可参考安装指南进行配置安装。

https://docs.ivorysql.org/cn/ivorysql-doc/v3.2/v3.2/6

1.1 设置PG_CONFIG环境变量

export PG_CONFIG=/usr/local/ivorysql/ivorysql-3/bin/pg_config

1.2 获取pg_vector源码

git clone --branch v0.6.2 https://github.com/pgvector/pgvector.git

1.3 安装 pgvector

cd pgvector
sudo --preserve-env=PG_CONFIG make
sudo --preserve-env=PG_CONFIG make instal

1.4 psql连接创建扩展

psql -U ivorysql -d ivorysql
ivorysql=# create extension vector;
CREATE EXTENSION

02

向量相似的对比方法介绍

点积 (dot product):向量的点积相似度是指两个向量之间的点积值,它适用于许多实际场景,例如图像识别、语义搜索和文档分类等。但点积相似度算法对向量的长度敏感,因此在计算高维向量的相似性时可能会出现问题。

内积 (inner product):全称为 Inner Product,是一种计算向量之间相似度的度量算法,它计算两个向量之间的点积(内积),所得值越大越与搜索值相似。

欧式距离 (L2):直接比较两个向量的欧式距离,距离越近越相似。欧几里得距离算法的优点是可以反映向量的绝对距离,适用于需要考虑向量长度的相似性计算。例如推荐系统中,需要根据用户的历史行为来推荐相似的商品,这时就需要考虑用户的历史行为的数量,而不仅仅是用户的历史行为的相似度。

余弦相似度 (Cosine):两个向量的夹角越小越相似,比较两个向量的余弦值进行比较,夹角越小,余弦值越大。余弦相似度对向量的长度不敏感,只关注向量的方向,因此适用于高维向量的相似性计算。例如语义搜索和文档分类。

03

pgvector提供的方法

欧式距离 (L2),内积 (inner product),余弦相似度 (Cosine)

图片

兼容Or

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值