Tăng Tốc Hiệu Suất AI: Sử Dụng Amazon OpenSearch Service Làm Vector Database với Amazon Bedrock

Artificial Intelligence (AI) đã thay đổi cách con người tương tác với thông tin theo hai hướng chính — các ứng dụng tìm kiếm và AI sinh (generative AI). Các ứng dụng tìm kiếm bao gồm các trang thương mại điện tử, công cụ tìm kiếm trong kho tài liệu, tổng đài chăm sóc khách hàng, hệ thống quản lý quan hệ khách hàng (CRM), ghép đôi trong trò chơi điện tử và tìm kiếm trong ứng dụng. Các trường hợp sử dụng của AI sinh bao gồm chatbot với công nghệ Tìm kiếm Tăng cường bằng Truy xuất (Retrieval-Augmented Generation – RAG), phân tích nhật ký thông minh, sinh mã lập trình, tóm tắt tài liệu và trợ lý Artificial intelligence (AI).

AWS khuyến nghị sử dụng Amazon OpenSearch Service làm cơ sở dữ liệu vector cho Amazon Bedrock như những khối xây dựng cốt lõi để hỗ trợ các tác vụ này.

Trong bài viết này, bạn sẽ học cách sử dụng OpenSearch Service và Amazon Bedrock để xây dựng các ứng dụng tìm kiếm và AI sinh có tích hợp trí tuệ nhân tạo. Bạn sẽ tìm hiểu cách các hệ thống tìm kiếm sử dụng Artificial intelligence dựa trên các mô hình nền tảng (Foundation Models – FMs) để nắm bắt và truy xuất ngữ cảnh cũng như ý nghĩa từ văn bản, hình ảnh, âm thanh và video — từ đó cung cấp kết quả chính xác hơn cho người dùng. Bạn cũng sẽ hiểu cách các hệ thống AI sinh sử dụng các kết quả tìm kiếm đó để tạo ra các phản hồi gốc cho câu hỏi, hỗ trợ các cuộc trò chuyện tương tác giữa con người và máy móc.

Tìm hiểu thêm:

https://osam.io/ai-agents-vs-agentic-ai-hay-tim-hieu-de-tranh-nham-lan/

https://osam.io/agentic-ai-voi-deepseek-r1-crewai-va-amazon-sagemaker-ai-2/

Bài viết cũng giải đáp các câu hỏi thường gặp như:

  1. Cơ sở dữ liệu vector là gì và chúng hỗ trợ các ứng dụng Artificial intelligence sinh như thế nào?
  2. Vì sao Amazon OpenSearch Service được khuyến nghị là cơ sở dữ liệu vector cho Amazon Bedrock?
  3. Các cơ sở dữ liệu vector giúp ngăn ngừa hiện tượng “ảo tưởng AI” (AI hallucinations) như thế nào?
  4. Cơ sở dữ liệu vector có thể cải thiện hệ thống gợi ý như thế nào?
  5. Khả năng mở rộng của OpenSearch với vai trò là cơ sở dữ liệu vector ra sao?

Vector database hoạt động trong quy trình AI như thế nào

Khi xây dựng tìm kiếm, FMs và các mô hình AI khác chuyển đổi các loại dữ liệu khác nhau (văn bản, hình ảnh, âm thanh và video) thành biểu diễn toán học gọi là vector. Khi sử dụng vector để tìm kiếm, bạn mã hóa dữ liệu thành vector và lưu trữ các vector đó trong vector database. Bạn tiếp tục chuyển đổi truy vấn thành vector và sau đó truy vấn vector database để tìm các mục liên quan bằng cách giảm thiểu khoảng cách giữa các vector.

Khi xây dựng cho generative AI, bạn sử dụng FMs như large language models (LLMs) để tạo văn bản, video, âm thanh, hình ảnh, code và nhiều thứ khác từ một prompt. Prompt có thể chứa văn bản, chẳng hạn như câu hỏi của người dùng, cùng với các phương tiện khác như hình ảnh, âm thanh hoặc video. Tuy nhiên, các mô hình generative AI có thể tạo ra hallucination – kết quả có vẻ thuyết phục nhưng chứa lỗi thực tế. Để giải quyết thách thức này, bạn sử dụng vector search để truy xuất thông tin chính xác từ vector database. Bạn thêm thông tin này vào prompt trong một quy trình gọi là Retrieval-Augmented Generation (RAG).

Tại sao Amazon OpenSearch Service cho AI là vector database được khuyến nghị sử dụng Amazon Bedrock?

Amazon Bedrock là dịch vụ được quản lý hoàn toàn cung cấp FMs từ các công ty Artificial intelligence hàng đầu và các công cụ để tùy chỉnh các FM này với dữ liệu của bạn để cải thiện độ chính xác. Với Amazon Bedrock, bạn có được giải pháp serverless, không rắc rối để áp dụng FM đã chọn và sử dụng nó cho ứng dụng generative AI của bạn.

