目錄
一、前言
二、向量數據庫介紹
2.1 什么是向量數據庫
2.2 向量數據庫特點
2.3 向量數據庫使用場景
三、常用的向量數據庫解決方案
3.1 Milvus
3.1.1 Milvus是什么
3.1.2 Milvus主要特點
3.2 Faiss
3.2.1 Faiss是什么
3.2.2 Faiss主要特點
3.3 Pinecone
3.3.1 Pinecone是什么
3.3.2 Pinecone主要特點
3.4 Weaviate
3.4.1 Weaviate介紹
3.4.2 Weaviate主要特點
3.5 Redis Stack
3.5.1 Redis Stack介紹
3.5.2 Redis Stack核心模塊
3.5.3 Redis Stack主要特點
3.5.4 Redis Stack應用場景
四、Redis向量數據庫介紹
4.1 redis向量數據庫是什么
4.2 向量檢索核心原理
4.2.1 匹配原理
4.2.2 具體實現過程
五、整合springboot 實現向量數據庫相似性搜索
5.1 前置準備
5.1.1 docker搭建Redis-Stack
5.1.2 導入maven依賴
5.1.3 獲取apikey
5.1.4 添加配置文件
5.2 文本嵌入代碼實現過程
5.2.1 添加一個測試接口
5.3 ETL Pipeline
5.3.1 Spring AI ETL 介紹
5.3.2 Spring AI 處理ETL完整過程
5.3.3 Spring AI ETL 技術框架
5.3.3.1 讀取器 DocumentReader
5.3.3.2 文檔轉換器 DocumentTransformer
5.3.3.3 文檔寫入器 DocumentWriter
5.4 Spring AI 文檔讀取操作演示
5.4.1 文件讀取代碼演示
5.5 Spring AI 文檔轉換操作演示
5.5.1 添加測試接口
5.6 文檔存儲
5.6.1 導入依賴文件
5.6.2 配置redis信息
5.6.3 增加一個redis的向量數據庫配置類
5.6.4 增加嵌入文檔接口
5.6.5 增加文檔檢索接口
六、寫在文末
一、前言
AI工具的使用讓數據檢索的需求場景變得越來越多,也越來越復雜,傳統的關系型數據庫盡管可以滿足日常各類關系數據的存儲,但是遇到一些文檔類型,非結構化的數據時,其作用和效果就會打折扣,而且數據不僅僅是存儲的需要,也需要能夠滿足數據分析的場景,這種情況下,就可以考慮使用向量數據庫了。
二、向量數據庫介紹
2.1 什么是向量數據庫
向量數據庫是一種優化后的數據庫系統,專門設計用于高效地存儲和檢索高維向量數據。這些向量數據通常是從原始數據(如文本、圖像、音頻等)中提取的特征表示。向量數據庫的核心優勢在于其能夠快速地進行相似性搜索,即找到與給定向量最相似的向量。