Thế hệ tăng cường truy xuất với LangChain, Amazon SageMaker JumpStart và tìm kiếm ngữ nghĩa MongoDB Atlas | Dịch vụ web của Amazon

Thế hệ tăng cường truy xuất với LangChain, Amazon SageMaker JumpStart và tìm kiếm ngữ nghĩa MongoDB Atlas | Dịch vụ web của Amazon

Trí tuệ nhân tạo các mô hình có tiềm năng cách mạng hóa hoạt động của doanh nghiệp, nhưng doanh nghiệp phải cân nhắc cẩn thận cách khai thác sức mạnh của mình đồng thời vượt qua các thách thức như bảo vệ dữ liệu và đảm bảo chất lượng nội dung do AI tạo ra.

Khung Thế hệ tăng cường truy xuất (RAG) tăng cường các lời nhắc bằng dữ liệu bên ngoài từ nhiều nguồn, chẳng hạn như kho tài liệu, cơ sở dữ liệu hoặc API, để làm cho các mô hình nền tảng trở nên hiệu quả đối với các tác vụ theo miền cụ thể. Bài đăng này trình bày các khả năng của mô hình RAG và nêu bật tiềm năng biến đổi của MongoDB Atlas với tính năng Tìm kiếm Vector của nó.

Bản đồ MongoDB là một bộ dịch vụ dữ liệu tích hợp giúp tăng tốc và đơn giản hóa việc phát triển các ứng dụng dựa trên dữ liệu. Kho dữ liệu vectơ của nó tích hợp liền mạch với bộ lưu trữ dữ liệu vận hành, loại bỏ nhu cầu về cơ sở dữ liệu riêng biệt. Sự tích hợp này cho phép khả năng tìm kiếm ngữ nghĩa mạnh mẽ thông qua Tìm kiếm vectơ, một cách nhanh chóng để xây dựng các ứng dụng hỗ trợ AI và tìm kiếm ngữ nghĩa.

Amazon SageMaker cho phép doanh nghiệp xây dựng, đào tạo và triển khai các mô hình học máy (ML). Khởi động Amazon SageMaker cung cấp các mô hình và dữ liệu được đào tạo trước để giúp bạn bắt đầu với ML. Bạn có thể truy cập, tùy chỉnh và triển khai các mô hình và dữ liệu được đào tạo trước thông qua trang đích SageMaker JumpStart trong Xưởng sản xuất Amazon SageMaker chỉ với một vài cú nhấp chuột.

Amazon là giao diện đàm thoại giúp doanh nghiệp tạo ra các chatbot và bot thoại tham gia vào các tương tác tự nhiên, giống như thật. Bằng cách tích hợp Amazon Lex với AI tổng hợp, các doanh nghiệp có thể tạo ra một hệ sinh thái toàn diện nơi thông tin đầu vào của người dùng chuyển đổi liền mạch thành các phản hồi mạch lạc và phù hợp với ngữ cảnh.

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

Sơ đồ sau minh họa kiến ​​trúc giải pháp.

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

Trong các phần sau, chúng ta sẽ tìm hiểu các bước để triển khai giải pháp này và các thành phần của nó.

Thiết lập cụm MongoDB

Để tạo cụm MongoDB Atlas cấp miễn phí, hãy làm theo hướng dẫn trong Tạo một cụm. Thiết lập cơ sở dữ liệu truy cập và mạng truy cập.

Triển khai mô hình nhúng SageMaker

Bạn có thể chọn kiểu nhúng (TẤT CẢ MiniLM L6 v2) trên SageMaker JumpStart Mô hình, sổ ghi chép, giải pháp .

SageMaker JumpStart Mô hình, sổ ghi chép, giải pháp

Chọn Triển khai để triển khai mô hình.

Xác minh mô hình được triển khai thành công và xác minh điểm cuối được tạo.

mô hình được triển khai thành công

nhúng véc tơ

nhúng véc tơ là một quá trình chuyển đổi văn bản hoặc hình ảnh thành biểu diễn vector. Với đoạn mã sau, chúng ta có thể tạo các phần nhúng vectơ bằng SageMaker JumpStart và cập nhật bộ sưu tập với vectơ đã tạo cho mọi tài liệu:

payload = {"text_inputs": [document[field_name_to_be_vectorized]]}
query_response = query_endpoint_with_json_payload(json.dumps(payload).encode('utf-8'))
embeddings = parse_response_multiple_texts(query_response) # update the document
update = {'$set': {vector_field_name :  embeddings[0]}}
collection.update_one(query, update)

