作者: CuteRay

今年4月份,TiDB 的向量特性正式开放给大家体验,当时只能在 TiDB Cloud上提交申请,体验、试用。半年的时间过去了,如今想体验TiDB Vector的功能已经不需要提交申请,直接在 TiDB Cloud 创建一个集群,新创建的集群虽然版本还是V7.1.3,但是默认就自带向量功能了。

这里弄一个demo,体验一下。

-- 创建一张带有向量字段的表,长度是3维
USE test;
CREATE TABLE embedded_documents (
    id INT PRIMARY KEY,
    document  TEXT,
    embedding VECTOR(3)
);

-- 往表中插入向量数据
INSERT INTO embedded_documents VALUES
	(1,'大语言模型','[2.1,4.5,6.7]'),
	(2,'大语言模型实践','[2.6,4.1,7.1]'),
	(3,'TiDB V7.1.5 文档','[0.7,2.8,8.7]'),
	(4,'TiDB 从入门到入土','[0.9,2.3,8.1]'),
	(5,'语文(六年级)','[4.1,4.5,7.7]'),
	(6,'golang 从入门到入土','[3.1,4.5,5.7]');

-- 根据指定的向量做搜索
SELECT *, vec_cosine_distance(embedding, '[1.3,2.6,5.8]') as distance FROM embedded_documents ORDER BY distance;

+----+---------------------------+---------------+----------------------+
| id | document                  | embedding     | distance             |
+----+---------------------------+---------------+----------------------+
|  2 | 大语言模型实践            | [2.6,4.1,7.1] | 0.010422578786698833