向量数据库是生成式人工智能(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

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



