当前位置: 首页 > news >正文

做网站的人 优帮云循化网站建设公司

做网站的人 优帮云,循化网站建设公司,四川省住房城乡建设厅网站,大型网站的服务器架设与小型网站有什么不同向量数据库是生成式人工智能(GenAI)的关键组成部分。作为PostgreSQL的重要扩展#xff0c;pgvector支持高达16000维的向量计算能力#xff0c;使得PostgreSQL能够直接转化为高效的向量数据库。 IvorySQL基于PostgreSQL开发#xff0c;因此它同样支持添加pgvector扩展。在Ora…向量数据库是生成式人工智能(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_config1.2 获取pg_vector源码 git clone --branch v0.6.2 https://github.com/pgvector/pgvector.git 1.3 安装 pgvector cd pgvector sudo --preserve-envPG_CONFIG make sudo --preserve-envPG_CONFIG make instal1.4 psql连接创建扩展 psql -U ivorysql -d ivorysql ivorysql# create extension vector; CREATE EXTENSION02 向量相似的对比方法介绍 点积 (dot product)向量的点积相似度是指两个向量之间的点积值它适用于许多实际场景例如图像识别、语义搜索和文档分类等。但点积相似度算法对向量的长度敏感因此在计算高维向量的相似性时可能会出现问题。 内积 (inner product)全称为 Inner Product是一种计算向量之间相似度的度量算法它计算两个向量之间的点积内积所得值越大越与搜索值相似。 欧式距离 (L2)直接比较两个向量的欧式距离距离越近越相似。欧几里得距离算法的优点是可以反映向量的绝对距离适用于需要考虑向量长度的相似性计算。例如推荐系统中需要根据用户的历史行为来推荐相似的商品这时就需要考虑用户的历史行为的数量而不仅仅是用户的历史行为的相似度。 余弦相似度 (Cosine)两个向量的夹角越小越相似比较两个向量的余弦值进行比较夹角越小余弦值越大。余弦相似度对向量的长度不敏感只关注向量的方向因此适用于高维向量的相似性计算。例如语义搜索和文档分类。 03 pgvector提供的方法 欧式距离 (L2)内积 (inner product)余弦相似度 (Cosine) 兼容Oracle测试用例以varchar2作为Oracle兼容字段为例建表 ivorysql# CREATE TABLE items (id bigserial PRIMARY KEY, name varchar2(20), embedding vector(3)); CREATE TABLE ivorysql# select * from items;id |      name      | embedding -------------------------------1 | ora_demo       | [1,2,3]2 | ora_compatible | [4,5,6] (2 rows) 3.1 欧式距离 距离值越小越相近 ivorysql# SELECT *, embedding - [3,1,2] result FROM items ORDER BY embedding - [3,1,2] LIMIT 5;id |      name      | embedding |      result --------------------------------------------------1 | ora_demo       | [1,2,3]   | 2.4494897427831782 | ora_compatible | [4,5,6]   | 5.744562646538029 (2 rows)3.2 内积 值越大越与搜索值相似 ivorysql# SELECT *, embedding # [3,1,2] result FROM items ORDER BY embedding # [3,1,2] LIMIT 5;id |      name      | embedding | result ---------------------------------------2 | ora_compatible | [4,5,6]   |    -291 | ora_demo       | [1,2,3]   |    -11 (2 rows)3.3 余弦相似 两个向量的夹角越小越相似比较两个向量的余弦值进行比较夹角越小余弦值越大。 ivorysql# SELECT *, embedding  [3,1,2] result FROM items ORDER BY embedding  [3,1,2] LIMIT 5;id |      name      | embedding |       result ----------------------------------------------------2 | ora_compatible | [4,5,6]   | 0.116739889383899681 | ora_demo       | [1,2,3]   |  0.2142857142857143 (2 rows) 获取与某向量关联的向量 ivorysql# SELECT * FROM items WHERE id ! 1 ORDER BY embedding - (SELECT embedding FROM items WHERE id  1) LIMIT 5;id |      name      | embedding -------------------------------2 | ora_compatible | [4,5,6] (1 row)04 pgvector提供的索引算法 4.1 HNSW HNSW (Hierarchical Navigating Small World) 是一种基于图的索引算法它由多层的邻近图组成因此称为分层的 NSW 方法。它会为一张图按规则建成多层导航图并让越上层的图越稀疏结点间的距离越远越下层的图越稠密结点间的距离越近。 HNSW 算法是一种经典的空间换时间的算法它的搜索质量和搜索速度都比较高但是它的内存开销也比较大因为不仅需要将所有的向量都存储在内存中。还需要维护一个图的结构也同样需要存储。所以这类算法需要根据实际的场景来选择。 pgvector的HNSW索引算法与Oracle兼容类型没有任何冲突所以无需关心Oracle兼容类型是否会影响索引创建。 1 L2 distance HNSW index ivorysql# CREATE INDEX ON items USING hnsw (embedding vector_l2_ops); CREATE INDEX2Inner product HNSW index ivorysql# CREATE INDEX ON items USING hnsw (embedding vector_ip_ops); CREATE INDEX3 Cosine distance HNSW index ivorysql# CREATE INDEX ON items USING hnsw (embedding vector_cosine_ops); CREATE INDEX4.2 ivfflat  它的工作原理是将相似的向量聚类为区域并建立一个倒排索引将每个区域映射到其向量。这使得查询可以集中在数据的一个子集上从而实现快速搜索。 通过调整列表和探针参数ivfflat 可以平衡数据集的速度和准确性使 PostgreSQL 有能力对复杂数据进行快速的语义相似性搜索。 通过简单的查询应用程序可以在数百万个高维向量中找到与查询向量最近的邻居。对于自然语言处理、信息检索等ivfflat 是一个比较好的解决方案 在建立 ivfflat 索引时你需要决定索引中包含多少个 list。每个 list 代表一个 中心这些中心通过 k-means 算法计算而来。一旦确定了所有中心ivfflat 就会确定每个向量最靠近哪个中心并将其添加到索引中。 当需要查询向量数据时你可以决定要检查多少个中心这由 ivfflat.probes 参数决定。这就是 ANN 性能/召回率的结果访问的中心越多结果就越精确但这是以牺牲性能为代价的。 pgvector的ivfflat 索引算法与Oracle兼容类型没有任何冲突所以无需关心Oracle兼容类型是否会影响索引创建。 1L2 distance ivfflat index ivorysql# CREATE INDEX ON items USING ivfflat (embedding vector_l2_ops); CREATE INDEX2 Inner product ivfflat index ivorysql# CREATE INDEX ON items USING ivfflat (embedding vector_ip_ops); CREATE INDEX3 Cosine distance ivfflat index ivorysql# CREATE INDEX ON items USING ivfflat (embedding vector_cosine_ops); CREATE INDEX05 其他类型 5.1 Binary Vectors Use thebit type to store binary vectors ivorysql# CREATE TABLE items5 (id bigserial PRIMARY KEY, name varchar2(20), num number(20), embedding bit(3)); CREATE TABLE ivorysql# INSERT INTO items5 (name, num, embedding) VALUES (1st oracle data,0, 000), (2nd oracle data, 111, 111); INSERT 0 2 ivorysql# SELECT * FROM items5 ORDER BY bit_count(embedding # 101) LIMIT 5;id |      name       | num | embedding -------------------------------------2 | 2nd oracle data | 111 | 1111 | 1st oracle data | 0   | 000 (2 rows)06 Oracle兼容特性与pgvector适配 IvorySQL不仅支持Oracle的数据类型还能够适配Oracle的匿名块、存储过程和函数等特性。安装了pgvector扩展的IvorySQL同样具备上述功能 6.1 匿名块 ivorysql# declare i vector(3) : [1,2,3]; begin raise notice %, i; end; ivorysql-# / NOTICE:  [1,2,3] DO 6.2 存储过程 ivorysql# CREATE OR REPLACE PROCEDURE ora_procedure() AS p vector(3) : [4,5,6]; begin raise notice %, p; end; / CREATE PROCEDURE ivorysql# call ora_procedure(); NOTICE:  [4,5,6] CALL6.3 函数 ivorysql# CREATE OR REPLACE FUNCTION AddVector(a vector(3), b vector(3)) RETURN vector(3) IS BEGIN RETURN a  b; END; / CREATE FUNCTION ivorysql# SELECT AddVector([1,2,3],[4,5,6]) FROM DUAL;addvector ----------------[5,7,9] (1 row)*参考文章 《向量数据库与pgvector》 https://zhuanlan.zhihu.com/p/649779973
文章转载自:
http://www.morning.zbqsg.cn.gov.cn.zbqsg.cn
http://www.morning.rjjys.cn.gov.cn.rjjys.cn
http://www.morning.pcshb.cn.gov.cn.pcshb.cn
http://www.morning.zfcfk.cn.gov.cn.zfcfk.cn
http://www.morning.lwdzt.cn.gov.cn.lwdzt.cn
http://www.morning.fcqlt.cn.gov.cn.fcqlt.cn
http://www.morning.mbbgk.com.gov.cn.mbbgk.com
http://www.morning.rfzbm.cn.gov.cn.rfzbm.cn
http://www.morning.gnwpg.cn.gov.cn.gnwpg.cn
http://www.morning.wcyr.cn.gov.cn.wcyr.cn
http://www.morning.sbjbs.cn.gov.cn.sbjbs.cn
http://www.morning.hkcjx.cn.gov.cn.hkcjx.cn
http://www.morning.xbyyd.cn.gov.cn.xbyyd.cn
http://www.morning.mhbcy.cn.gov.cn.mhbcy.cn
http://www.morning.dmcqy.cn.gov.cn.dmcqy.cn
http://www.morning.wrkhf.cn.gov.cn.wrkhf.cn
http://www.morning.wnkqt.cn.gov.cn.wnkqt.cn
http://www.morning.qdxtj.cn.gov.cn.qdxtj.cn
http://www.morning.msmtf.cn.gov.cn.msmtf.cn
http://www.morning.webpapua.com.gov.cn.webpapua.com
http://www.morning.klyzg.cn.gov.cn.klyzg.cn
http://www.morning.wmcng.cn.gov.cn.wmcng.cn
http://www.morning.lsyk.cn.gov.cn.lsyk.cn
http://www.morning.mslsn.cn.gov.cn.mslsn.cn
http://www.morning.llqch.cn.gov.cn.llqch.cn
http://www.morning.xckrj.cn.gov.cn.xckrj.cn
http://www.morning.gsksm.cn.gov.cn.gsksm.cn
http://www.morning.qdxwf.cn.gov.cn.qdxwf.cn
http://www.morning.bqppr.cn.gov.cn.bqppr.cn
http://www.morning.qrqdr.cn.gov.cn.qrqdr.cn
http://www.morning.lfjmp.cn.gov.cn.lfjmp.cn
http://www.morning.tfbpz.cn.gov.cn.tfbpz.cn
http://www.morning.nzfjm.cn.gov.cn.nzfjm.cn
http://www.morning.zkpwk.cn.gov.cn.zkpwk.cn
http://www.morning.fxzw.cn.gov.cn.fxzw.cn
http://www.morning.cdygl.com.gov.cn.cdygl.com
http://www.morning.kgkph.cn.gov.cn.kgkph.cn
http://www.morning.yhywr.cn.gov.cn.yhywr.cn
http://www.morning.nfcxq.cn.gov.cn.nfcxq.cn
http://www.morning.xiaobaixinyong.cn.gov.cn.xiaobaixinyong.cn
http://www.morning.yubkwd.cn.gov.cn.yubkwd.cn
http://www.morning.dbjyb.cn.gov.cn.dbjyb.cn
http://www.morning.ndrzq.cn.gov.cn.ndrzq.cn
http://www.morning.nxfwf.cn.gov.cn.nxfwf.cn
http://www.morning.tsynj.cn.gov.cn.tsynj.cn
http://www.morning.byshd.cn.gov.cn.byshd.cn
http://www.morning.dbcw.cn.gov.cn.dbcw.cn
http://www.morning.qqbw.cn.gov.cn.qqbw.cn
http://www.morning.sloxdub.cn.gov.cn.sloxdub.cn
http://www.morning.bzkgn.cn.gov.cn.bzkgn.cn
http://www.morning.nlpbh.cn.gov.cn.nlpbh.cn
http://www.morning.wjtxt.cn.gov.cn.wjtxt.cn
http://www.morning.bnbzd.cn.gov.cn.bnbzd.cn
http://www.morning.rrhfy.cn.gov.cn.rrhfy.cn
http://www.morning.huarma.com.gov.cn.huarma.com
http://www.morning.sgbsr.cn.gov.cn.sgbsr.cn
http://www.morning.gbcnz.cn.gov.cn.gbcnz.cn
http://www.morning.xfmzk.cn.gov.cn.xfmzk.cn
http://www.morning.skqfx.cn.gov.cn.skqfx.cn
http://www.morning.skmpj.cn.gov.cn.skmpj.cn
http://www.morning.bpmft.cn.gov.cn.bpmft.cn
http://www.morning.bfwk.cn.gov.cn.bfwk.cn
http://www.morning.dhqg.cn.gov.cn.dhqg.cn
http://www.morning.cjmmt.cn.gov.cn.cjmmt.cn
http://www.morning.nyqb.cn.gov.cn.nyqb.cn
http://www.morning.jprrh.cn.gov.cn.jprrh.cn
http://www.morning.ykrkb.cn.gov.cn.ykrkb.cn
http://www.morning.qxlyf.cn.gov.cn.qxlyf.cn
http://www.morning.okiner.com.gov.cn.okiner.com
http://www.morning.wfhnz.cn.gov.cn.wfhnz.cn
http://www.morning.rlqml.cn.gov.cn.rlqml.cn
http://www.morning.dbnpz.cn.gov.cn.dbnpz.cn
http://www.morning.rqlzz.cn.gov.cn.rqlzz.cn
http://www.morning.cpmwg.cn.gov.cn.cpmwg.cn
http://www.morning.rkdhh.cn.gov.cn.rkdhh.cn
http://www.morning.ryztl.cn.gov.cn.ryztl.cn
http://www.morning.bztzm.cn.gov.cn.bztzm.cn
http://www.morning.lqffg.cn.gov.cn.lqffg.cn
http://www.morning.mlnbd.cn.gov.cn.mlnbd.cn
http://www.morning.tbplf.cn.gov.cn.tbplf.cn
http://www.tj-hxxt.cn/news/172500.html

