Xây dựng AI Trợ lý siêu thị thông minh với Google ADK và MongoDB Atlas Vector Search
Lê Lân
0
Xây Dựng AI Agent Tự Động Hóa Việc Mua Sắm Hàng Tuần Với Google ADK và MongoDB Atlas Vector Search
Mở Đầu
Trong thế giới hiện đại, AI agent đang tạo bước tiến lớn trong việc tự động hóa các tác vụ hàng ngày, giúp con người tiết kiệm thời gian và nâng cao trải nghiệm.
Việc mua sắm tạp hóa hàng tuần có thể là một công việc nhàm chán và tốn thời gian. Bài viết này sẽ giới thiệu cách tạo một AI agent sử dụng Google’s Agent Development Kit (ADK) kết hợp với MongoDB Atlas Vector Search để giúp việc mua sắm trực tuyến trở nên dễ dàng và thông minh hơn. Qua đó, bạn sẽ hiểu rõ cách AI có thể tương tác tự nhiên, tìm kiếm sản phẩm thông qua tìm kiếm ngữ nghĩa và thêm sản phẩm vào giỏ hàng một cách tự động, mô phỏng một người bạn thân thiết hỗ trợ bạn shopping.
Bài viết trình bày từng bước xây dựng, cấu hình, mã nguồn chính, cũng như hướng dẫn cách vận hành agent qua terminal hoặc giao diện web với mục đích giúp bạn dễ dàng bắt đầu với AI agent cho riêng mình.
Hiểu Về AI Agent Và Các Công Nghệ Liên Quan
AI Agent Là Gì?
AI agent là một chương trình tự động có khả năng thực hiện các nhiệm vụ dựa trên mục tiêu, sử dụng công cụ, ngữ cảnh, và ra quyết định một cách độc lập. Những agent này có thể nhớ các tương tác trước đó (bộ nhớ), tự xây dựng kế hoạch thực hiện và sử dụng các công cụ để thu thập dữ liệu hoặc tác động tới hệ thống bên ngoài.
AI agent phù hợp nhất cho những công việc phức tạp đòi hỏi khả năng lập luận, lên kế hoạch và quyết định.
Google’s Agent Development Kit (ADK)
ADK là một framework linh hoạt, mô-đun giúp tạo và triển khai nhiều loại AI agent khác nhau. Ban đầu được tối ưu cho hệ sinh thái Google và mô hình Gemini, ADK cũng hỗ trợ tích hợp đa dạng mô hình ngôn ngữ (LLM) như Anthropic.
Đặc điểm nổi bật của ADK:
Xây dựng agent như các đơn vị thực thi độc lập.
Hỗ trợ phát triển các hệ thống đa agent (multi-agent system) để xử lý nhiệm vụ đa dạng.
Cho phép định nghĩa luồng điều khiển phức tạp và tái sử dụng các thành phần.
MongoDB Atlas Vector Search
Thay vì tìm kiếm dựa trên từ khóa thông thường, Vector Search chuyển đổi văn bản thành các vector số (embedding) để tìm kiếm dựa trên ý nghĩa ngữ cảnh. MongoDB Atlas tích hợp chức năng này giúp lưu trữ dữ liệu hoạt động cùng với vectors, tạo điều kiện cho các ứng dụng như RAG (Retrieval-Augmented Generation) nâng cao độ chính xác của thông tin cung cấp.
Cách Xây Dựng AI Agent Mua Sắm Hàng Tuần
Ý Tưởng Và Mục Tiêu
Ứng dụng thực tế của AI agent trong bài này là giúp người dùng:
Tìm kiếm sản phẩm tạp hóa bằng cách nhập các câu hỏi ngôn ngữ tự nhiên (ví dụ: "Tôi cần nguyên liệu cho món pasta tôi từng làm tháng trước").
Nhận đề xuất thay thế thông minh cho sản phẩm đắt tiền.
Thêm sản phẩm vào giỏ hàng và lưu lại lựa chọn.
Ý tưởng tận dụng AI để tự động hóa các công việc nhàm chán nhằm nâng cao trải nghiệm người dùng, không chỉ đơn giản là tạo ra nghệ thuật nhân tạo.
Công Nghệ Sử Dụng
Google ADK: Tạo agent với khả năng giao tiếp tự nhiên.
Gemini 2.0 Flash: Mô hình lớn hỗ trợ hiểu và trả lời ngôn ngữ tự nhiên.
MongoDB Atlas Vector Search: Tìm sản phẩm bằng cách so khớp ngữ cảnh dựa trên vector embedding.
Thay giá trị your-project-id, <user>, <password>, <cluster-url> bằng thông tin thực tế.
Hiểu Về Mã Nguồn Agent
root_agent = Agent(
model="gemini-2.0-flash",
name="grocery_shopping_agent",
instruction="""
Start the Conversation with the user being a positive and friendly agent. Introduce yourself as the "Online Groceries Agent" and ask user how can you help them today.
You are a customer agent for an ecommerce company and you are here to help the user with their shopping needs.
Additional instructions:
1. Ask for details only if you don't understand the query and are not able to search.
2. You can use multiple tools in parallel by calling functions in parallel.
""",
tools=[find_similar_products, add_to_cart]
)
Model: Sử dụng Gemini 2.0 Flash để xử lý ngôn ngữ tự nhiên.
Instruction: Hướng dẫn agent giới thiệu và xử lý cuộc nói chuyện.
Tools: Bao gồm hai công cụ chính là tìm sản phẩm tương tự (vector search) và thêm sản phẩm vào giỏ hàng.
Công Cụ 1: Tìm Sản Phẩm Tương Tự Với Vector Search
Sử dụng mô hình text-embedding-004 của Vertex AI để tạo embedding cho câu hỏi của người dùng.
Truy vấn MongoDB bằng pipeline $vectorSearch để tìm các sản phẩm có embedding tương đồng.
Trả về danh sách 3-10 kết quả phù hợp.
Công Cụ 2: Thêm Sản Phẩm Vào Giỏ Hàng
Kết nối tới MongoDB.
Tìm sản phẩm theo tên.
Cập nhật collection carts với sản phẩm và tên người dùng, lưu lại thông tin tương tác.
Chạy Thử Và Tương Tác Với Agent
Sử Dụng Terminal
adk run mongodb-groceries-agent
Lệnh này khởi động cuộc hội thoại giữa người dùng và agent ngay trong terminal.
Sử Dụng Giao Diện Web
Chạy lệnh:
adk web
Truy cập địa chỉ mà ADK cung cấp và tương tác agent qua giao diện thân thiện, thuận tiện.
Quan Sát Dữ Liệu Giỏ Hàng
Nếu bạn thêm sản phẩm qua agent, dans collection carts của MongoDB Atlas sẽ xuất hiện các bản ghi mới thể hiện giỏ hàng người dùng đã cập nhật.
Kết Luận
Trong bài viết này, chúng ta đã cùng xây dựng một AI agent hỗ trợ mua sắm hàng tuần thông minh, sử dụng bộ công cụ Google ADK và khả năng tìm kiếm ngữ nghĩa của MongoDB Atlas Vector Search.
Agent không chỉ giúp tìm kiếm sản phẩm dựa trên ý nghĩa yêu cầu của người dùng mà còn thao tác thêm sản phẩm vào giỏ hàng một cách tự động, từ đó giảm thiểu công việc nhàm chán và tăng trải nghiệm.
Bạn có thể mở rộng agent này bằng cách:
Kết nối với hệ thống e-commerce thực tế để tự động đặt hàng.
Thêm bộ nhớ để ghi nhớ sở thích và các lịch sử mua hàng.
Phát triển hệ thống đa agent cho các tính năng như đề xuất công thức món ăn, so sánh giá,…
Hãy khám phá thêm trong repository mã nguồn để bắt đầu phát triển AI agent phù hợp nhu cầu của bạn, giải phóng thời gian cho những hoạt động sáng tạo và hấp dẫn hơn.