ITPub博客

首页 > 数据库 > Oracle > Oracle 23C 新特性AI Vector Search

Oracle 23C 新特性AI Vector Search

原创 Oracle 作者:jason_yehua 时间:2025-02-26 17:26:01 0 删除 编辑

测试在Oracle 23c中新特性是 AI Vector Search ,它允许直接在数据库中进行基于向量相似性的搜索,从而支持机器学习应用如推荐系统、图像检索等。以下是该特性的详细说明及测试示例:

特性描述:AI Vector Search

  1. 向量数据类型
        新增 VECTOR类型,用于存储高维向量数据(如机器学习模型的嵌入向量)。

  2. 相似性搜索函数
        提供 VECTOR_DISTANCE函数,支持欧氏距离( EUCLIDEAN)和余弦相似度( COSINE)计算。

  3. 向量索引
        创建高效的内存或磁盘索引(如 IVF_INDEX),加速大规模向量搜索。


测试

步骤1:创建表并插入向量数据

-- 启用向量引擎

ALTER SYSTEM SET vectorset_enable = TRUE;


-- 创建包含向量列的表

CREATE TABLE products (

    id NUMBER PRIMARY KEY,

    name VARCHAR2(50),

    description_embedding VECTOR(384)  -- 假设使用384维向量

);


-- 插入测试数据

INSERT INTO products VALUES (1, 'Phone', '[0.12, 0.23, ..., 0.45]');

INSERT INTO products VALUES (2, 'Laptop', '[0.34, 0.67, ..., 0.89]');

INSERT INTO products VALUES (3, 'Tablet', '[0.56, 0.78, ..., 0.91]');


步骤2:创建向量索引

CREATE IVF_INDEX product_vector_idx 

ON products (description_embedding) 

WITH ("distance_type" = "EUCLIDEAN");


步骤3:执行相似性搜索

-- 查找与目标向量最相似的3个产品

SELECT id, name, 

       VECTOR_DISTANCE(description_embedding, 

                       '[0.55, 0.77, ..., 0.90]', 

                       EUCLIDEAN) AS distance

FROM products

ORDER BY distance

FETCH FIRST 3 ROWS ONLY;


预期结果

ID | NAME   | DISTANCE

---|--------|---------

3  | Tablet | 0.012

2  | Laptop | 0.045

1  | Phone  | 0.210


Oracle 23C  AI Vector Search 关键优势主要以下三点:

  • 降低延迟:避免将数据导出到外部AI系统,减少网络开销。

  • 简化架构:直接在数据库中统一管理结构化数据和向量。

  • 高性能:专用索引加速海量向量检索。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31547506/viewspace-3073854/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: Expdp Hangs 排查
请登录后发表评论 登录
全部评论

注册时间:2019-05-22

  • 博文量
    122
  • 访问量
    99626