Amazon OpenSearch Service là dịch vụ được quản lý hoàn toàn mà bạn có thể sử dụng để triển khai và vận hành OpenSearch trên AWS Cloud. OpenSearch là giải pháp tìm kiếm, phân tích log và vector database mã nguồn mở, bao gồm công cụ tìm kiếm và vector database; và OpenSearch Dashboards, giải pháp phân tích log, quan sát, phân tích bảo mật và tạo dashboard. OpenSearch Service có thể giúp bạn triển khai và vận hành cơ sở hạ tầng tìm kiếm với khả năng vector database tích hợp sẵn, mẫu được xây dựng sẵn và thiết lập đơn giản. Các cuộc gọi API và mẫu tích hợp hợp lý hóa kết nối với Amazon Bedrock FMs, trong khi công cụ vector của OpenSearch Service có thể mang lại độ trễ thấp đến mức một chữ số mili giây cho tìm kiếm trên hàng tỷ vector, khiến nó lý tưởng cho các ứng dụng AI thời gian thực.

OpenSearch là một loại công nghệ cơ sở dữ liệu chuyên biệt ban đầu được thiết kế để tối ưu hóa độ trễ và thông lượng cho việc khớp và truy xuất các khối văn bản phi cấu trúc lớn và nhỏ với kết quả được xếp hạng. OpenSearch xếp hạng kết quả dựa trên thước đo độ tương đồng với truy vấn tìm kiếm, trả về các kết quả tương tự nhất. Việc khớp độ tương đồng này đã phát triển theo thời gian. Trước FMs, các công cụ tìm kiếm sử dụng hệ thống tính điểm tần suất từ gọi là term frequency/inverse document frequency (TF/IDF). OpenSearch Service sử dụng TF/IDF để tính điểm tài liệu dựa trên mức độ hiếm của các thuật ngữ tìm kiếm trong tất cả tài liệu và tần suất xuất hiện của các thuật ngữ tìm kiếm trong tài liệu đang được tính điểm.

Với sự phát triển của AI/ML, OpenSearch đã thêm khả năng tính toán điểm tương đồng cho khoảng cách giữa các vector. Để tìm kiếm với vector, bạn thêm vector embeddings được tạo ra bởi FMs và các công nghệ AI/ML khác vào tài liệu của mình. Để tính điểm tài liệu cho một truy vấn, OpenSearch tính toán khoảng cách từ vector của tài liệu đến vector từ truy vấn. OpenSearch còn cung cấp lọc và khớp dựa trên trường và tìm kiếm hybrid vector and lexical search, mà bạn sử dụng để kết hợp các thuật ngữ trong truy vấn của mình. Tìm kiếm hybrid của OpenSearch thực hiện truy vấn từ vựng và vector song song, tạo ra điểm tương đồng với chuẩn hóa điểm tích hợp và trộn để cải thiện độ chính xác của kết quả tìm kiếm so với chỉ tương đồng từ vựng hoặc vector.

OpenSearch Service hỗ trợ ba công cụ vector: Facebook AI Similarity (FAISS), Non-Metric Space Library (NMSLib) và Apache Lucene. Nó hỗ trợ exact nearest neighbor search, and approximate nearest neighbor (ANN) search with either hierarchical navigable small world (HNSW), or Inverted File (IVF) engines. OpenSearch Service supports vector quantization methods, including disk-based vector quantization để bạn có thể tối ưu hóa chi phí, độ trễ và độ chính xác truy xuất cho giải pháp của mình.

Use case 1: Cải thiện kết quả tìm kiếm với AI/ML

Để cải thiện kết quả tìm kiếm với AI/ML, bạn sử dụng mô hình ML tạo vector, thường xuyên nhất là LLM hoặc mô hình đa phương thức tạo embeddings cho đầu vào văn bản và hình ảnh. Bạn sử dụng Amazon OpenSearch Ingestion hoặc công nghệ tương tự để gửi dữ liệu của mình đến OpenSearch Service với OpenSearch Neural Plugin để tích hợp mô hình, sử dụng ID mô hình, vào OpenSearch ingest pipeline. Pipeline nhập gọi Amazon Bedrock để tạo vector embeddings cho mọi tài liệu trong quá trình nhập.

Use case 1: Cải thiện kết quả tìm kiếm với AI/ML

Để truy vấn OpenSearch Service như một vector database, bạn sử dụng OpenSearch neural query để gọi Amazon Bedrock tạo embedding cho truy vấn. Truy vấn neural sử dụng vector database để truy xuất các láng giềng gần nhất.

Amazon Bedrock cho suy luận từ xa

 

amazon opensearch service

Sau khi đã tạo tích hợp, bạn có thể tham chiếu đến model_id khi thiết lập pipeline nhập và tìm kiếm của mình.

