Hướng Dẫn Triển Khai GenAI Bedrock Chatbot trên AWS
Trong bài viết này, chúng ta sẽ tìm hiểu cách triển khai chatbot sử dụng GenAI Bedrock của AWS. Với GenAI Bedrock, bạn có thể xây dựng các ứng dụng thông minh, sử dụng các mô hình AI mạnh mẽ của Amazon để tương tác với người dùng.
1. Tổng Quan về GenAI Bedrock Chatbot
GenAI Bedrock Chatbot là một framework mẫu giúp bạn xây dựng chatbot AI dựa trên Amazon Bedrock. Chatbot này có thể tích hợp với các dịch vụ khác của AWS như Amazon S3, Amazon Lambda, Amazon DynamoDB, v.v. để cung cấp một giải pháp hoàn chỉnh cho doanh nghiệp.
GenAI Chat Assistant trên AWS
Giới Thiệu
Ứng dụng demo Chat Assistant này tập trung vào việc phát triển một trợ lý trò chuyện tiên tiến sử dụng Amazon Bedrock và giải pháp GenAI serverless của AWS. Giải pháp này minh họa một trợ lý trò chuyện có khả năng sử dụng kiến thức từ Amazon SageMaker Developer Guide và SageMaker instance pricing. Chat Assistant này là ví dụ về sức mạnh của Amazon Bedrock trong việc xử lý và sử dụng các tập dữ liệu phức tạp, cũng như khả năng chuyển đổi ngôn ngữ tự nhiên thành các truy vấn Amazon Athena.
Ứng dụng sử dụng các công cụ mã nguồn mở như LangChain và LLamaIndex để cải thiện khả năng xử lý và truy xuất dữ liệu. Bài viết cũng nêu bật việc tích hợp các tài nguyên AWS khác nhau, bao gồm Amazon S3 cho lưu trữ, Amazon Kendra làm vector store hỗ trợ phương pháp "retrieval augmented generation" (RAG), AWS Glue để chuẩn bị dữ liệu, Amazon Athena cho truy vấn hiệu quả, Amazon Lambda cho tính toán serverless, và Amazon ECS để quản lý container. Những tài nguyên này kết hợp lại giúp Chat Assistant truy xuất và quản lý nội dung từ tài liệu và cơ sở dữ liệu một cách hiệu quả, minh chứng cho tiềm năng của Amazon Bedrock trong các ứng dụng Chat Assistant phức tạp.
Triển Khai
Vui lòng tham khảo bài viết APG để biết chi tiết các bước triển khai: Develop advanced generative AI chat-based assistants by using RAG and ReAct prompting.
Đối với giải pháp chat-assistant sử dụng Agents for Amazon Bedrock, vui lòng tham khảo:
- Bài viết APG: Develop a fully automated chat-based assistant by using Amazon Bedrock agents and knowledge bases
- Kho mã GitHub: genai-bedrock-agent-chat-assistant
Yêu Cầu Trước
- Docker
- AWS CDK Toolkit 2.132.1+, được cài đặt và cấu hình. Xem thêm tại Getting started with the AWS CDK.
- Python 3.11+, được cài đặt và cấu hình. Xem thêm tại Beginners Guide/Download trong tài liệu Python.
- Một tài khoản AWS đang hoạt động.
- Một AWS account bootstrapped bằng AWS CDK trong us-east-1. Khu vực us-east-1 là bắt buộc để truy cập các mô hình Claude và Titan embedding trong Bedrock.
- Kích hoạt truy cập mô hình Claude và Titan embedding trong dịch vụ Bedrock.
Công Nghệ Mục Tiêu
- Amazon Bedrock
- Amazon ECS
- AWS Glue
- AWS Lambda
- Amazon S3
- Amazon Kendra
- Amazon Athena
- Elastic Load Balancer
Kiến Trúc Mục Tiêu
Mã Nguồn
Kho mã chứa các tệp và thư mục sau:
- Thư mục
assets
– Các tài sản tĩnh như sơ đồ kiến trúc, dataset công khai, v.v. - Thư mục
code/lambda-container
– Mã Python chạy trong hàm Lambda. - Thư mục
code/streamlit-app
– Mã Python chạy dưới dạng container trong ECS. - Thư mục
tests
– Các tệp Python dùng để kiểm thử các cấu trúc AWS CDK. - Tệp
code/code_stack.py
– Các tệp Python CDK construct dùng để tạo tài nguyên AWS. - Tệp
app.py
– Các tệp stack AWS CDK Python dùng để triển khai tài nguyên AWS trong tài khoản mục tiêu. requirements.txt
– Danh sách tất cả các phụ thuộc Python cần được cài đặt cho AWS CDK.requirements-dev.txt
– Danh sách các phụ thuộc Python cần thiết để chạy bộ kiểm thử đơn vị AWS CDK.cdk.json
– Tệp đầu vào cung cấp giá trị cần thiết để tạo tài nguyên.
Lưu ý: Mã AWS CDK sử dụng L3 constructs và AWS managed IAM policies để triển khai giải pháp.
Các Lệnh Hữu Ích
cdk ls
liệt kê tất cả các stack trong ứng dụng.cdk synth
xuất template CloudFormation đã tổng hợp.cdk deploy
triển khai stack này vào tài khoản/khu vực AWS mặc định.cdk diff
so sánh stack đã triển khai với trạng thái hiện tại.cdk docs
mở tài liệu CDK.
2. Yêu Cầu Cơ Bản
Trước khi bắt đầu, bạn cần chuẩn bị các yêu cầu sau:
- Tài khoản AWS với quyền truy cập quản trị.
- AWS CLI được cài đặt và cấu hình.
- Terraform hoặc AWS CloudFormation để triển khai hạ tầng.
- Docker để build và deploy ứng dụng.
- Node.js để chạy các script frontend/backend (nếu có).
3. Các Bước Triển Khai
Bước 1: Clone Repo
Truy cập repository GenAI Bedrock Chatbot và clone mã nguồn về local:
git clone https://github.com/awslabs/genai-bedrock-chatbot.git
cd genai-bedrock-chatbot
Bước 2: Cấu Hình AWS CLI
Cấu hình AWS CLI với tài khoản của bạn:
aws configure
Nhập Access Key, Secret Key, và Region phù hợp với tài khoản AWS của bạn.
Bước 3: Tạo Hạ Tầng AWS
Repo cung cấp các script Terraform hoặc CloudFormation để tạo hạ tầng cần thiết. Di chuyển đến thư mục chứa các tệp Terraform hoặc CloudFormation:
Sử dụng Terraform:
- Cài đặt Terraform (nếu chưa cài đặt):
sudo apt-get install terraform
- Chạy lệnh sau để triển khai hạ tầng:
terraform init terraform apply
- Nhập "yes" khi được yêu cầu xác nhận.
Sử dụng AWS CloudFormation:
- Truy cập AWS Management Console.
- Đi tới CloudFormation và tạo stack mới bằng cách tải lên tệp
.yaml
từ repo. - Làm theo hướng dẫn trên giao diện để triển khai stack.
Bước 4: Build và Deploy Ứng Dụng
Sau khi hạ tầng đã được triển khai, tiếp theo là build và deploy ứng dụng:
- Build ứng dụng Docker:
docker build -t genai-bedrock-chatbot .
- Push image lên Amazon ECR:
aws ecr create-repository --repository-name genai-bedrock-chatbot docker tag genai-bedrock-chatbot:latest <ECR_URI>:latest docker push <ECR_URI>:latest
- Cập nhật image trong AWS ECS Task Definition (nếu sử dụng ECS).
Bước 5: Cấu Hình Mô Hình Bedrock
Truy cập AWS Bedrock trên console để cấu hình các mô hình AI mà bạn muốn sử dụng. Đảm bảo chọn các mô hình phù hợp với yêu cầu của chatbot.
Bước 6: Kiểm Tra và Triển Khai Hoàn Chỉnh
Truy cập ứng dụng thông qua URL được cung cấp (thường là từ Application Load Balancer hoặc API Gateway). Kiểm tra các tính năng của chatbot và điều chỉnh nếu cần.
4. Một Số Lưu Ý
- Đảm bảo các tài nguyên AWS không vượt quá giới hạn tài khoản của bạn.
- Xóa các tài nguyên không cần thiết sau khi hoàn tất triển khai để tránh phát sinh chi phí không mong muốn.
- Theo dõi log của ứng dụng trên AWS CloudWatch để kiểm tra lỗi và tối ưu hiệu suất.
5. Kết Luận
Bài viết đã hướng dẫn bạn cách triển khai GenAI Bedrock Chatbot trên AWS. Với hạ tầng mạnh mẽ của AWS và sự hỗ trợ từ GenAI Bedrock, bạn có thể tạo ra các chatbot AI hiện đại, tối ưu hóa trải nghiệm người dùng.
All rights reserved