AI 功能探测,TiDB Vector 对比 PG Vector
作者: 大数据模型原文来源:https://tidb.net/blog/97bdfca1
前文
在本文中,你可以获取以下经验值。
如何审请体验 TiDB AI 的最新 AI 功能
TiDB Vector 的使用 DEMO
TiDB Vector 的相关介绍
TiDB Vector 对比 PG Vector
申请 TiDB AI 功能体验
前置条件能够访问 tidb.cloud/ai
如果你通过审核,你会收到以下一封邮件,点击 Getting Started Guid, 在 Build AI Apps with TiDB Vector Search 你会发现如何创建 AI 的指南
按照提示,选择指定的机房 Frankfurt(eu-central-1)
成功创建的 TiDB AI 集群与普通 TiDB 集群在 WEB 界面区别如下
TiDB AI 整体认识
概念认识
TiDB 当前支持向量化数据类型,能够处理向量化数据,为生成人工智能提供动力,能对文本、图像、视频、音频或任何类型的数据进行语义搜索或相似性搜索。矢量搜索允许您搜索数据的含义,而不是搜索数据本身,例如执行语义搜索。
向量化数据(几乎任何类型的数据,如文本、图像、视频、用户、音乐等)表示为空间中的点的方式,这些点在空间中的位置在语义上是有意义的。 矢量搜索使用嵌入空间中的距离来表示相似性。将矢量嵌入存储在 TiDB 中后,要查找相关数据,只需搜索矢量嵌入的最近邻居即可。
简而方之, 非结构化数据图像、声音、视频在 TiDB 数据库存储表示如下
TiDB 通过自己独有的 Vector 函数, 目前支持 4 种函数如下
使用示范
TiDB Vector 对比 PG Vector
笔者之前做的基于 PG Vector 的测试 ,见2024 ,pgvector 如何使你龙年识别真龙
笔者使用手机拍了 22 个图,图集里面有龙公仔、狗公仔、熊公仔、兔公仔、蜗公仔,把所有的数据存储到 postgresql,再转化为 vector 数据类型,最后通过 PG 提供的 Vector 算法进行计算。 以 ID 为 9 的图像即 long9 的基准,查看搜索引与 long9 相似度最接近的 9 个图。
下面我们会基于 TiDB 做同样的测试,测试两者的区别点。
TiDB Vector 建表导入
TiDB Vector 计算相似性
四个计算命令结果如
总结对比
从可用性、功能性、性能性三点去对比 TiDB Vector 与 PG Vector。
从安装可用性来看,TiDB Vector 好过 PG Vector, 笔者安装 PG Vector 报了个错,这个错误需要改变源代码配置,最后是通过 GITHUB 才找到的, 基于云原生的 TiDB Vector 不存在这方面的问题。
从使用可用性来看,TiDB Vector 是函数编程 vec_l2_distance(值 1,值 2) , PG Vector 则是链路编程的风格,笔者个人偏好函数风格,较简洁。
从操作可用性来看,TiDB Vector 已经有相应的 api demo,python 可以直接调用,但是从世界和先来后到来看,pg vector 的 API 覆盖更多,使用更广
从生态功能性来看, postgreSQL 已经支持对图像数据的处理,图片存储到库,转文本转矢量,一气呵成,笔者把 PG 的数据导出来,再导入到 TiDB 才完成这个测试的,这点 TiDB 需要再努力。
从计算性能来看,只看软件方面的,TiDB Vector 引用先进的 HNSW index,在计算相似性方面的算法方面具有 Vec_L1_Distance 曼哈顿距离、Vec_L2_Distance 欧氏距离、Vec_Cosine_Distance 余弦距离都与 pgvector 有对标,TiDB Vector 还支持了 Vec_Negative_Inner_Product 的优化算法。
笔者认为 AI 能力是数据库能力很重要的一环,AI 的业务场景需要客户端 / 服务端协调共同完成,数据库不可能完成所有的 AI 处理功能,只能完成服务端 工作,客户端还需要应用根据业务定制开发。TiDB Vector 正式落实了 TiDB 往 AI 领域进军该有的基础功能,希望下面越做越好。
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/20158347fc32b708a4d303d81】。文章转载请联系作者。
评论