矢量数据库简朴先容:在 Postgres使用 pg_vector [复制链接]
发表于 2026-2-21 00:56:07 | 显示全部楼层 |阅读模式
矢量数据库简朴先容:在 Postgres使用 pg_vector



作为向人工智能大规模变化的一部门,矢量数据库越来越受欢迎。它们也称为矢量化数据库,在人工智能范畴发挥着至关紧张的作用,因此相识它们的工作原理非常紧张。为此,我们起首必要相识什么是向量。
什么是向量?

向量是表现文本或图像等 非结构化数据 的数字数组。
比方,让我们将这些句子表现为向量:
   s1 = “I love data”
s2 = “I love candy”
  我们可以采取全部单词并创建具有四个维度(每个术语一个)的所谓“词袋”(BoW)模子:

BoW 的题目在于,它们依赖于词频,而且假设每个单词独立于其他单词出现,这是不切现实的假设。这是一个显着的简化,由于在天然语言中,上下文和寄义通常在很大程度上取决于词序和词之间的关系。比方,“not good”和“good”在 BoW 模子中被视为雷同的两个单词,纵然由于“not”的存在而导致它们的寄义相反。
为相识决这些限定,开发了更先辈的技能。此中包罗诸如词嵌入(或嵌入)之类的模子,它们通过思量单词出现的上下文来捕获更多语义信息。
什么是嵌入(Embedding)?

由神经网络创建的具有大量维度的向量,这些向量是通过猜测每个单词的相邻单词大概是什么来创建的。
下面是使用 200 个维度的 Word2Vec 模子天生的嵌入的可视化。您可以使用 Tensorflow Projector 举行模仿.

这个想法是将这些嵌入生存到数据库中以便快速检索。
什么是矢量索引与矢量数据库?

“索引”是一种进步数据库表数据检索操纵速率的数据结构。
矢量索引是一种用于根据矢量内容有用地构造和检索矢量的机制。
矢量数据库是一种专门为高效处置惩罚和存储矢量数据而计划的数据库。它是一个数据库,包罗旨在管理矢量数据的功能,包罗存储、检索和查询处置惩罚。它可以使用向量索引作为其高效面向向量操纵计谋的一部门。
什么是 pg_vector?

Postgres 的开源矢量相似性搜索。假如您如今拥有或使用 Postgres,则可以安装 pg_vector 扩展以向 Postgres 添加矢量数据库功能。转到项目GitHub - pgvector/pgvector: Open-source vector similarity search for Postgres以获取安装阐明。
pg_vector 入门

要在 Postgres 中启用它,只需实行以下下令:
  1. CREATE EXTENSION IF NOT EXISTS vector;
复制代码
接下来,创建一个表来生存嵌入向量。在此示例中,我们将把图像转换为嵌入向量并将它们存储在 Postgres 的图像表中。
  1. DROP
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表