Oracle AI Vector Search 支持使用 SQL 生成向量和计算向量相似度
-- 创建一个向量化的表
CREATE TABLE vector_table (
id NUMBER,
feature VECTOR,
CONSTRAINT vector_table_pk PRIMARY KEY (id)
);
-- 插入数据,向量数据通常是通过外部程序生成的,这里直接用随机向量代替
INSERT INTO vector_table (id, feature) VALUES (1, RP_VECTOR_GENERATE_RANDOM(10));
INSERT INTO vector_table (id, feature) VALUES (2, RP_VECTOR_GENERATE_RANDOM(10));
INSERT INTO vector_table (id, feature) VALUES (3, RP_VECTOR_GENERATE_RANDOM(10));
-- 计算两个向量的相似度
SELECT id, feature, RP_VECTOR_SIMILARITY(feature, :input_vector) AS similarity
FROM vector_table
ORDER BY similarity DESC;
这个例子展示了如何在Oracle数据库中使用AI Vector Search功能。首先,创建一个包含向量列的表,然后插入一些随机生成的向量数据。最后,演示了如何查询表并计算每个向量和给定输入向量的相似度,相似度高的排在前面。在实际应用中,输入向量应该是外部应用程序生成的,而不是直接硬编码在SQL查询中。
评论已关闭