码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 数据库管理-第152期 Oracle Vector DB & AI-04(20240220)


    数据库管理152期 2024-02-20

    • 数据库管理-第152期 Oracle Vector DB & AI-04(20240220)
      • 1 常用的向量检索方法
        • 聚类
        • 图搜索
        • 哈希
        • 量化
      • 2 Oracle Vector DB中的索引
        • 索引(默认)
      • 索引(高级)
      • 3 EMBEDDINGS
        • SQL EMBEDDINGS 函数
        • OONX
      • 总结

    数据库管理-第152期 Oracle Vector DB & AI-04(20240220)

    作者:胖头鱼的鱼缸(尹海文)
    Oracle ACE Associate: Database(Oracle与MySQL)
    网思科技 DBA总监
    10年数据库行业经验,现主要从事数据库服务工作
    拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
    墨天轮MVP、认证技术专家,ITPUB认证专家,OCM讲师
    圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著名社恐(社交恐怖分子)
    公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
    除授权转载并标明出处外,均为“非法”抄袭。

    由于上一篇的一些“误操作”,导致公众号发文删了,当天重发没有办法触发群发效果,所以可能有些人会发现没看过03。

    1 常用的向量检索方法

    聚类

    K-Means 和 Faiss
    image.png

    图搜索

    Hierarchical Navigable Small Worlds (HNSW)
    image.png

    哈希

    局部敏感哈希(Locality Sensitive Hashing)LSH

    量化

    Product Quantization (PQ):有损压缩

    2 Oracle Vector DB中的索引

    在Oracle Vector DB中,可以在Vector数据类型列上创建vector index来提升向量检索的性能:

    索引(默认)

    create vector index vector_idx on vector_table (data_vector)
    organization [inmemory neighbor graph | neighbor partition]
    
    • 1
    • 2

    距离计算:欧几里德
    向量索引的选择取决于organization子句:

    1. In-Memory Neighbor Graph organization:HNSW
    2. Neighbor Partition organization:IVF

    索引(高级)

    可以指定向量索引类型参数、距离函数、精度等:

    create vector index vector_idx on vector_table (data_vector) organization neighbor partition parameters (num_centroids 1024);
    
    • 1

    3 EMBEDDINGS

    在Oracle Vector DB除直接通过外部导入向量外,也内建支持多种向量生产方式:

    SQL EMBEDDINGS 函数

    原生支持生成向量数据:

    select id, image from cat_images order by VECTOR_DISTANCE(img_vec, EMBEDDING(resnet_50 USING :input_img)) fetch first 2 rows only;
    
    • 1

    image.png

    OONX

    Open Neural Network eXchange embedding 模型:

    DECLARE
      model_source BLOB := NULL;
    BEGIN
      model_source :=
      DBMS_CLOUD.get_object
      ( credential_name =>
      'OBJ_STORE_CRED',
      object_uri	=> 'https://objectstorage…bucketname/o/resnet50bundle.onnx’);
    
      DBMS_DATA_MINING.import_onnx_model
      ( model_name	=> "resnet50",
      model_data	=> model_source,
      metadata		=> JSON('{ function : "embedding" }')
    );
    END;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    总结

    本期简单讲解了一下,Oracle Vector索引以及内建向量EMBEDDING能力。
    老规矩,知道写了些啥。

  • 相关阅读:
    Tomcat之startup.bat启动闪退解决
    金融信创,软件规划需关注自主安全及生态建设
    艾美捷彗星检测试剂盒(单细胞凝胶电泳)分析原理
    qt程序中,如何做才能用到OpenGL ES图形api
    #案例:演示键盘操作!
    jsp393学生宿舍管理系统mysql
    《海盗派测试分析》读书笔记
    分类预测 | MATLAB实现基于RF-Adaboost随机森林结合AdaBoost多输入分类预测
    ORB-SLAM3测试
    Android Studio历史版本
  • 原文地址:https://blog.csdn.net/yhw1809/article/details/136183386
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号