【TiDBer 唠嗑茶话会 115】TiDB 支持向量功能,你最想拿它做什么?

这周在朋友圈看到了很多小伙伴在转 @hey-hoho 的这篇文章

看到大家对 TiDB 支持向量的功能非常期待。

目前 TiDB serverless 已经支持向量功能!

试用入口

waitlist申请入口:https://tidb.cloud/ai

体验入口:https://tidbcloud.com

本期话题:

TiDB 支持向量功能,你最想拿它做什么?
你是否有 TiDB 支持向量的需求?
在哪些场景上会用到这个需求?
针对 TiDB 向量功能的能够在未来上线有何看法或建议?

来自 57 楼 @Icemap 对 vector 的解读:

我在这里抛砖引玉一下。我们当前使用 Vector 特性在一个具体的 RAG 场景上。
RAG stands for retrieval-augmented generation. 也就是我们说的 检索-增强-生成 的这一类的 Apps,这也是当前 AI 领域最常见的一种 App 的构造方法,而被广泛的应用了。

举个例子,如果大家用过 ChatGPT,就会被它一本正经地胡说八道的能力所折服。这被称为 LLM 的 “幻觉”,是它的注意力丧失的一个情形。
那我们可以如何简单的解决这个问题呢?答案就是 RAG。我们可以先对这个问题进行一些可靠材料的 检索 ,事先给到 LLM 一些可靠的上下文作为 增强,随后再让它 生成 新的内容。这可以显著提高回答的准确率。

我们这里有一个更具体的例子,我们正在做一个 tidb.ai,希望使用大模型,和我们自己的文档去回答关于 TiDB 的问题。那就可以得到以下步骤:

  1. 用户提出一个关于 TiDB 问题
  2. 根据问题搜索相关 TiDB 文档
  3. 使用文档填充 LLM 的 Prompt
  4. 让 LLM 生成我们需要格式的输出

这里就有一个问题了,如何根据问题搜索相关 TiDB 的文档?这就要提到另一个 AI 的功能了,叫作 Embedding。它会生成一段文字的特征向量,我们可以比对两段文字的 Embedding Vector 距离,距离越近,我们就可以认为这两段文字越相关。因此我们可以将以上流程优化如下:

  1. 将 TiDB 文档事先进行 Embedding,将文字和其对应 Vector 存储在 TiDB 中
  2. 用户提出一个关于 TiDB 问题,进行 Embedding,使用 TiDB 中向量的距离计算,搜索 TiDB 中最相关的几个文档
  3. 使用文档填充 LLM 的 Prompt
  4. 让 LLM 生成我们需要格式的输出

这也是我们为什么要做 Vector 的其中一个原因。另外,如何生成 Embedding,怎么去 Retrieve 都是一个优化的点。这也是我们正在努力的部分。不过这里不可或缺的就是 TiDB 的 Vector 功能了。给大家放一张如果我们使用外部的 Vector 数据库,对比 TiDB 内嵌 Vector 之间的对比图。

当然,这只是 Vector 的其中一个用法,期待大家更多的使用方法。

参与奖励:

留言参与讨论,获得 30 积分&经验值!

活动时间:

2024.4.19 -2024.4.25

希望能大概普及下向量功能的概述,以及场景,优势。

1 个赞

感觉主要是图搜,或者结合 embedding 可以做上下文语义搜索这种(embedding其实就是把文本转成多维数组,转的过程中会考虑到前后字符之间的关系,所以向量化的数据会隐含上下文)。

之前这方面感觉主要是多媒体搜索相关,例如图搜——把图片转成多维向量,即浮点数组,然后查询图片相似度;
大模型火了之后,结合 embedding + 知识库的上下文向量搜索的场景多了一些,例如 RAG

单就 embedding + 知识库的场景说,现在很多像dify这种如果做基于知识库的场景,会支持「混合检索」就是关键字全文检索+向量检索,个人感觉各有优劣吧:比如 ① 自然语言提问的时候命中知识库,全文检索命中的概率小但一旦命中是精准的;向量检索命中概率大但相对不算精准(和选择的向量检索索引还有度量距离也会有关系)② 全文检索不太好结合上下文整句话的整体语义,支持match单个单词或者文字会有问题;但在对文本做向量化的时候,算法一般会结合整句或者整段的上下文语义,所以计算后的向量会包含上下文信息

再暴言一些就是,任何形式的数据都可以通过算法转换成向量,从而进行向量检索(ANN)。最重要的2步其实就是 向量化算法向量检索算法(索引结构+距离度量)

以上都是个人对向量功能的理解,和 TiDB 的不一定相同哈

2 个赞

多模态数据相似性检索

检索。

可以试着做图数据库,存图像和音频,但是不知道存储空间和查询效率有没有优化

向量数据库重构gis数据库?

看来我还要更加努力呀,过段时间也试试。mark!!!

这方面了解还不多,还需要学习

学习学习

向量查询为TiDB开拓了一片广阔的新领域,可以极大丰富产品的功能特性,覆盖更多的用户场景需求。

显然,这使得那些有图片、视频等更复杂数据存储和搜索的场景,有了更多的数据库选型方向

期待空间函数gis等功能

大模型

了解不多,需要加深这方面

我得加倍努力了,向量是什么我都不知道

搜索功能

:yum:跟着TiDB走就对了~

更适合图片以及图文数据的检索

帮我预测股票