Use case 2: Amazon OpenSearch Serverless như một cơ sở kiến thức Amazon Bedrock cho AI

Amazon OpenSearch Serverless cung cấp vector database tự động mở rộng, hiệu suất cao mà bạn có thể sử dụng để xây dựng với Amazon Bedrock cho RAG và AI agents mà không cần quản lý cơ sở hạ tầng vector database. Khi sử dụng OpenSearch Serverless, bạn tạo một collection – tập hợp các chỉ mục cho nhu cầu tìm kiếm, vector và ghi log của ứng dụng của bạn. Đối với các trường hợp sử dụng vector database, bạn gửi dữ liệu vector của mình đến các chỉ mục của collection và OpenSearch Serverless tạo vector database cung cấp độ tương đồng và truy xuất vector nhanh chóng.

Khi sử dụng OpenSearch Serverless làm vector database, bạn chỉ trả tiền cho việc lưu trữ vector và tính toán cần thiết để phục vụ truy vấn của mình. Khả năng tính toán serverless được đo bằng OpenSearch Compute Units (OCUs). Bạn có thể triển khai OpenSearch Serverless bắt đầu từ chỉ một OCU cho workload phát triển và kiểm thử với khoảng 175$/tháng. OpenSearch Serverless tự động mở rộng lên và xuống để đáp ứng workload nhập và tìm kiếm của bạn.

Với Amazon OpenSearch Serverless, bạn có được autoscaled, performant vector database that is seamlessly integrated with Amazon Bedrock as a knowledge base cho giải pháp generative AI của bạn. Bạn sử dụng bảng điều khiển Amazon Bedrock để tự động tạo vector từ dữ liệu của mình trong tối đa năm kho dữ liệu, bao gồm bucket Amazon Simple Storage Service (Amazon S3) và lưu trữ chúng trong collection Amazon OpenSearch Serverless.

Amazon Bedrock

 

Khi bạn đã cấu hình nguồn dữ liệu và chọn mô hình, hãy chọn Amazon OpenSearch Serverless làm vector store của bạn, và Amazon Bedrock và OpenSearch Serverless sẽ tiếp quản từ đó. Amazon Bedrock sẽ tự động truy xuất dữ liệu nguồn từ nguồn dữ liệu của bạn, áp dụng các chiến lược phân tích và phân đoạn bạn đã cấu hình và lập chỉ mục vector embeddings trong OpenSearch Serverless. Một cuộc gọi API sẽ đồng bộ hóa nguồn dữ liệu của bạn với vector store OpenSearch Serverless.

Select embeddings model and configure vector store

Cuộc gọi Amazon Bedrock retrieve_and_generate() runtime API giúp bạn dễ dàng triển khai RAG với Amazon Bedrock và knowledge base OpenSearch Serverless của bạn.

response = bedrock_agent_runtime_client.retrieve_and_generate(

  input={

    ‘text’: prompt,

  },

  retrieveAndGenerateConfiguration={

    ‘type’: ‘KNOWLEDGE_BASE’,

    ‘knowledgeBaseConfiguration’: {

      ‘knowledgeBaseId’: knowledge_base_id,

      ‘modelArn’: model_arn,

}}) 

Kết luận

Tăng tốc ứng dụng AI với Amazon OpenSearch Service và Amazon Bedrock: Giải pháp tìm kiếm thông minh, tích hợp Generative AI

Trong kỷ nguyên Artificial intelligence bùng nổ, việc xây dựng những trải nghiệm tìm kiếm mang tính ngữ nghĩa và bối cảnh đã trở thành yếu tố cốt lõi. Bài viết này đã hướng dẫn bạn cách Amazon OpenSearch Service kết hợp liền mạch với Amazon Bedrock để triển khai các ứng dụng tìm kiếm thông minh, được hỗ trợ bởi AI và generative AI.

Amazon OpenSearch Service – vector database được AWS khuyến nghị cho Amazon Bedrock – cho phép bạn tích hợp trực tiếp các Foundation Models (FMs) từ Bedrock để tạo vector embeddings, từ đó nâng cấp khả năng semantic search với chiều sâu ngữ nghĩa vượt trội.

Bạn cũng đã khám phá cách OpenSearch Serverless cung cấp nền tảng knowledge base tích hợp cho Bedrock, giúp đơn giản hóa việc triển khai các mô hình RAG (Retrieval-Augmented Generation) và các giải pháp AI tạo sinh khác, mà không cần phải quản lý hạ tầng phức tạp.

👉 Bắt đầu ngay với Amazon OpenSearch Service và Amazon Bedrock để tối ưu hóa các ứng dụng AI của bạn – từ khả năng tìm kiếm chính xác, giàu ngữ cảnh đến đầu ra generative AI đáng tin cậy và phù hợp mục tiêu kinh doanh.