向量資料庫
外觀

機器學習與資料探勘 |
---|
![]() |
向量資料庫(Vector database)、向量儲存或向量搜尋引擎是一種能夠儲存向量(固定長度的數值列表)及其他資料項的資料庫。向量資料庫通常實現一種或多種近似最近鄰(Approximate Nearest Neighbor,ANN)演算法[1][2][3],使使用者可以使用查詢向量搜尋資料庫,以檢索最匹配的資料庫記錄。
向量是資料在高維空間中的數學表示。在這個空間中,每個維度對應資料的一個特徵,維度的數量從幾百到幾萬不等,具體取決於所表示資料的複雜性。向量在該空間中的位置代表其特徵。單詞、短語或整篇文件,以及圖像、音訊和其他類型的資料,都可以被向量化[4]。
這些特徵向量可以通過機器學習方法從原始資料中計算得到,例如特徵提取演算法、詞嵌入[5]或深度學習網路。其目標是使語意相似的資料項具有彼此接近的特徵向量。
向量資料庫可用於相似性搜尋、語意檢索、多模態搜尋、推薦系統、大型語言模型(LLM)、物體辨識等。[6]
向量資料庫也常用於實現檢索增強生成(RAG),這是一種提高大型語言模型在特定領域回應能力的方法。RAG的檢索組件可以是任何搜尋系統,但最常見的實現方式是向量資料庫。首先,收集描述目標領域的文字文件,並對每個文件或文件片段計算特徵向量(稱為「句子嵌入」),通常使用深度學習網路進行計算,並將其儲存在向量資料庫中。當使用者提供查詢時,首先計算該查詢的特徵向量,並在資料庫中進行搜尋,以檢索最相關的文件。然後,這些文件會自動添加到大型語言模型的上下文窗口中,模型基於這個上下文生成對使用者查詢的回應[7]。
參考文獻
[編輯]- ^ Roie Schwaber-Cohen. What is a Vector Database & How Does it Work. Pinecone. [18 November 2023]. (原始內容存檔於2025-03-24).
- ^ What is a vector database. Elastic. [18 November 2023]. (原始內容存檔於2025-03-17).
- ^ What is a Vector Database?. [10 July 2023]. (原始內容存檔於2025-03-21).
- ^ Vector database. learn.microsoft.com. 2023-12-26 [2024-01-11]. (原始內容存檔於2025-03-12).
- ^ Evan Chaki. What is a vector database?. Microsoft. 2023-07-31. (原始內容存檔於2024-06-08).
A vector database is a type of database that stores data as high-dimensional vectors, which are mathematical representations of features or attributes.
- ^ Vector database. learn.microsoft.com. 2023-12-26 [2024-01-11]. (原始內容存檔於2025-03-12).
- ^ Lewis, Patrick; Perez, Ethan; Piktus, Aleksandra; Petroni, Fabio; Karpukhin, Vladimir; Goyal, Naman; Küttler, Heinrich. Retrieval-augmented generation for knowledge-intensive NLP tasks. Advances in Neural Information Processing Systems 33. 2020: 9459–9474. arXiv:2005.11401
.