0

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 GuideSageMaker 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:

  1. Bài viết APG: Develop a fully automated chat-based assistant by using Amazon Bedrock agents and knowledge bases
  2. 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 constructsAWS 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:

  1. Cài đặt Terraform (nếu chưa cài đặt):
    sudo apt-get install terraform
    
  2. Chạy lệnh sau để triển khai hạ tầng:
    terraform init
    terraform apply
    
  3. Nhập "yes" khi được yêu cầu xác nhận.

Sử dụng AWS CloudFormation:

  1. Truy cập AWS Management Console.
  2. Đi tới CloudFormation và tạo stack mới bằng cách tải lên tệp .yaml từ repo.
  3. 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:

  1. Build ứng dụng Docker:
    docker build -t genai-bedrock-chatbot .
    
  2. 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
    
  3. 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.

Source code


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí