生成式人工智能 (Generative AI) 近年來風靡全球,其能夠回答問題、撰寫故事、創作藝術,甚至生成程式碼,令人驚嘆不已。然而,要打造一款高準確度的生成式 AI 應用程式,需要結合領域特定的資料,才能真正發揮其威力。透過向量檢索增強生成 (Retrieval Augmented Generation , RAG) 技術,就能將您的企業資料與大型語言模型 (Large Language Model , LLM) 完美融合,打造出高度相關、內容豐富且安全可靠的生成式 AI 應用程式。
生成式 AI 應用準確度的重要性
生成式 AI 應用程式的核心是 LLM ,這是一種在海量資料 ( 如網際網路上的所有內容 ) 上經過訓練的機器學習模型。這些 LLM 被視為基礎模型 (Foundation Model , FM) ,可以針對各種使用案例進行調整與微調。然而,單純依賴 FM 所產生的結果,雖然擁有廣泛的實際知識,但往往缺乏領域特定的精確度,且更容易出現虛構 (Hallucination) 的情況,產生看似正確但實際上錯誤的結果。
為了提高生成式 AI 應用程式的準確性,我們必須將其與您的企業資料緊密結合,利用 RAG 技術將領域特定的內容納入生成過程中。這不僅能夠大幅提升結果的相關性與精確度,更能避免出現虛構的情況,確保生成內容的可信賴性。
什麼是向量檢索增強生成 (RAG)?
RAG 是一種提示工程 (Prompt Engineering) 技術,可以將領域特定的資料融入 LLM 的輸入提示中,從而引導模型產生更加準確且相關的輸出結果。在 RAG 流程中,我們會將企業資料轉換為向量 (Vector) 形式,並儲存在向量資料庫 (Vector Datastore) 中。當使用者提出查詢時,系統會先從向量資料庫中檢索與查詢最為相關的向量,並將其轉換為文字形式,納入 LLM 的輸入提示中。
藉由將相關的領域特定內容納入輸入提示, LLM 就能更好地理解查詢的語境,從而產生更加準確且契合實際情況的輸出結果。這種技術不僅能夠提高生成式 AI 應用程式的準確度,更能確保生成內容的安全性,避免洩漏敏感資訊或智慧財產權。
RAG 在生成式 AI 中的運用
RAG 技術可以廣泛應用於各種生成式 AI 應用程式中,例如客戶支援聊天機器人、個人化推薦系統、內容創作等。以客戶支援聊天機器人為例, RAG 可以幫助機器人更好地理解客戶的問題語境,並從公司的知識庫中檢索相關的解決方案,從而提供更加準確且專業的回覆。
在個人化推薦系統中, RAG 可以根據使用者的過去行為與偏好,從向量資料庫中檢索相關的內容,並將其納入 LLM 的輸入提示中,從而為使用者生成更加契合需求的推薦結果。
此外, RAG 還可以應用於內容創作領域,例如新聞報導、行銷文案等。透過 RAG 技術,系統可以從企業的資料庫中檢索相關的背景資訊、數據和事實,並將其融入 LLM 的輸入提示中,從而生成更加豐富、準確且具說服力的內容。
向量資料庫在 RAG 中的角色
向量資料庫在 RAG 技術中扮演著關鍵的角色,它是儲存和檢索向量的核心系統。在 RAG 流程中,我們需要將企業資料轉換為向量形式,並將這些向量儲存在向量資料庫中。當使用者提出查詢時,系統會從向量資料庫中檢索與查詢最為相關的向量,並將其轉換為文字形式,納入 LLM 的輸入提示中。
選擇合適的向量資料庫對於 RAG 技術的效能和準確度至關重要。一個優秀的向量資料庫應該具備以下幾個特點 :
- 高效的相似度搜尋演算法 : 向量資料庫應該能夠快速找到與查詢最為相似的向量,以確保系統的響應速度。
- 支援高維度向量 : 現代的 LLM 通常會產生高維度的向量,因此向量資料庫需要能夠有效地儲存和檢索這些高維度向量。
- 可擴展性 : 隨著企業資料的不斷增長,向量資料庫需要具備良好的擴展性,以支援儲存和檢索大量的向量。
- 資料安全性 : 由於企業資料通常包含敏感資訊和智慧財產權,因此向量資料庫必須提供足夠的安全性措施,以防止資料外洩或被竊取。
- 與現有系統的整合 : 向量資料庫應該能夠與企業現有的資料庫和資料湖系統無縫整合,以簡化資料處理流程。
使用 AWS 服務實現 RAG
AWS 提供了多種服務和工具,可以幫助您輕鬆實現 RAG 技術,打造高準確度的生成式 AI 應用程式。以下是一些常見的選擇 :
- Amazon Aurora PostgreSQL-Compatible Edition: 這是一款完全相容 PostgreSQL 的關係型資料庫服務,支援開源的 pgvector 擴展,可以用於儲存和檢索向量。它適合那些已經熟悉關係型資料庫,並且擁有高度結構化資料的企業。
- Amazon OpenSearch Service: 這是一款分佈式搜尋和分析服務,支援 k-NN(k-nearest neighbor) 插件,可以用於儲存和檢索向量。由於其分佈式的特性,它非常適合處理大量的向量資料。
- Amazon RDS for PostgreSQL: 這是另一款支援 pgvector 擴展的關係型資料庫服務,適合那些需要使用特定社群版本 PostgreSQL 的企業。
- Amazon SageMaker JumpStart: 這是一個提供各種預訓練的開源和專有基礎模型的服務,可以用於構建生成式 AI 應用程式。
- Amazon Bedrock: 這是一個簡化了使用基礎模型構建和擴展生成式 AI 應用程式的服務,它提供了對來自 AI21 Labs、Anthropic、Stability AI 和 Amazon Titan 等公司的模型的 API 訪問。
- Amazon Kendra: 這是一款提供了現成的語義搜尋功能的服務,可以用於檢索相關的文檔和段落,並將其納入 RAG 的輸入提示中。
除了上述服務之外, AWS 還提供了許多其他工具和資源,可以幫助您打造高準確度的生成式 AI 應用程式,例如 Amazon SageMaker 用於訓練和部署機器學習模型、AWS Lambda 用於構建無服務器應用程式等。
最佳實務與運用案例分享
為了充分發揮 RAG 技術的潛力,並確保生成式 AI 應用程式的準確度和安全性,以下是一些最佳實務和運用案例 :
- 準確的資料標註和向量化 : 確保您的企業資料經過適當的標註和向量化,以便於向量資料庫進行檢索和相似度比對。您可以使用 AWS 服務 ( 如 Amazon SageMaker) 來訓練和部署自己的向量化模型。
- 定期更新向量資料庫 : 企業資料會不斷變化和增長,因此您需要定期更新向量資料庫,以確保其與最新的資料保持同步。 AWS 提供了多種自動化工具,可以幫助您輕鬆實現這一點。
- 實施適當的安全措施 : 由於向量資料庫中儲存了企業的敏感資料,因此您需要實施適當的安全措施,例如加密、訪問控制和審計跟蹤等,以防止資料外洩或被竊取。 AWS 提供了多種安全服務和最佳實務,可以幫助您保護您的資料。
- 優化提示工程 : 提示工程是 RAG 技術的關鍵環節,您需要不斷優化和調整提示的構建方式,以獲得最佳的生成效果。 AWS 提供了多種工具和資源,可以幫助您進行提示工程的實驗和優化。
- 監控和調整系統性能 : 隨著應用程式的使用量不斷增加,您需要持續監控系統的性能,並根據需要進行調整和擴展,以確保應用程式的可用性和響應速度。 AWS 提供了多種自動擴展和負載平衡服務,可以幫助您輕鬆實現這一點。
以下是一些 RAG 技術在實際運用中的案例分享 :
- riskCanvas: 這是一家金融犯罪合規解決方案提供商,他們將向量引擎與 Amazon OpenSearch Serverless 相結合,利用 RAG 技術來加速調查分析、生成金融犯罪報告摘要,並提供相關的升級建議,從而大幅提高了工作效率和一致性。
- edu: 這是一個學術研究分享平台,他們使用 Amazon OpenSearch Service 來有效地索引和搜尋數百萬個向量,從而為用戶推薦最相關的學術論文,大幅提高了用戶對內容推薦的參與度。
- Intuit: 這是一家領先的金融科技公司,他們與 AWS 合作,建立了高級別的向量儲存、管理和查詢能力,為自然語言處理應用程式和服務提供動力。他們將 Amazon OpenSearch Service 作為所有向量需求的默認存儲,並計劃在未來擴展其在向量資料庫方面的應用。
總的來說, RAG 技術為生成式 AI 應用程式帶來了前所未有的準確度和相關性,同時也確保了生成內容的安全性和可靠性。透過 AWS 提供的多種服務和工具,企業可以輕鬆地實現 RAG 技術,打造出卓越的生成式 AI 應用程式,為客戶帶來全新的體驗。
👉🏻了解更多 AWS 生成式 AI:https://www.cool3c.com/topics/aws
本文章內容由「Amazon Web Services (AWS)」提供。