Xây dựng ứng dụng đa phương thức RAG với Amazon Bedrock

Ngày nay, các tổ chức phải xử lý khối lượng lớn dữ liệu phi cấu trúc, tồn tại ở nhiều định dạng khác nhau, bao gồm tài liệu, hình ảnh, tệp âm thanh và tệp video. Trước đây, việc trích xuất những hiểu biết có ý nghĩa từ dữ liệu ở các định dạng khác nhau này đòi hỏi các quy trình xử lý phức tạp và nỗ lực phát triển đáng kể. Tuy nhiên, công nghệ AI tạo sinh đang cách mạng hóa lĩnh vực này, cung cấp các khả năng mạnh mẽ để tự động xử lý, phân tích và trích xuất thông tin chi tiết từ các định dạng tài liệu khác nhau này, giảm đáng kể nỗ lực thủ công đồng thời cải thiện độ chính xác và khả năng mở rộng.

Với Amazon Bedrock Data Automation và Amazon Bedrock Knowledge Bases, giờ đây bạn có thể dễ dàng xây dựng các ứng dụng RAG đa phương thức mạnh mẽ. Cùng nhau, chúng cho phép các tổ chức xử lý, sắp xếp và truy xuất thông tin hiệu quả từ nội dung đa phương thức của họ, thay đổi cách họ quản lý và sử dụng dữ liệu phi cấu trúc.

Bài viết này sẽ hướng dẫn bạn xây dựng một ứng dụng full-stack sử dụng Amazon Bedrock Data Automation để xử lý nội dung đa phương thức, lưu trữ thông tin đã trích xuất trong Amazon Bedrock Knowledge Bases và cho phép truy vấn ngôn ngữ tự nhiên thông qua giao diện hỏi đáp dựa trên RAG.

Các trường hợp sử dụng thực tế

Sự tích hợp của Amazon Bedrock Data Automation và Amazon Bedrock Knowledge Bases mang đến một giải pháp mạnh mẽ để xử lý khối lượng lớn dữ liệu phi cấu trúc trong nhiều ngành khác nhau, chẳng hạn như:

  • Trong lĩnh vực chăm sóc sức khỏe, các tổ chức cần xử lý khối lượng lớn hồ sơ bệnh nhân, bao gồm các biểu mẫu y tế, hình ảnh chẩn đoán và bản ghi âm tư vấn. Amazon Bedrock Data Automation có thể tự động trích xuất và cấu trúc thông tin này, trong khi Amazon Bedrock Knowledge Bases cho phép các chuyên gia y tế sử dụng các truy vấn bằng ngôn ngữ tự nhiên như “Số đo huyết áp cuối cùng của bệnh nhân là bao nhiêu?” hoặc “Hiển thị lịch sử điều trị cho bệnh nhân tiểu đường”.
  • Các tổ chức tài chính xử lý hàng nghìn tài liệu mỗi ngày, từ đơn xin vay đến báo cáo tài chính. Amazon Bedrock Data Automation có thể trích xuất các chỉ số tài chính quan trọng và thông tin tuân thủ, trong khi Amazon Bedrock Knowledge Bases cho phép các nhà phân tích đặt các câu hỏi như: “Những yếu tố rủi ro nào được đề cập trong báo cáo quý gần đây nhất?” hoặc “Hiển thị tất cả các đơn xin vay có điểm tín dụng cao”.
  • Các công ty luật cần xử lý khối lượng lớn hồ sơ vụ án, bao gồm hồ sơ tòa án, ảnh bằng chứng và lời khai của nhân chứng. Amazon Bedrock Data Automation có thể xử lý các nguồn khác nhau này, trong khi Amazon Bedrock Knowledge Bases cho phép luật sư truy vấn “Bằng chứng nào được đưa ra liên quan đến sự kiện ngày 15 tháng 3?” hoặc “Tìm tất cả các lời khai của nhân chứng đề cập đến bị cáo”.
  • Các công ty truyền thông có thể sử dụng tích hợp này để triển khai phân phối quảng cáo theo ngữ cảnh thông minh. Amazon Bedrock Data Automation xử lý nội dung video, phụ đề và âm thanh để hiểu ngữ cảnh, cuộc trò chuyện và cảm xúc của cảnh, đồng thời phân tích tài sản quảng cáo và yêu cầu chiến dịch quảng cáo. Sau đó, Amazon Bedrock Knowledge Bases cho phép các truy vấn phức tạp để khớp quảng cáo với các khoảnh khắc nội dung thích hợp, chẳng hạn như “Tìm các cảnh hoạt động ngoài trời tích cực chứa quảng cáo thiết bị thể thao” hoặc “Xác định các phân đoạn quảng cáo du lịch thảo luận về ngành du lịch”. Khớp ngữ cảnh thông minh này mang lại khả năng phân phối quảng cáo phù hợp và hiệu quả hơn đồng thời duy trì sự an toàn cho thương hiệu.

