9-Oracle 23 ai Vector Search 特性 知识准备

很多小伙伴是不是参加了免费认证课程(限时至2025/5/15)
Oracle AI Vector Search 1Z0-184-25考试,都顺利拿到certified了没。
各行各业的AI 大模型的到来,传统的数据库中的SQL还能不能打,结构化和非结构的话数据如何和AI交互,是否有一套SQL既可以兼容传统sql同时集成vector。
如何将企业中使用的数据保存成向量、是否有集成嵌入模型的引擎,同时给于RAG提供原料时,可以做到数据不离场、不离安全域,符合数据安全要求么。
在开始AI之前,先了解下基础概念,包括初高中几何、物理中的函数知识。

基本概念:

  1. 向量(Vector)​​:一种数据类型,用于表示嵌入(embedding)。在Oracle 23ai中,使用VECTOR数据类型存储。
  2. 向量嵌入(Vector Embedding)​​:将非结构化数据(如文本、图像)转换为向量表示的过程。
  3. 相似性搜索(Similarity Search)​​:通过计算向量之间的距离来查找相似的数据。支持精确搜索(Exact)和近似搜索(Approximate)。
  4. 向量索引(Vector Index)​​:加速相似性搜索的索引类型。包括:
  • In-Memory Neighbor Graph (HNSW)​​:基于图的索引,适用于高精度搜索。
  • Neighbor Partition (IVF)​​:基于分区的索引,适用于大规模数据。
  1. 混合向量索引(Hybrid Vector Index)​​:结合全文搜索(Oracle Text)和向量搜索的索引。
  2. 距离度量(Distance Metrics)​​:用于计算向量之间距离的函数,包括:
  • 欧几里得距离(Euclidean)
  • 余弦相似度(Cosine)
  • 点积(Dot Product)
  • 曼哈顿距离(Manhattan)
  • 汉明距离(Hamming) - 用于二进制向量
  • Jaccard距离 - 用于二进制向量

    L1_DISTANCE(曼哈顿距离)

    别名:城市街区距离、Taxicab距离
    定义:两点在标准坐标系上各维度绝对差之和,模拟网格路径(如城市街道)的行走距离。
    公式:d(x,y)=∑i=1n∣xi−yi∣
    特点:对异常值敏感,计算高效(无平方运算)。
    应用:棋盘游戏路径规划、稀疏高维数据(如文本分类)。

    L2_DISTANCE(欧几里得距离)

    别名:直线距离、欧氏距离定义:n维空间中两点间的直线最短距离,勾股定理的多维推广。
    公式:d(x,y)=∑i=1n(xi−yi)2
    几何意义:绿色线段为两点间最短路径。
    特点:对数据分布均匀性要求高,方向信息敏感。
    应用:物理空间测量、聚类分析(如K-Means)、图像相似性。

    COSINE_DISTANCE(余弦距离)

    别名:余弦相似度的补(1 - 余弦相似度)
    定义:两向量夹角余弦值的反度量,关注方向差异而非长度。
    公式:\text{cos_dist} = 1 - \frac{\mathbf{x} \cdot \mathbf{y}}{|\mathbf{x}| \cdot |\mathbf{y}|} = 1 - \cos \theta
    几何意义:夹角θ越小,余弦相似度越大,距离越小。
    特点:对幅度不敏感,适合文本、图像等高维稀疏数据。
    应用:文档相似度检索、推荐系统(如用户兴趣方向匹配)。

    INNER_PRODUCT(点积)

    别名:数量积、标量积
    定义:两向量对应分量乘积之和,结果为一标量。
    公式:x⋅y=∑i=1nxiyi几何意义:x⋅y=∥x∥∥y∥cosθ,即模长积与夹角余弦的乘积。
    物理意义:力F在位移s方向做的功 W=F⋅s。
    应用:机器学习特征组合(如神经网络权重计算)、投影分析。

    HAMMING_DISTANCE(汉明距离)

    定义:等长字符串/二进制串中,对应位置字符不同的数量。
    公式:dham(s1,s2)=∑i=1nI(s1[i]\=s2[i])比如:二进制串 10110 与 11010 的汉明距离 = 第2、4位不同 → 2。DNA序列 GAGC 与 GATC 的汉明距离 = 第3位不同 → 1。
    特点:仅适用于等长序列,计算高效(位运算)。
    应用:错误检测编码(如CRC)、密码学、基因序列比对。

    JACCARD_DISTANCE(Jaccard距离)

    别名:Jaccard相异度定义:1减去Jaccard相似系数,衡量集合差异度。
    公式:djaccard(A,B)=1−∣A∪B∣∣A∩B∣
    特点:忽略元素频次,仅关注存在性(适合布尔特征)。
    应用:集合相似性(如文档去重)、购物车分析(剁手党的商品交集)。

    关键函数:

    1. 向量构造函数​:

    • TO_VECTOR:将字符串或数值数组转换为向量。
    • VECTOR:是TO_VECTOR的别名。

    2. ​距离函数​:

    • VECTOR_DISTANCE(vector1, vector2, metric):计算两个向量之间的距离,支持多种度量标准。
    • 简写函数:L1_DISTANCE(曼哈顿距离),L2_DISTANCE(欧几里得距离),COSINE_DISTANCE(余弦距离),INNER_PRODUCT(点积),HAMMING_DISTANCE(汉明距离),JACCARD_DISTANCE(Jaccard距离)。

    3. ​向量生成函数​:

    • VECTOR_EMBEDDING(model_name USING data AS data):使用指定的嵌入模型将数据转换为向量。

    4. ​分块函数​:

    • VECTOR_CHUNKS:将文本分块。

    5. ​向量属性函数​:

    • VECTOR_NORM(vector):计算向量的范数(模长)。
    • VECTOR_DIMENSION_COUNT(vector):返回向量的维度数。
    • VECTOR_DIMS(vector):同上。
    • VECTOR_DIMENSION_FORMAT(vector):返回向量维度的格式(如FLOAT32, BINARY等)。

    6. 聚合函数​:

    • AVG:计算向量的平均值(仅适用于浮点向量)。
    • SUM:计算向量的和(仅适用于浮点向量)。

    7. 混合搜索函数​:

    • DBMS_HYBRID_VECTOR.SEARCH:执行混合搜索。

    是不是分分钟回到了初高中几何时代,浮现“数学最美公式”之一的欧拉公式。

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值