很多小伙伴是不是参加了
免费认证课程(限时至2025/5/15)
Oracle AI Vector Search 1Z0-184-25考试,都顺利拿到certified了没。

各行各业的AI 大模型的到来,传统的数据库中的SQL还能不能打,结构化和非结构的话数据如何和AI交互,是否有一套SQL既可以兼容传统sql同时集成vector。
如何将企业中使用的数据保存成向量、是否有集成嵌入模型的引擎,同时给于RAG提供原料时,可以做到数据不离场、不离安全域,符合数据安全要求么。

在开始AI之前,先了解下基础概念,包括初高中几何、物理中的函数知识。
基本概念:
- 向量(Vector):一种数据类型,用于表示嵌入(embedding)。在Oracle 23ai中,使用VECTOR数据类型存储。
- 向量嵌入(Vector Embedding):将非结构化数据(如文本、图像)转换为向量表示的过程。
- 相似性搜索(Similarity Search):通过计算向量之间的距离来查找相似的数据。支持精确搜索(Exact)和近似搜索(Approximate)。
- 向量索引(Vector Index):加速相似性搜索的索引类型。包括:
- In-Memory Neighbor Graph (HNSW):基于图的索引,适用于高精度搜索。
- Neighbor Partition (IVF):基于分区的索引,适用于大规模数据。
- 混合向量索引(Hybrid Vector Index):结合全文搜索(Oracle Text)和向量搜索的索引。
- 距离度量(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:执行混合搜索。
是不是分分钟回到了初高中几何时代,浮现“数学最美公式”之一的欧拉公式。