Những ví dụ này cho thấy sự kết hợp giữa khả năng trích xuất của Amazon Bedrock Data Automation và khả năng truy vấn ngôn ngữ tự nhiên của Amazon Bedrock Knowledge Bases có thể thay đổi cách các tổ chức tương tác với dữ liệu phi cấu trúc của họ như thế nào.

Tổng quan về giải pháp

Giải pháp toàn diện này trình bày những khả năng nâng cao của Amazon Bedrock trong việc xử lý và phân tích nội dung đa phương thức (tài liệu, hình ảnh, tệp âm thanh và tệp video), được thực hiện thông qua ba thành phần chính: Amazon Bedrock Data Automation, Amazon Bedrock Knowledge Bases và các mô hình nền tảng do Amazon Bedrock cung cấp. Người dùng có thể tải lên nhiều loại nội dung khác nhau, bao gồm tệp âm thanh, hình ảnh, video hoặc PDF để xử lý và phân tích tự động.

Khi bạn tải lên nội dung, Amazon Bedrock Data Automation sẽ xử lý nội dung đó bằng cách sử dụng bản thiết kế tiêu chuẩn hoặc tùy chỉnh để trích xuất thông tin chi tiết có giá trị. Thông tin đã trích xuất được lưu trữ ở định dạng JSON trong một vùng lưu trữ Amazon Simple Storage Service (Amazon S3), trong khi trạng thái công việc được theo dõi thông qua Amazon EventBridge và được lưu trong Amazon DynamoDB. Giải pháp này thực hiện phân tích cú pháp JSON tùy chỉnh của thông tin đã trích xuất để tạo các tài liệu tương thích với knowledge base, sau đó được lưu trữ trong Amazon Bedrock Knowledge Bases và lập chỉ mục.

Thông qua giao diện người dùng trực quan, giải pháp hiển thị cả nội dung đã tải lên và thông tin đã trích xuất của nội dung đó. Người dùng có thể tương tác với dữ liệu đã xử lý thông qua hệ thống hỏi đáp dựa trên cơ chế tạo sinh tăng cường truy xuất (RAG), được hỗ trợ bởi các mô hình nền tảng Amazon Bedrock. Phương pháp tích hợp này cho phép các tổ chức xử lý, phân tích và thu thập thông tin chi tiết hiệu quả từ nhiều định dạng nội dung khác nhau, đồng thời sử dụng cơ sở hạ tầng mạnh mẽ và có khả năng mở rộng được triển khai bằng AWS Cloud Development Kit (AWS CDK).

Kiến trúc

Sơ đồ kiến trúc sau minh họa quy trình của giải pháp:

  1. Người dùng tương tác với ứng dụng front-end, được xác thực bằng Amazon Cognito.
  2. Các yêu cầu API được xử lý bởi Amazon API Gateway và các hàm AWS Lambda.
  3. Tệp được tải lên vùng lưu trữ S3 để xử lý.
  4. Amazon Bedrock Data Automation xử lý tệp và trích xuất thông tin.
  5. EventBridge quản lý trạng thái công việc và kích hoạt quá trình xử lý hậu kỳ.
  6. Trạng thái công việc được lưu trữ trong DynamoDB và nội dung đã xử lý được lưu trữ trong Amazon S3.
  7. Hàm Lambda phân tích cú pháp nội dung đã xử lý và lập chỉ mục trong Amazon Bedrock Knowledge Bases.
  8. Hệ thống hỏi đáp dựa trên RAG sử dụng các mô hình nền tảng Amazon Bedrock để trả lời các truy vấn của người dùng.

Điều kiện tiên quyết

Back-end

Đối với back-end, bạn cần có các điều kiện tiên quyết sau:

  • Một tài khoản AWS.
  • Python 3.11 trở lên.
  • Docker.
  • GitHub (nếu sử dụng kho mã).
  • AWS CDK. Để biết thêm chi tiết và điều kiện tiên quyết, hãy xem Bắt đầu với AWS CDK.
  • Bật quyền truy cập vào các mô hình nền tảng trong Amazon Bedrock:
    • Claude 3.5 Sonnet v2.0 của Anthropic
    • Amazon Nova Pro v1.0
    • Claude 3.7 Sonnet v1.0 của Anthropic

Front-end

Đối với front-end, bạn cần có các điều kiện tiên quyết sau:

  • Node/npm: v18.12.1
  • Back-end đã triển khai.
  • Ít nhất một người dùng đã được thêm vào nhóm người dùng Amazon Cognito tương ứng (bắt buộc đối với các lệnh gọi API được xác thực).

Mọi thứ bạn cần đều có sẵn dưới dạng mã nguồn mở trong kho lưu trữ GitHub của chúng tôi.

Hướng dẫn triển khai

Cơ sở mã ứng dụng mẫu này được tổ chức thành các thư mục chính sau:

samples/bedrock-bda-media-solution