跳至內容

向量數據庫

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

向量數據庫(Vector database)、向量存儲向量搜索引擎是一種能夠存儲向量(固定長度的數值列表)及其他數據項的數據庫。向量數據庫通常實現一種或多種近似最近鄰(Approximate Nearest Neighbor,ANN)算法[1][2][3],使用戶可以使用查詢向量搜索數據庫,以檢索最匹配的數據庫記錄。

向量是數據在高維空間中的數學表示。在這個空間中,每個維度對應數據的一個特徵,維度的數量從幾百到幾萬不等,具體取決於所表示數據的複雜性。向量在該空間中的位置代表其特徵。單詞、短語或整篇文檔,以及圖像、音頻和其他類型的數據,都可以被向量化[4]

這些特徵向量可以通過機器學習方法從原始數據中計算得到,例如特徵提取算法、詞嵌入[5]深度學習網絡。其目標是使語義相似的數據項具有彼此接近的特徵向量。

向量數據庫可用於相似性搜索英語Similarity search語義檢索多模態搜索英語Multimodal search推薦系統大型語言模型(LLM)、物體識別等。[6]

向量數據庫也常用於實現檢索增強生成(RAG),這是一種提高大型語言模型在特定領域響應能力的方法。RAG的檢索組件可以是任何搜索系統,但最常見的實現方式是向量數據庫。首先,收集描述目標領域的文本文檔,並對每個文檔或文檔片段計算特徵向量(稱為「句子嵌入英語Sentence embedding」),通常使用深度學習網絡進行計算,並將其存儲在向量數據庫中。當用戶提供查詢時,首先計算該查詢的特徵向量,並在數據庫中進行搜索,以檢索最相關的文檔。然後,這些文檔會自動添加到大型語言模型的上下文窗口中,模型基於這個上下文生成對用戶查詢的響應[7]

參考文獻

[編輯]
  1. ^ Roie Schwaber-Cohen. What is a Vector Database & How Does it Work. Pinecone. [18 November 2023]. (原始內容存檔於2025-03-24). 
  2. ^ What is a vector database. Elastic. [18 November 2023]. (原始內容存檔於2025-03-17). 
  3. ^ What is a Vector Database?. [10 July 2023]. (原始內容存檔於2025-03-21). 
  4. ^ Vector database. learn.microsoft.com. 2023-12-26 [2024-01-11]. (原始內容存檔於2025-03-12). 
  5. ^ 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. 
  6. ^ Vector database. learn.microsoft.com. 2023-12-26 [2024-01-11]. (原始內容存檔於2025-03-12). 
  7. ^ 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可免費查閱.