我有一些矢量,来自嵌入面,我想将它们存储在数据库中。我需要的是能够在给定嵌入面的情况下从数据库中找到类似的向量。
我尝试在Postgres中使用数组类型,但不支持减法。
由于
- 更新 -
具体问题是,假设我在表格中有一些矢量数据
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
我想弄清楚这3个向量中哪一个最接近(在欧几里德距离内)到向量{5, 5, 5}
。
所需的操作首先要减去2个向量,然后找出差异的长度||{5, 5, 5} - {4, 5, 6}||_2
在我的场景中,矢量将有128个维度。
答案 0 :(得分:6)
似乎你想使用PostGIS这是PostgresQL的一个简单扩展,它允许一大堆几何数据类型扩展。 (点,矢量,弧等)
答案 1 :(得分:0)
将其转换为字符串。或者,您可以定义自定义数据类型并存储值
join(str(s) for s in encodings[0][0:64])