hocvietcode.com
  • Trang chủ
  • Học lập trình
    • Lập trình C/C++
    • Cấu trúc dữ liệu và giải thuật
    • Lập trình HTML
    • Lập trình Javascript
      • Javascript cơ bản
      • ReactJS framework
      • AngularJS framework
      • Typescript cơ bản
      • Angular
      • NodeJS
    • Lập trình Mobile
      • Lập Trình Dart Cơ Bản
        • Dart Flutter Framework
    • Cơ sở dữ liệu
      • MySQL – MariaDB
      • Micrsoft SQL Server
      • Extensible Markup Language (XML)
      • JSON
      • MongoDB
    • Lập trình PHP
      • Lập trình PHP cơ bản
      • Laravel Framework
    • Lập trình Java
      • Java Cơ bản
    • Lập trình C#
      • Lập Trình C# Cơ Bản
      • ASP.NET Core MVC
    • Machine Learning
    • Git và Github
  • WORDPRESS
    • WordPress cơ bản
    • WordPress nâng cao
    • Chia sẻ WordPress
  • Kiến thức hệ thống
    • Microsoft Azure
    • Docker
    • Linux
  • Chia sẻ IT
    • Tin học văn phòng
      • Microsoft Word
      • Microsoft Excel
    • Marketing
      • Google Adwords
      • Facebook Ads
      • Kiến thức khác
    • Chia sẻ phần mềm
    • Review công nghệ
    • Công cụ – tiện ích
      • Kiểm tra bàn phím online
      • Kiểm tra webcam online
Đăng nhập
  • Đăng nhập / Đăng ký

Please enter key search to display results.

Home
  • MongoDB
Ứng dụng AI với MongoDB: truy vấn tự nhiên, Colab và RAG

Ứng dụng AI với MongoDB: truy vấn tự nhiên, Colab và RAG

  • 22-07-2026
  • Toanngo92
  • 0 Comments

AI có thể hỗ trợ người dùng MongoDB tạo truy vấn từ ngôn ngữ tự nhiên, giải thích aggregation pipeline, phát hiện vấn đề hiệu năng và xây dựng ứng dụng RAG. Tuy nhiên, truy vấn do AI tạo không mặc nhiên đúng hoặc an toàn. Bài viết này trình bày quy trình thực tế với MongoDB Compass, Google Colab, Atlas và Vector Search.

Mục lục

  • 1. AI hỗ trợ công việc MongoDB như thế nào?
  • 2. Tạo truy vấn MongoDB từ ngôn ngữ tự nhiên
  • 3. Cách viết prompt tạo truy vấn tốt hơn
  • 4. Kết nối Google Colab với MongoDB Atlas
  • 5. Nhập dữ liệu JSON Lines từ Colab vào Atlas
  • 6. Xuất dữ liệu Atlas về JSON Lines trong Colab
  • 7. MongoDB Vector Search và kiến trúc RAG
  • 8. Ứng dụng cho bảo trì dự đoán
  • 9. Khuyến nghị schema và index
  • 10. Nguyên tắc an toàn khi tích hợp AI
  • Tổng kết

1. AI hỗ trợ công việc MongoDB như thế nào?

  • Tạo truy vấn: chuyển yêu cầu bằng ngôn ngữ tự nhiên thành filter hoặc aggregation pipeline.
  • Giải thích và sửa lỗi: phân tích cú pháp, thông báo lỗi và đề xuất cách kiểm tra.
  • Khuyến nghị schema/index: dựa trên mẫu document và truy vấn chậm để gợi ý tối ưu.
  • Phân tích dữ liệu: kết hợp Python, notebook và thư viện máy học.
  • Tìm kiếm ngữ nghĩa/RAG: lưu embedding và truy xuất ngữ cảnh bằng MongoDB Vector Search.

AI là trợ lý tạo bản nháp. Trước khi chạy, luôn kiểm tra namespace, filter, projection, giới hạn kết quả, index và tác động của thao tác ghi/xóa.

2. Tạo truy vấn MongoDB từ ngôn ngữ tự nhiên

Ví dụ, yêu cầu “tìm người dùng trên 30 tuổi” có thể được chuyển thành:

db.users.find(
  { age: { $gt: 30 } },
  { _id: 0, name: 1, age: 1 }
).limit(100)
AI tạo truy vấn MongoDB từ yêu cầu ngôn ngữ tự nhiên
AI có thể tạo truy vấn ban đầu và giải thích từng thành phần.

MongoDB Compass từ phiên bản 1.40.x có tính năng Natural Language Querying để tạo filter và aggregation. Tính năng này có thể được triển khai theo từng đợt. Khi sử dụng, nội dung prompt và thông tin về schema được gửi tới nhà cung cấp AI để xử lý; không nhập dữ liệu nhạy cảm, khóa API hoặc thông tin xác thực.

