作者:胖头鱼的鱼缸(尹海文) Oracle ACE Pro: Database PostgreSQL ACE 10年+数据库行业经验 拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证 墨天轮MVP,ITPUB认证专家 圈内拥有“总监”称号,非著 名社恐(社交恐怖分子) 全网同名:胖头鱼的鱼缸 ITPUB:yhw1809 除授权转载并标明出处外,均为“非法”抄袭

继续Oracle AI Database 26ai的新特性实战,今天带来的同样是23.26.2版本新增的特性:向量生成函数。
Oracle AI Database 23.26.2 新增了三个向量生成 SQL 函数,极大地方便了向量数据的原型开发和测试:
这三个函数使开发者能够快速生成随机向量数据和向量绑定变量。
前置条件:数据库初始化参数 COMPATIBLE >= 23.6.0
同上一期一样使用用户NFTEST,已授权DB_DEVELOPER_ROLE角色,测试操作均在NFTEST用户下执行。
SELECT VECTOR_ORIGIN(3) AS v3, VECTOR_ORIGIN(8) AS v8, VECTOR_ORIGIN(10) AS v10 FROM dual;

SELECT rownum AS rn, VECTOR_RANDOM(3) AS same_for_all FROM dual CONNECT BY level <= 3;

SELECT rownum AS rn, VECTOR_RANDOM_PER_ROW(3) AS different_per_row FROM dual CONNECT BY level <= 5;

-- 创建测试表 CREATE TABLE vec_test ( id NUMBER PRIMARY KEY, name VARCHAR2(50), embedding VECTOR(4, FLOAT32) ); -- 插入5条包含随机向量的行记录 INSERT INTO vec_test SELECT rownum, 'Item ' || rownum, VECTOR_RANDOM_PER_ROW(4) FROM dual CONNECT BY level <= 5; COMMIT; -- 检查生成数据 SELECT id, name, embedding FROM vec_test ORDER BY id; -- 使用VECTOR_ORIGIN生成的值作为查询向量查询和原点最接近的3行数据 SELECT id, name, VECTOR_DISTANCE(embedding, VECTOR_ORIGIN(4), EUCLIDEAN) AS dist FROM vec_test ORDER BY dist ASC FETCH FIRST 3 ROWS ONLY;

SELECT rownum AS rn, VECTOR_RANDOM(3) AS same_for_all, VECTOR_RANDOM_PER_ROW(3) AS different_per_row FROM dual CONNECT BY level <= 3;

本期对Oracle AI Database 26ai,23.26.2版本新引入的向量生成函数进行了完整介绍与实战演示,这是一个非常便捷的测试与模拟方法。
老规矩,知道写了些啥。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31466763/viewspace-3174991/ ,如需转载,请注明出处,否则将追究法律责任。