Đoạn mã trên cho thấy cách cập nhật một đối tượng trong một bộ sưu tập. Để cập nhật tất cả các đối tượng, hãy làm theo hướng dẫn.

Kho dữ liệu vector MongoDB

Tìm kiếm vectơ Atlas MongoDB là một tính năng mới cho phép bạn lưu trữ và tìm kiếm dữ liệu vectơ trong MongoDB. Dữ liệu vectơ là loại dữ liệu biểu thị một điểm trong không gian nhiều chiều. Loại dữ liệu này thường được sử dụng trong các ứng dụng ML và trí tuệ nhân tạo. MongoDB Atlas Vector Search sử dụng một kỹ thuật gọi là k-hàng xóm gần nhất (k-NN) để tìm kiếm các vectơ tương tự. k-NN hoạt động bằng cách tìm k vectơ giống nhất với một vectơ nhất định. Các vectơ giống nhau nhất là các vectơ gần nhất với vectơ đã cho về khoảng cách Euclide.

Lưu trữ dữ liệu vectơ bên cạnh dữ liệu vận hành có thể cải thiện hiệu suất bằng cách giảm nhu cầu di chuyển dữ liệu giữa các hệ thống lưu trữ khác nhau. Điều này đặc biệt có lợi cho các ứng dụng yêu cầu truy cập thời gian thực vào dữ liệu vectơ.

Tạo chỉ mục Tìm kiếm Vector

Bước tiếp theo là tạo ra một Chỉ mục tìm kiếm vectơ MongoDB trên trường vectơ bạn đã tạo ở bước trước. MongoDB sử dụng knnVector gõ để lập chỉ mục nhúng vector. Trường vectơ phải được biểu diễn dưới dạng một mảng số (chỉ các kiểu dữ liệu BSON int32, int64 hoặc double).

Tham khảo Xem lại các hạn chế của loại knnVector để biết thêm thông tin về những hạn chế của knnVector kiểu.

Đoạn mã sau đây là định nghĩa chỉ mục mẫu:

{ "mappings": { "dynamic": true, "fields": { "egVector": { "dimensions": 384, "similarity": "euclidean", "type": "knnVector" } } }
}

Lưu ý rằng thứ nguyên phải khớp với thứ nguyên mô hình nhúng của bạn.

Truy vấn kho dữ liệu vector

Bạn có thể truy vấn kho dữ liệu vector bằng cách sử dụng Đường ống tổng hợp tìm kiếm Vector. Nó sử dụng chỉ mục Tìm kiếm Vector và thực hiện một tìm kiếm ngữ nghĩa trên kho dữ liệu vector.

Đoạn mã sau đây là định nghĩa tìm kiếm mẫu:

{ $search: { "index": "<index name>", // optional, defaults to "default" "knnBeta": { "vector": [<array-of-numbers>], "path": "<field-to-search>", "filter": {<filter-specification>}, "k": <number>, "score": {<options>} } }
}

Triển khai mô hình ngôn ngữ lớn SageMaker

Các mô hình nền tảng SageMaker JumpStart là các mô hình ngôn ngữ lớn (LLM) được đào tạo trước, được sử dụng để giải quyết nhiều tác vụ xử lý ngôn ngữ tự nhiên (NLP), chẳng hạn như tóm tắt văn bản, trả lời câu hỏi và suy luận ngôn ngữ tự nhiên. Chúng có sẵn trong nhiều kích cỡ và cấu hình. Trong giải pháp này, chúng tôi sử dụng Ôm mặt Mẫu FLAN-T5-XL.

Tìm kiếm mẫu FLAN-T5-XL trong SageMaker JumpStart.

Tìm kiếm FLAN-T5-XL

Chọn Triển khai để thiết lập mẫu FLAN-T5-XL.

Triển khai

Xác minh mô hình được triển khai thành công và điểm cuối đang hoạt động.

Thế hệ tăng cường truy xuất với LangChain, Amazon SageMaker JumpStart và tìm kiếm ngữ nghĩa MongoDB Atlas | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Tạo bot Amazon Lex

Để tạo bot Amazon Lex, hãy hoàn thành các bước sau:

  1. Trên bảng điều khiển Amazon Lex, chọn Tạo bot.

Tạo bot

  1. Trong Tên bot, nhập tên.
  2. Trong Vai trò thời gian chạy, lựa chọn Tạo vai trò với các quyền cơ bản của Amazon Lex.
    Thế hệ tăng cường truy xuất với LangChain, Amazon SageMaker JumpStart và tìm kiếm ngữ nghĩa MongoDB Atlas | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.
  3. Chỉ định cài đặt ngôn ngữ của bạn, sau đó chọn Thực hiện.
    Thế hệ tăng cường truy xuất với LangChain, Amazon SageMaker JumpStart và tìm kiếm ngữ nghĩa MongoDB Atlas | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.
  4. Thêm một câu nói mẫu vào NewIntent Giao diện người dùng và chọn Lưu ý định.
    Thế hệ tăng cường truy xuất với LangChain, Amazon SageMaker JumpStart và tìm kiếm ngữ nghĩa MongoDB Atlas | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.
  5. Điều hướng đến FallbackIntent được tạo cho bạn theo mặc định và chuyển đổi hoạt động trong Hoàn thành phần.
    chuyển đổi hoạt động
  6. Chọn Xây dựng và sau khi xây dựng thành công, hãy chọn Thử nghiệm.
    Xây dựng và thử nghiệm
  7. Trước khi kiểm tra, hãy chọn biểu tượng bánh răng.
    Thế hệ tăng cường truy xuất với LangChain, Amazon SageMaker JumpStart và tìm kiếm ngữ nghĩa MongoDB Atlas | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.
  8. Xác định AWS Lambda chức năng sẽ tương tác với MongoDB Atlas và LLM để cung cấp phản hồi. Để tạo hàm lambda hãy làm theo những bươc này.
    9. Chỉ định hàm AWS Lambda
  9. Bây giờ bạn có thể tương tác với LLM.

Làm sạch

Để dọn dẹp tài nguyên của bạn, hãy hoàn thành các bước sau:

  1. Xóa bot Amazon Lex.
  2. Xóa hàm Lambda.
  3. Xóa điểm cuối LLM SageMaker.
  4. Xóa điểm cuối SageMaker của mô hình nhúng.
  5. Xóa cụm MongoDB Atlas.

Kết luận

Trong bài đăng, chúng tôi đã trình bày cách tạo một bot đơn giản sử dụng tìm kiếm ngữ nghĩa MongoDB Atlas và tích hợp với mô hình từ SageMaker JumpStart. Bot này cho phép bạn nhanh chóng tạo nguyên mẫu tương tác của người dùng với các LLM khác nhau trong SageMaker Jumpstart trong khi ghép nối chúng với bối cảnh bắt nguồn từ MongoDB Atlas.

Như mọi khi, AWS hoan nghênh phản hồi. Vui lòng để lại phản hồi và câu hỏi của bạn trong phần bình luận.


Giới thiệu về tác giả

Thế hệ tăng cường truy xuất với LangChain, Amazon SageMaker JumpStart và tìm kiếm ngữ nghĩa MongoDB Atlas | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Igor Alekseev là Kiến trúc sư giải pháp đối tác cấp cao tại AWS trong lĩnh vực Dữ liệu và Phân tích. Trong vai trò của mình, Igor đang làm việc với các đối tác chiến lược giúp họ xây dựng các kiến ​​trúc phức tạp, được tối ưu hóa cho AWS. Trước khi gia nhập AWS, với tư cách là Kiến trúc sư dữ liệu/giải pháp, anh ấy đã triển khai nhiều dự án trong miền Dữ liệu lớn, bao gồm một số kho dữ liệu trong hệ sinh thái Hadoop. Là một Kỹ sư dữ liệu, anh ấy đã tham gia vào việc áp dụng AI/ML để phát hiện gian lận và tự động hóa văn phòng.


Thế hệ tăng cường truy xuất với LangChain, Amazon SageMaker JumpStart và tìm kiếm ngữ nghĩa MongoDB Atlas | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Babu Srinivasan
là Kiến trúc sư giải pháp đối tác cấp cao tại MongoDB. Trong vai trò hiện tại của mình, anh ấy đang làm việc với AWS để xây dựng các tích hợp kỹ thuật và kiến ​​trúc tham chiếu cho các giải pháp AWS và MongoDB. Ông có hơn hai thập kỷ kinh nghiệm về Cơ sở dữ liệu và công nghệ Đám mây. Anh đam mê cung cấp các giải pháp kỹ thuật cho khách hàng làm việc với nhiều Nhà tích hợp hệ thống toàn cầu (GSIs) trên nhiều khu vực địa lý.

Dấu thời gian:

Thêm từ Học máy AWS