3. Cách viết prompt tạo truy vấn tốt hơn

Prompt nên nêu rõ collection, cấu trúc trường, kiểu dữ liệu, điều kiện, projection, sắp xếp và giới hạn. Ví dụ:

Collection: users
Fields:
- registered_at: Date
- status: String
- email: String

Hãy tạo MongoDB filter tìm tài khoản active đăng ký trong 30 ngày gần nhất.
Chỉ trả về email và registered_at, ẩn _id, sắp xếp mới nhất trước,
giới hạn 100 document. Không thực hiện thao tác ghi.

Yêu cầu AI giải thích giả định và tạo dữ liệu kiểm thử. Sau đó chạy explain("executionStats") hoặc kiểm tra Query Plan để đánh giá số document và index được quét.

4. Kết nối Google Colab với MongoDB Atlas

Google Colab cung cấp notebook Python trên trình duyệt, phù hợp cho thử nghiệm, trực quan hóa và tiền xử lý dữ liệu. Tạo notebook mới, thêm một code cell và chạy bằng Shift + Enter.

Code cell trong Google Colab
Notebook Colab gồm các code cell và Markdown cell.

Trước khi kết nối, Atlas phải có Database User và IP Access List phù hợp. Không đặt mật khẩu trực tiếp trong notebook, đặc biệt nếu notebook được chia sẻ. Có thể nhập bí mật tạm thời bằng getpass:

!pip -q install pymongo

from getpass import getpass
from urllib.parse import quote_plus
from pymongo import MongoClient

username = input("Database user: ")
password = quote_plus(getpass("Password: "))
host = "cluster0.example.mongodb.net"

uri = f"mongodb+srv://{username}:{password}@{host}/?retryWrites=true&w=majority"
client = MongoClient(uri, serverSelectionTimeoutMS=5000)
client.admin.command("ping")

collection = client["User_db"]["Users"]
print("Đã kết nối Atlas")
Màn hình Atlas cung cấp connection string cho Python
Chọn Python driver để Atlas tạo connection string mẫu.

5. Nhập dữ liệu JSON Lines từ Colab vào Atlas

import json

data = [
    {"name": "Alice", "age": 25, "city": "New York"},
    {"name": "Bob", "age": 30, "city": "Boston"},
    {"name": "Charlie", "age": 22, "city": "Chicago"},
]

with open("sample_data.jsonl", "w", encoding="utf-8") as file:
    for record in data:
        file.write(json.dumps(record, ensure_ascii=False) + "\n")

with open("sample_data.jsonl", encoding="utf-8") as file:
    documents = [json.loads(line) for line in file if line.strip()]

result = collection.insert_many(documents)
print(f"Đã nhập {len(result.inserted_ids)} document")

Với tệp lớn, không nên đọc toàn bộ vào RAM. Hãy chia thành batch, kiểm tra schema và dùng insert_many() theo từng lô. Có thể mở Data Explorer để xác nhận document đã được chèn.

Document được nhập từ Google Colab và hiển thị trên Atlas
Kiểm tra database và collection trong Atlas Data Explorer sau khi nhập.

6. Xuất dữ liệu Atlas về JSON Lines trong Colab

import json
from bson import json_util

query = {"age": {"$gte": 18}}
projection = {"name": 1, "age": 1, "city": 1}

with open("exported_data.jsonl", "w", encoding="utf-8") as file:
    for document in collection.find(query, projection).limit(1000):
        file.write(json_util.dumps(document) + "\n")

print("Đã xuất exported_data.jsonl")

bson.json_util xử lý chính xác các kiểu BSON như ObjectId và Date. Không dùng find({}) không giới hạn trên collection lớn; luôn chọn filter, projection và giới hạn phù hợp.

7. MongoDB Vector Search và kiến trúc RAG

Trong hệ thống RAG, dữ liệu có cấu trúc và tài liệu phi cấu trúc được lưu trong MongoDB. Nội dung được chuyển thành embedding, lập Vector Search index và truy xuất theo ngữ nghĩa. Các document liên quan được đưa vào prompt để mô hình tạo câu trả lời có ngữ cảnh.

  1. Ingest: thu thập tài liệu, log và dữ liệu nghiệp vụ.
  2. Chunk và embedding: chia nội dung, tạo vector và lưu cùng metadata.
  3. Retrieve: dùng $vectorSearch, có thể kết hợp pre-filter.
  4. Generate: gửi ngữ cảnh đã truy xuất cho mô hình ngôn ngữ.
  5. Evaluate: đo độ chính xác truy xuất, trích dẫn, độ trễ và chi phí.
Quy trình dùng MongoDB Atlas và AI cho bảo trì dự đoán
RAG kết hợp dữ liệu vận hành, tìm kiếm ngữ nghĩa và mô hình AI để tạo hướng dẫn bảo trì.