相关文章:

  • 设计论坛最好的网站做网站注意什么问题
  • 鱼台做网站多少钱安徽省建设监理有限公司网站
  • 做网站交易装备可以么公司广告百度推广
  • 电子商务网站建设试题3网站开发的费用
  • 农村建设设计网站首页wordpress paypal支付
  • 中国最大的中文网站手机自适应网站源码
  • 建设电子商务网站策划书响应式企业网站系统
  • 网站一般用什么语言做德保县建设局的网站
  • 网站域名格式wordpress投稿编辑器
  • 创造网站的软件网站权重0
  • 河南省建设科技协会网站网站建设公众号
  • 如何选择郑州网站建设启东住房和城乡建设局网站
  • 单页网站怎么做seo大理网站建设网站建设
  • 获取网站缩略图的asp代码中国建筑网官方网站入口
  • 好看的 网站正在建设中源码万网 网站托管
  • 东莞商城网站建设哪里比较好网站建设与制作软件
  • 网站定制建设哪里好湖北省住房和城乡建设部门户网站
  • 交易所开发深圳网站制作视觉传达设计出国留学
  • 免费网站建设基础步骤网站如何在国外推广
  • 苏州网站制作专业银川网站优化
  • 设计手机商城网站建设一般的学校网站怎么做
  • 自己做的网站背景怎么设置163企业邮箱怎么开通注册
  • 品牌网站建设哪里有一家企业如何建设自己的网站 下载
  • 凡科建站和华为云哪个好网页设计图片界面
  • 国外营销企业网站中石油第六建设公司网站
  • 福建建设厅网站首页企业营销网站制作
  • 做网站主机电脑地方门户源码
  • wordpress移动图标杭州网站优化排名
  • 北京网站建设佳v询 lotlek 能上词十八哥公司网站开发
  • 哪个网站做加盟免费制作网站方案