

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 了解擷取增強生成
<a name="what-is-rag"></a>

擷取增強生成 (RAG) 是一種技術，用於使用外部資料增強大型語言模型 (LLM)，例如公司的內部文件。這可提供模型所需的內容，以針對特定使用案例產生準確且實用的輸出。RAG 是一種在企業中使用 LLMs 的實用且有效方法。下圖顯示 RAG 方法運作方式的高階概觀。



![協調器會對自訂文件執行語意搜尋，然後將輸入提供給 LLM。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/retrieval-augmented-generation-options/images/how-rag-works.png)


大致而言，RAG 程序是四個步驟。第一個步驟會完成一次，其他三個步驟會視需要執行任意次數：

1. 您可以建立內嵌，將內部文件擷取至向量資料庫。*內嵌*是文件中文字的數值表示法，可擷取資料的語意或內容意義。*向量資料庫*基本上是這些內嵌項目的資料庫，有時稱為*向量存放*區或*向量索引*。此步驟需要資料清理、格式化和區塊化，但這是一次性的前期活動。

1. 人類以自然語言提交查詢。

1. 協調器會在向量資料庫中執行相似性搜尋，並擷取相關資料。協調器會將擷取的資料 （也稱為*內容*) 新增至包含查詢的提示。

1. 協調器會將查詢和內容傳送至 LLM。LLM 會使用其他內容產生查詢的回應。

從使用者的角度來看，RAG 看起來像與任何 LLM 互動。不過，系統更了解有問題的內容，並提供根據組織的知識庫進行微調的答案。

如需 RAG 方法運作方式的詳細資訊，請參閱網站上的 AWS [什麼是 RAG](https://aws.amazon.com/what-is/retrieval-augmented-generation/)。

## 生產層級 RAG 系統的元件
<a name="components"></a>

建置生產層級的 RAG 系統需要考慮 RAG 工作流程的幾個不同層面。概念上，生產層級的 RAG 工作流程需要下列功能和元件，無論特定實作為何：
+ **連接器** — 這些會將不同的企業資料來源與向量資料庫連線。結構化資料來源的範例包括交易和分析資料庫。非結構化資料來源的範例包括物件存放區、程式碼基底和軟體即服務 (SaaS) 平台。每個資料來源可能需要不同的連線模式、授權和組態。
+ **資料處理** — 資料有許多形狀和形式，例如 PDFs、掃描的影像、文件、簡報和Microsoft SharePoint檔案。您必須使用資料處理技術來擷取、處理和準備要編製索引的資料。
+ **內嵌 **- 若要執行關聯式搜尋，您必須將文件和使用者查詢轉換為相容的格式。透過使用內嵌語言模型，您可以將文件轉換為數值表示法。這些基本上是基礎基礎模型的輸入。
+ **向量資料庫** — 向量資料庫是內嵌項目、相關文字和中繼資料的索引。索引已針對搜尋和擷取進行最佳化。
+ **擷取器** — 對於使用者查詢，擷取器會從向量資料庫中擷取相關內容，並根據業務需求對回應進行排名。
+ **基礎模型** — RAG 系統的基礎模型通常是 LLM。透過處理內容和提示，基礎模型會為使用者產生並格式化回應。
+ **護欄** — 護欄旨在確保查詢、提示、擷取的內容和 LLM 回應準確、負責任、符合道德，且無幻覺和偏差。
+ **協調程式** — 協調程式負責排程和管理end-to-end工作流程。
+ **使用者體驗** — 通常，使用者與具有豐富功能的對話聊天界面互動，包括顯示聊天歷史記錄和收集使用者對回應的意見回饋。
+ **身分和使用者管理** — 以精細程度控制使用者對應用程式的存取至關重要。在 中 AWS 雲端，政策、角色和許可通常是透過 [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 管理。

顯然，規劃、開發、發行和管理 RAG 系統的工作量很大。Amazon Bedrock 或 Amazon Q Business 等[全受管服務](rag-fully-managed.md)可協助您管理一些未區分的繁重工作。不過，[自訂 RAG 架構](rag-custom.md)可以提供更多對元件的控制，例如擷取器或向量資料庫。