在未來幾年,生成式AI將徹底重塑用戶體驗,推動這一變革的關(guān)鍵之一是引入AI助手,利用智能工具幫助用戶輕松應對日益復雜的數(shù)字環(huán)境。在本文中將展示如何構(gòu)建基于上下文的AI助手解決方案。該解決方案結(jié)合了Amazon Bedrock Knowledge Bases、Amazon Lex、Amazon Connect和WhatsApp,通過一個用戶熟悉且便捷的界面,為用戶提供智能支持。
通過將公司私有數(shù)據(jù)源導入Amazon Bedrock Knowledge Bases,可以為基礎(chǔ)模型(FM)和AI助手提供上下文信息,實現(xiàn)檢索增強生成(RAG)。該解決方案與Amazon Lex和Amazon Connect的原生兼容性簡化了特定領(lǐng)域知識的整合,助力構(gòu)建對話式AI應用。通過自動化的文檔攝取、分塊和嵌入,無需手動配置復雜的向量數(shù)據(jù)庫或自定義檢索系統(tǒng),極大地降低了開發(fā)的難度,并節(jié)省了大量時間。
此方案能夠提升基礎(chǔ)模型響應的準確性,減少“幻覺”現(xiàn)象的出現(xiàn),因為數(shù)據(jù)已經(jīng)過驗證,并且能夠確保對話內(nèi)容的高度相關(guān)性。與傳統(tǒng)的自定義知識管理系統(tǒng)相比,該方案不僅減少了開發(fā)資源的消耗,還降低了運營成本,提升了整體的成本效益。借助AWS無服務器架構(gòu),解決方案具有良好的可擴展性,可以快速應對不斷增長的數(shù)據(jù)量和用戶查詢量。
此外AWS 強大的安全基礎(chǔ)設施為數(shù)據(jù)隱私保護和合規(guī)性提供了保障。由于知識庫持續(xù)更新,AI 助手始終能夠獲取最新的信息。通過使用Amazon Bedrock Knowledge Bases,企業(yè)可以將復雜的知識管理與檢索交由AWS處理,自己則專注于開發(fā)增值的AI應用,加快部署過程,從而打造更準確、更強大的AI解決方案。
AWS官網(wǎng)地址:https://www.amazon.com/
一、前提條件
要實施此解決方案,需要滿足以下條件:
1、擁有在 Amazon Bedrock、Amazon Lex、Amazon Connect 和 AWS Lambda 中創(chuàng)建資源的權(quán)限。
2、獲得在 Amazon Bedrock 上啟用 Anthropic Claude 3 Haiku 模型的權(quán)限。
3、擁有與 Amazon Connect 集成的 WhatsApp 企業(yè)賬戶。
4、準備好產(chǎn)品文檔、知識文章或其他相關(guān)數(shù)據(jù),這些內(nèi)容需要以兼容格式(如 PDF 或文本)導入到知識庫。
二、AWS解決方案概述
該解決方案結(jié)合了多個AWS AI服務來構(gòu)建并部署一個功能強大的AI助手:
1、Amazon Bedrock:作為一項全托管服務,它通過單一API提供來自AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI和Amazon Titan等頂級AI公司的高性能基礎(chǔ)模型,以及強大的功能支持,幫助客戶構(gòu)建高安全性和隱私性保障的生成式AI應用。
2、Amazon Bedrock Knowledge Bases:通過將私有數(shù)據(jù)源導入Amazon Bedrock Knowledge Bases,為AI助手提供上下文信息,增強生成式AI響應的準確性。
3、Amazon OpenSearch Service:作為Amazon Bedrock Knowledge Bases的原生向量存儲系統(tǒng),提供高效的檢索能力。
4、Amazon Lex:用來構(gòu)建AI助手的對話界面,支持定義意圖(Intent)和槽位(Slot),實現(xiàn)復雜的對話邏輯。
5、Amazon Connect:作為呼叫中心解決方案,支持與WhatsApp等渠道的集成,允許用戶通過這些流行的消息應用與AI助手互動。
6、AWS Lambda:用于運行代碼并集成各項服務,實現(xiàn)LangChain智能體(Agent)的核心邏輯處理。
7、Amazon API Gateway:接收來自WhatsApp的傳入請求,并將請求路由至AWS Lambda以進行后續(xù)處理。
8、Amazon DynamoDB:用于存儲接收到的消息和生成的響應,便于記憶對話歷史,確保更加個性化的對話體驗。
9、Amazon SNS:用于路由Amazon Connect傳出的響應消息,確保信息傳遞的及時性。
10、LangChain:為構(gòu)建LangChain Agent提供了一個強大的抽象層,幫助基礎(chǔ)模型基于上下文進行推理,以生成更精確的響應。
11、LangSmith:通過將Agent追蹤上傳至LangSmith,增強AI助手的可觀察性,支持調(diào)試、監(jiān)控、測試和評估,確保對話質(zhì)量和系統(tǒng)性能的持續(xù)優(yōu)化。
下圖展示了該解決方案的架構(gòu):
三、流程概述
下圖右側(cè)的紅色數(shù)字展示了數(shù)據(jù)攝取的過程:
1、上傳數(shù)據(jù)到Amazon S3:將文件上傳到Amazon Simple Storage Service (Amazon S3) 存儲桶,作為數(shù)據(jù)源。
2、觸發(fā)Lambda函數(shù):新文件的上傳觸發(fā)Lambda函數(shù)的執(zhí)行。
3、調(diào)用知識庫同步操作:Lambda函數(shù)調(diào)用知識庫的數(shù)據(jù)同步操作。
4、生成并存儲嵌入:Amazon Bedrock Knowledge Bases 從 S3獲取數(shù)據(jù),分塊處理后,使用選擇的基礎(chǔ)模型生成嵌入,并將其存儲在Amazon OpenSearch Service中。
下圖左側(cè)的數(shù)字展示了消息傳遞的流程:
1、用戶發(fā)起通信:用戶通過WhatsApp向托管的Webhook發(fā)送消息。
2、消息路由:Amazon API Gateway將用戶消息路由到執(zhí)行的Lambda函數(shù)處理程序
。
3、記錄用戶信息:入站消息處理程序?qū)⒂脩舻穆?lián)系信息保存到Amazon DynamoDB中。
4、新用戶與老用戶的處理:首次訪問的用戶,入站消息處理程序會在Amazon Connect中創(chuàng)建新會話,并將信息存入DynamoDB。對于老用戶,則會使用已有的Amazon Connect會話。
5、消息轉(zhuǎn)發(fā)與處理:Amazon Connect將用戶消息轉(zhuǎn)發(fā)至Amazon Lex,后者進行自然語言處理。
6、調(diào)用LangChain AI助手:Amazon Lex觸發(fā)LangChain AI助手,該助手由Lambda函數(shù)實現(xiàn)。
7、檢索對話歷史:LangChain AI助手從DynamoDB中檢索對話歷史記錄。
8、獲取相關(guān)上下文信息:LangChain AI助手使用Amazon Bedrock Knowledge Bases獲取相關(guān)的上下文信息。
9、生成提示并調(diào)用模型:LangChain AI助手編譯提示,結(jié)合上下文數(shù)據(jù)和用戶查詢,提交給在Amazon Bedrock上運行的基礎(chǔ)模型進行處理。
10、返回并傳遞響應:Amazon Bedrock返回模型響應,LangChain AI助手將其轉(zhuǎn)發(fā)至 Amazon Lex,Amazon Lex再將其傳遞到Amazon Connect。
11、發(fā)送用戶響應:Amazon Connect將響應發(fā)送至Amazon Simple Notification Service (Amazon SNS),觸發(fā)出站消息處理程序。
12、從DynamoDB獲取聯(lián)系人信息:出站消息處理程序從DynamoDB檢索相關(guān)聊天聯(lián)系人信息。
13、發(fā)送WhatsApp 消息:通過Meta的WhatsApp API,出站消息處理程序?qū)㈨憫獌?nèi)容發(fā)送給用戶。
四、使用AWS產(chǎn)品部署AI助手的步驟
部署此 AI 助手包含三個主要步驟:
1、創(chuàng)建Amazon Bedrock知識庫:從產(chǎn)品文檔、常見問題、知識文章等數(shù)據(jù)源中提取相關(guān)信息,構(gòu)建知識庫,以供AI助手使用。這些數(shù)據(jù)應覆蓋AI助手所需的核心場景和主題。
2、創(chuàng)建LangChain Agent:LangChain Agent由Lambda函數(shù)實現(xiàn),它使用知識庫作為主要的數(shù)據(jù)源進行信息查找。可以通過提供的AWS CloudFormation模板自動部署Agent以及相關(guān)資源。
3、創(chuàng)建并配置Amazon Connect實例與WhatsApp集成:Amazon Connect實例與WhatsApp的集成讓用戶能夠通過WhatsApp與AI助手交互。此集成將有助于提升用戶體驗,因為WhatsApp是全球使用廣泛的通訊平臺。
解決方案部署
本文提供了一個預構(gòu)建的AWS CloudFormation模板,供在AWS賬戶中快速部署所需資源。
1、登錄AWS控制臺(如果尚未登錄)。
2、點擊以下Launch Stack(啟動堆棧) 按鈕,進入AWS CloudFormation控制臺以創(chuàng)建新的堆棧。
3、配置以下參數(shù):
- StackName:堆棧名稱,如WhatsAppAIStack。
- LangchainAPIKey:通過LangChain獲取的API密鑰。
4、選擇相應區(qū)域,點擊Launch Stack,并根據(jù)需要選擇模板URL或AWS CDK堆棧進行自定義??蛇x擇通過GitHub進行自定義或更新現(xiàn)有堆棧。
5、勾選確認創(chuàng)建IAM資源的復選框,點擊Create Stack(創(chuàng)建堆棧)。
6、等待約10分鐘以完成堆棧創(chuàng)建。在此過程中,會自動創(chuàng)建以下資源:
- LangChain Agent
- Amazon Lex機器人
- Amazon Bedrock知識庫
- 向量存儲(Amazon OpenSearch Serverless)
- Lambda 函數(shù)(用于數(shù)據(jù)攝取和提供程序)
- 數(shù)據(jù)源(Amazon S3存儲桶)
- DynamoDB
- Parameter Store(用于存儲LangChain API密鑰)
- IAM 角色與權(quán)限
7.、將文件上傳至為WhatsApp創(chuàng)建的數(shù)據(jù)源(Amazon S3 存儲桶)。上傳后數(shù)據(jù)源將自動同步。
8、要測試AI助手,可以登錄Amazon Lex控制臺,選擇新創(chuàng)建的助手,選擇English(英語),點擊Test(測試) 并發(fā)送一條消息。
五、創(chuàng)建Amazon Connect實例并集成WhatsApp
配置 Amazon Connect 與 WhatsApp 企業(yè)賬戶集成,并為 AI 助手啟用 WhatsApp 頻道:
1、登錄到AWS控制臺,導航至Amazon Connect。
2、如果尚未創(chuàng)建Amazon Connect 實例,請先創(chuàng)建一個。在Distribution settings(分配設置)中,復制Instance ARN,該值在關(guān)聯(lián)WhatsApp企業(yè)賬戶時會用到。
3、選擇實例,在導航欄選擇Flows(工作流),并創(chuàng)建新的工作流。
4、在工作流中,選擇Amazon Lex,并添加創(chuàng)建的Amazon Lex機器人。
5、在工作流中配置Text-to-speech or chat text(文本轉(zhuǎn)語音或聊天文本)組件,添加如“Hello, how can I help you today?”的歡迎信息。
6、配置完工作流后,添加一個Disconnect(斷開)組件,并將流程連接到該組件。完成后,點擊Publish(發(fā)布)。
7、在 Overview(概覽)中,復制工作流的Amazon Resource Name (ARN),在配置 WhatsApp集成時將需要此ARN。
六、測試解決方案
通過WhatsApp與AI助手互動:
七、清理資源
為避免持續(xù)費用,請在操作完成后刪除相關(guān)資源:
1、刪除 AWS CloudFormation 堆棧。
2、刪除 Amazon Connect 實例。
相關(guān)推薦:
《Stable Diffusion快速部署(Amazon EC2)》
-
廣告合作
-
QQ群號:4114653