Cơ chế xây dựng context từ dữ liệu chunked từ Query đến Prompt

Đỗ Minh Đức Đỗ Minh Đức
Chia sẻ bài viết

Trong các hệ thống AI hiện đại, đặc biệt là khi triển khai mô hình ngôn ngữ lớn (LLM), việc quản lý dữ liệu và xây dựng context đóng vai trò quan trọng để đảm bảo phản hồi chính xác. Một trong những cách tiếp cận phổ biến là sử dụng cơ chế chunked data. Vậy cơ chế xây dựng context từ dữ liệu chunked diễn ra như thế nào? Hãy cùng phân tích luồng xử lý từ Query đến khi Prompt được tạo ra.

Cơ chế xây dựng context từ dữ liệu chunked

Để hiểu rõ cơ chế này, bạn cần nắm 2 yếu tố nền tảng:

  • Chunked data: Dữ liệu gốc (văn bản, tài liệu, báo cáo, log, email…) được chia nhỏ thành các đoạn (chunk) từ vài trăm đến vài ngàn token. Việc chia nhỏ giúp hệ thống tìm kiếm hiệu quả hơn, tránh trường hợp dữ liệu dài bị “lọt lưới” khi so khớp.
  • Pipeline xây dựng context: Một quy trình tuần tự gồm nhiều bước, từ query đến prompt, đảm bảo dữ liệu đi qua từng tầng xử lý logic và có thể kiểm soát được.

Dưới đây là phân tích chi tiết từng bước:

Query – Người dùng nhập câu hỏi

Mọi thứ bắt đầu từ câu hỏi của người dùng. Query có thể là một câu đơn giản như “Chính sách hoàn tiền thế nào?” hoặc phức tạp hơn, liên quan đến nhiều ngữ cảnh.

  • Trước khi xử lý, hệ thống thường normalize query: bỏ ký tự thừa, hạ chữ hoa thành chữ thường, loại bỏ stop-word nếu cần.
  • Với những hệ thống nâng cao, query còn được ngữ nghĩa hóa (semantic parsing) để hiểu rõ mục đích thực sự, không chỉ là chuỗi ký tự.

Embedding – Biểu diễn thành vector

Query không thể so khớp trực tiếp với dữ liệu văn bản, mà cần chuyển đổi sang dạng số. Đây là lúc embedding model (thường dựa trên Transformer) vào cuộc.

  • Kết quả là một vector n chiều (ví dụ 768 hoặc 1536 chiều).
  • Song song, toàn bộ dữ liệu chunked đã được embedding từ trước và lưu trong một vector database (FAISS, Milvus, Pinecone…).

Ví dụ:
Query: "Chính sách hoàn tiền thế nào?"
→ Embedding: [0.123, -0.456, 0.789, ...]

Search – Tìm kiếm chunk liên quan

Đây là bước quan trọng giúp tìm đúng dữ liệu cần thiết.

  • Sử dụng vector similarity search để so sánh embedding của query với embedding của các chunk.
  • Các thuật toán thường dùng: cosine similarity, dot product hoặc Euclidean distance.
  • Hệ thống trả về danh sách top-k chunk có điểm số tương đồng cao nhất.

Ví dụ:
Top-3 chunk tìm được:
1. Chunk A (0.92) – nội dung về quy định đổi trả.
2. Chunk B (0.87) – hướng dẫn hoàn tiền.
3. Chunk C (0.83) – thời gian xử lý giao dịch.

 

Context – Tạo ngữ cảnh đầu vào

Các chunk được chọn lọc sẽ được ghép lại thành một khối context.

  • Context phải đủ ngắn để không vượt quá giới hạn token của mô hình.
  • Đồng thời phải đủ giàu thông tin để mô hình có thể trả lời chính xác.
  • Kỹ thuật phổ biến: top-k retrieval (chọn k chunk đầu) hoặc re-ranking bằng cross-encoder để lọc lại.

Ví dụ context sau khi ghép:

Context:
- Chính sách hoàn tiền áp dụng cho sản phẩm lỗi kỹ thuật trong vòng 7 ngày...
- Quy trình hoàn tiền gồm 3 bước: gửi yêu cầu, xác minh, chuyển khoản…

Prompt – Sinh phản hồi cuối cùng

Khi context đã sẵn sàng, nó được chèn vào prompt cùng với query gốc. Cấu trúc prompt điển hình:

Bạn là trợ lý AI. Dựa trên context sau, hãy trả lời câu hỏi của người dùng.
Context: [nội dung chunk ghép]
Câu hỏi: [query]
Trả lời:

Mô hình LLM nhận được prompt này và tạo ra câu trả lời tự nhiên, sát ngữ cảnh.

Sơ đồ luồng xử lý

flowchart LR
    A[Query] --> B[Embedding]
    B --> C[Vector Search]
    C --> D[Context Assembly]
    D --> E[Prompt vào LLM]

Sơ đồ trên thể hiện rõ pipeline từ Query đến Prompt. Mỗi khâu đều có thể log lại để giám sát: log query sau khi normalize, log embedding dimension, log top-k chunk kèm điểm số, log độ dài token của context. Nhờ vậy, khi kết quả bất thường, dev dễ dàng tìm nguyên nhân.

Lợi ích khi dùng cơ chế chunked context

  • Giảm chi phí tính toán: Thay vì nhồi toàn bộ tài liệu vào LLM, chỉ lấy đúng phần liên quan.
  • Tăng độ chính xác: LLM ít bị “hallucination” hơn vì được cung cấp thông tin đúng trọng tâm.
  • Mở rộng dễ dàng: Thêm dữ liệu mới chỉ cần chunk + embedding, không ảnh hưởng pipeline cũ.
  • Debug minh bạch: Có thể kiểm tra từng bước, từ query, embedding đến context.

Kết luận

Cơ chế xây dựng context từ dữ liệu chunked chính là xương sống của các ứng dụng RAG (Retrieval-Augmented Generation). Việc hiểu sâu pipeline Query → Embedding → Search → Context → Prompt giúp dev không chỉ triển khai mà còn tối ưu, debug và scale hệ thống. Trong thời đại AI ngày càng phức tạp, một pipeline rõ ràng, dễ kiểm soát sẽ là lợi thế lớn để nâng trải nghiệm người dùng lên một tầm cao mới.

Đỗ Minh Đức
Tác giả
Đỗ Minh Đức
Giám đốc sản phẩm BizChat AI

Với gần 20 năm kinh nghiệm trong ngành công nghệ, Đỗ Minh Đức hiện là Giám đốc Sản phẩm Bizfly Martech tại VCCorp. Anh được biết đến là một trong bốn người đặt nền móng cho BizChatAI, giải pháp ứng dụng trí tuệ nhân tạo để chăm sóc khách hàng tự động đa kênh.

Anh tập trung phát triển BizChatAI như một "trợ lý ảo" cho doanh nghiệp, giúp tự động hóa việc tương tác và CSKH. Công nghệ này đang thay đổi mạnh mẽ cách doanh nghiệp tiếp cận khách hàng, từ việc gửi tin nhắn, quà tri ân tự động đến ứng dụng hiệu quả cho các chuỗi bán lẻ và nhà hàng... Qua các bài viết của mình, anh chia sẻ sâu hơn về những lợi ích và cách thức hoạt động của chatbot trong kinh doanh.

Bài viết nổi bật

Mời bạn trải nghiệm AI Chat Agent - Trợ lý ảo tư vấn khách hàng của Bizfly

Trong thời đại mà khách hàng mong muốn được phản hồi ngay lập tức, việc để họ phải chờ vài phút cũng có thể khiến doanh nghiệp đánh mất cơ hội. Đó là lý do Bizfly phát triển AI Chat Agent - trợ lý ảo có khả năng tư vấn, giải đáp.....