# 什麼是向量嵌入和向量資料庫？

Rememberizer 使用向量嵌入在向量資料庫中，以便在用戶知識來源中進行語義相似性的搜索。這是一種比單純通過傳統搜索引擎或資料庫查找內容中的關鍵字更為先進和細緻的信息檢索形式。

<figure><img src="https://2492455604-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTVKmtXKPeA8gAZJsuGLA%2Fuploads%2Fgit-blob-a9213fe58e84b790a6531fcbac5c30e1b424f316%2Fmultidimensional_space.png?alt=media" alt="多維向量空間可視化"><figcaption><p>多維向量空間的可視化</p></figcaption></figure>

## 如何 Rememberizer 使用向量嵌入

在其最先進的形式中（如 Rememberizer 所使用的），向量嵌入是由語言模型創建的，這些模型的架構類似於支撐 OpenAI 的 GPT 模型和 ChatGPT 服務的 AI LLM（大型語言模型），以及來自 Google（Gemini）、Anthropic（Claude）、Meta（LLaMA）等的模型/服務。

這使得向量嵌入成為發現相關知識以納入 AI 模型提示上下文的自然選擇。這些技術是互補的，並在概念上相關。因此，大多數作為服務提供 LLM 的供應商也提供作為服務的向量嵌入（例如：[Together AI 的嵌入端點](https://www.together.ai/blog/embeddings-endpoint-release) 或 [OpenAI 的文本和代碼嵌入](https://openai.com/blog/introducing-text-and-code-embeddings)）。

## 理解向量嵌入

向量嵌入看起來像什麼？考慮在二維中的一個坐標 (x,y)。如果它表示從原點到這一點的線，我們可以將其視為一條具有方向的線——換句話說，*二維中的一個向量*。

在 Rememberizer 的上下文中，向量嵌入通常是一個由幾百個數字（通常是 768、1024 或 1536）組成的列表，代表高維空間中的一個向量。這個數字列表可以表示 Transformer 模型中的權重，這些權重定義了短語的含義，例如「一陣突如其來的閃電」。這在根本上是與 GPT-4 等模型中使用的意義表示相同。因此，一個好的向量嵌入能夠實現我們在現代 AI 語言模型中看到的同樣複雜的理解。

## 超越文本：多模態嵌入

向量嵌入不僅可以表示文本——它們還可以編碼其他類型的數據，例如圖像或聲音。通過適當訓練的模型，您可以跨媒介類型進行比較，允許文本的向量嵌入與圖像進行比較，反之亦然。

目前，Rememberizer 使得在用戶文檔和知識的文本組件中進行搜索成為可能。文本到圖像和圖像到文本的搜索能力在 Rememberizer 的未來發展路線圖上。

## 實際應用

主要科技公司在其產品中利用向量嵌入：

* **Google** 使用向量嵌入來驅動其文本搜索（文本對文本）和圖像搜索（文本對圖像）功能 ([reference](https://cloud.google.com/blog/topics/developers-practitioners/meet-ais-multitool-vector-embeddings))
* **Meta (Facebook)** 已經為其社交網絡搜索實施了嵌入 ([reference](https://research.facebook.com/publications/embedding-based-retrieval-in-facebook-search/))
* **Snapchat** 利用向量嵌入來理解上下文並提供針對性的廣告 ([reference](https://eng.snap.com/machine-learning-snap-ad-ranking))

## Rememberizer 的向量搜索與關鍵字搜索的區別

關鍵字搜索尋找精確匹配或預定的同義詞。相比之下，Rememberizer 的向量搜索尋找概念上相關的內容，即使使用不同的術語。例如：

* 對於「狗護理」的關鍵字搜索可能會錯過一份關於「犬類健康維護」的相關文件
* Rememberizer 的向量搜索會將這些概念識別為語義相似並返回兩者

這一能力使得 Rememberizer 在從多樣的知識來源檢索相關信息方面特別強大。

即將推出：向量搜索過程可視化

這個圖表將展示 Rememberizer 中完整的語義搜索工作流程：

* 文檔分塊和預處理
* 向量嵌入生成過程
* 存儲在向量數據庫中
* 搜索查詢嵌入
* 相似性匹配計算
* 與傳統關鍵字搜索的並排比較

## 技術資源

要深入了解向量嵌入和向量數據庫的工作原理：

* 從 [Hugging Face 的概述](https://huggingface.co/blog/getting-started-with-embeddings) 開始
* Pinecone（向量數據庫服務）提供了良好的 [向量嵌入介紹](https://www.pinecone.io/learn/vector-embeddings/)
* Meta 的 FAISS 庫：由 Johnson、Douze 和 Jégou（2017）撰寫的 "FAISS: A Library for Efficient Similarity Search and Clustering of Dense Vectors" 提供了有關高效向量相似性搜索的全面見解 ([GitHub repository](https://github.com/facebookresearch/faiss))

## 現代 AI 的基礎

向量嵌入背後的技術隨著時間的推移顯著演變：

* 2017 年的論文「注意力即所有你需要的」 ([reference](https://arxiv.org/abs/1706.03762)) 介紹了驅動現代 LLM 和先進嵌入模型的 Transformer 架構
* 「近似最近鄰：朝著消除維度詛咒的方向」 ([1998](https://dl.acm.org/doi/10.1145/276698.276876), [2010](https://www.theoryofcomputing.org/articles/v008a014/v008a014.pdf)) 建立了高維空間中高效相似性搜索的理論
* BERT (2018, [reference](https://arxiv.org/abs/1810.04805)) 展示了雙向訓練在語言理解任務中的強大能力
* 早期方法如 GloVe (2014, [reference](https://nlp.stanford.edu/pubs/glove.pdf)) 和 Word2Vec (2013, [reference](https://arxiv.org/abs/1301.3781)) 為神經詞嵌入奠定了基礎

有關技術實施細節和針對開發者使用 Rememberizer 的向量存儲的指導，請參見 [Vector Stores](https://docs.rememberizer.ai/zh-hk/kai-fa-zhe-zi-yuan/integration-options/vector-stores)。

{% hint style="info" %}
Transformer 基礎模型的一個顯著特點是它們的擴展性——隨著使用更多數據和擁有更多參數，它們的理解和能力顯著提高。這一擴展性特徵在 GPT-2 等模型中得到了觀察，並推動了 AI 能力的快速進步。

谷歌研究人員是「注意力即所有你需要的」 ([patent reference](https://patents.google.com/patent/US10452978B2/en)) 中描述的原始 Transformer 架構的背後推動者，儘管許多組織隨後在此基礎工作上進行了擴展和發展。
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rememberizer.ai/zh-hk/background/what-are-vector-embeddings-and-vector-databases.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