8. Ứng dụng cho bảo trì dự đoán

  • Ưu tiên máy: kết hợp chỉ số cảm biến, lịch sử hỏng và lệnh công việc.
  • Dự đoán lỗi: mô hình đánh giá xác suất hỏng trong một khoảng thời gian.
  • Tạo kế hoạch sửa chữa: truy xuất hướng dẫn, phụ tùng và các ca sửa tương tự.
  • Hướng dẫn bảo trì: tạo từng bước kèm cảnh báo an toàn và điều kiện dừng.

Đầu ra AI không thay thế quy trình an toàn hoặc phê duyệt của chuyên gia. Với hệ thống công nghiệp, cần lưu nguồn dữ liệu, phiên bản mô hình, bằng chứng truy xuất và quyết định cuối cùng để kiểm toán.

9. Khuyến nghị schema và index

Atlas Performance Advisor và Schema Suggestions có thể phát hiện truy vấn chậm, index thiếu/thừa, array không giới hạn, document quá lớn hoặc việc dùng $lookup quá nhiều. Đây là gợi ý dựa trên mẫu dữ liệu và workload, không phải thay đổi tự động phải áp dụng ngay.

  • Kiểm tra gợi ý trên môi trường thử nghiệm.
  • Đo read/write latency và dung lượng index trước–sau.
  • Không tạo index cho mọi trường; index làm tăng chi phí ghi và lưu trữ.
  • Chỉ denormalize khi phù hợp với mẫu đọc và tính nhất quán của ứng dụng.

10. Nguyên tắc an toàn khi tích hợp AI

  • Không đưa URI, mật khẩu, API key hoặc dữ liệu nhạy cảm vào prompt.
  • Dùng TLS, quyền tối thiểu, IP Access List và secret manager.
  • Chặn hoặc yêu cầu phê duyệt các thao tác ghi, xóa và thay đổi schema.
  • Thêm projection và limit cho truy vấn khám phá.
  • Ghi log prompt, truy vấn đã duyệt và kết quả thực thi nhưng che thông tin bí mật.
  • Kiểm tra prompt injection trong tài liệu được đưa vào RAG.

Tổng kết

AI giúp khởi tạo truy vấn, phân tích dữ liệu và xây dựng ứng dụng tìm kiếm ngữ nghĩa nhanh hơn. Giá trị lớn nhất đến từ quy trình có kiểm soát: cung cấp schema vừa đủ, yêu cầu output rõ ràng, kiểm tra truy vấn, giới hạn phạm vi dữ liệu và theo dõi kết quả. MongoDB Compass, Atlas, Colab và Vector Search tạo thành một bộ công cụ linh hoạt, nhưng con người vẫn chịu trách nhiệm xác minh và phê duyệt.

Tham khảo: Natural Language Querying trong Compass, MongoDB Vector Search và Schema Suggestions.

Bài viết liên quan:

Kết nối MongoDB với Python bằng PyMongo và thực hiện CRUD
Hướng dẫn sử dụng MongoDB Atlas từ cơ bản đến nhập xuất dữ liệu
Làm việc với MongoDB Compass và BI Connector
Quản lý giao dịch trong MongoDB
Sao chép dữ liệu và phân mảnh trong MongoDB
Index trong MongoDB
Các phương thức trong MongoDB Shell
Database Command trong MongoDB
Aggregation Pipeline – Các pipeline tổng hợp
Các toán tử trong MongoDB
Làm việc với cơ sở dữ liệu MongoDB
Giới thiệu mongoDB

THÊM BÌNH LUẬN Cancel reply

Dịch vụ thiết kế Wesbite

NỘI DUNG MỚI CẬP NHẬT

Node.js là gì? Kiến trúc client-server và cách cài đặt Node.js

Ứng dụng AI với MongoDB: truy vấn tự nhiên, Colab và RAG

Kết nối MongoDB với Python bằng PyMongo và thực hiện CRUD

Hướng dẫn sử dụng MongoDB Atlas từ cơ bản đến nhập xuất dữ liệu

Làm việc với MongoDB Compass và BI Connector

Giới thiệu

hocvietcode.com là website chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !

Liên hệ quảng cáo: [email protected]

Kết nối với HỌC VIẾT CODE

© hocvietcode.com - Tech888 Co .Ltd since 2019

Đăng nhập

Trở thành một phần của cộng đồng của chúng tôi!
Registration complete. Please check your email.
Đăng nhập bằng google
Đăng kýBạn quên mật khẩu?

Create an account

Welcome! Register for an account
The user name or email address is not correct.
Registration confirmation will be emailed to you.
Log in Lost your password?

Reset password

Recover your password
Password reset email has been sent.
The email could not be sent. Possible reason: your host may have disabled the mail function.
A password will be e-mailed to you.
Log in Register
×