1 điểm bởi GN⁺ 2026-02-20 | 1 bình luận | Chia sẻ qua WhatsApp
  • Đây là bài viết trình bày quy trình triển khai ứng dụng RAG dựa trên SQL bằng cách sử dụng bộ dữ liệu Harry Potter được tải lên trái phép trên Kaggle, nhưng hiện đã bị xóa
  • Azure SQL và Microsoft Fabric SQL DB hỗ trợ tìm kiếm vector gốc, và có thể quản lý Vector Store bằng langchain-sqlserver
  • Xây dựng luồng lưu vector vào SQL sau khi tải từ Azure Blob Storage, chia nhỏ văn bản và tạo embedding bằng Azure OpenAI
  • Xây dựng hệ thống hỏi đáp chính xác bằng tìm kiếm tương đồng vector và bộ lọc metadata
  • Mở rộng triển khai để có thêm tính năng tạo fan fiction dựa trên GPT4o bằng cùng một vector store
  • Liên kết Archive.is

Hỗ trợ vector gốc của Azure SQL và tích hợp LangChain

  • Azure SQL và Microsoft Fabric SQL DB cung cấp tính năng tìm kiếm vector gốc ở dạng public preview
  • Việc công bố gói langchain-sqlserver cho phép quản lý SQL Server như một LangChain Vector Store
    • Cung cấp cài đặt và mã ví dụ thông qua kho PyPI và GitHub
  • Kết hợp Azure SQL DB, LangChain và LLM để thêm tính năng AI tạo sinh chỉ với vài dòng mã

Cấu hình bộ dữ liệu ví dụ

  • Sử dụng bộ dữ liệu văn bản gồm 7 tập Harry Potter do Kaggle cung cấp
    • Bao gồm 7 tệp .txt
    • Trong bản demo chỉ dùng tập 1 Harry Potter and the Sorcerer’s Stone
  • Dùng một bộ dữ liệu quen thuộc với công chúng để tạo ví dụ dễ hiểu

Các bước xây dựng ứng dụng mẫu

1. Cài đặt gói langchain-sqlserver

  • Cài gói tích hợp bằng lệnh pip install langchain-sqlserver==0.1.1
  • Kích hoạt chức năng vector store dựa trên SQL

2. Tải dữ liệu từ Azure Blob Storage và chia nhỏ

  • Lưu tệp văn bản Harry Potter lên Azure Blob Storage rồi tải vào
  • Sử dụng tính năng tích hợp AzureBlobStorage của LangChain
  • Dùng langchain-text-splitter để chia văn bản dài thành các đoạn nhỏ
    • Mục đích là xử lý giới hạn token đầu vào của embedding Azure OpenAI

3. Định nghĩa embedding và Chat Completion

  • Sử dụng Azure OpenAI để tạo embedding văn bản cho từng đoạn
  • Có thể thay thế bằng nhiều mô hình embedding khác do LangChain cung cấp
  • Chuẩn bị xử lý hỏi đáp thông qua cấu hình Chat Completion

4. Khởi tạo Vector Store và chèn tài liệu

  • Khởi tạo Vector Store cùng với embedding AzureOpenAI
  • Dùng hàm add_documents để lưu tài liệu và embedding vào Azure SQL
  • Có thể tạo và lưu vector chỉ với ít dòng mã

5. Thực hiện tìm kiếm tương đồng

  • Thực thi tìm kiếm tương đồng vector bằng hàm similarity_search_with_score
  • Hỗ trợ bộ lọc metadata
    • Có thể giới hạn phạm vi tìm kiếm dựa trên thuộc tính metadata cụ thể

Use Case 1: Xây dựng hệ thống Q&A

  • Triển khai hệ thống hỏi đáp về cốt truyện dựa trên SQL Vector Store và LangChain
  • Với câu hỏi của người dùng, hệ thống tìm 10 tài liệu liên quan nhất rồi tạo câu trả lời
  • Tạo retriever dựa trên vector_store
  • Dùng create_stuff_documents_chain để cấu thành chuỗi hỏi-đáp
  • Dùng ChatPromptTemplate để định nghĩa định dạng phản hồi có cấu trúc
  • Khi dùng create_retrieval_chain, các tài liệu được truy xuất cũng được trả về cùng với khóa "context"
    • Hỗ trợ hiển thị nguồn tham chiếu đã được dùng để tạo câu trả lời

Use Case 2: Tạo fan fiction Harry Potter

  • Triển khai tính năng tạo fan fiction bằng AI mới dựa trên vector store
  • Khi người dùng nhập prompt, hệ thống sẽ truy xuất các đoạn văn liên quan
    • Tìm ngữ cảnh tương tự dựa trên embedding được lưu trong SQL vector store
  • Gom các đoạn được truy xuất thành một chuỗi để tạo ngữ cảnh đầu vào cho mô hình
  • Gửi đồng thời ngữ cảnh và prompt của người dùng vào mô hình GPT4o
    • Tạo ra câu chuyện mới có phản ánh các yếu tố ngữ cảnh sẵn có
  • Cùng với kết quả sinh ra, hệ thống cũng hiển thị thông tin nguồn vector đã tham chiếu

Kịch bản sử dụng tích hợp

  • Kết hợp hệ thống Q&A và tính năng tạo fan fiction để mang lại trải nghiệm đọc tương tác
    • Có thể dùng Q&A khi cần hiểu nội dung cuốn sách
    • Có thể mở rộng một cảnh cụ thể hoặc tạo kết thúc thay thế

Mã mẫu và tài nguyên

1 bình luận

 
GN⁺ 2026-02-20
Ý kiến trên Hacker News
  • Vụ việc lần này của Microsoft dường như cho thấy một sự đổ vỡ quy trình mang tính nền tảng hơn là chỉ là vấn đề bản quyền
    Nếu ngay cả tài liệu cũng không được rà soát, thì khó tránh khỏi câu hỏi liệu mã mới có thực sự đang được review cẩn thận hay không
    Tôi muốn hỏi ban lãnh đạo — trong ba trụ cột là bảo mật, chất lượng và đổi mới AI, rốt cuộc họ sẽ chọn bên nào
    (Scott Hanselman, tôi quý anh, nhưng xin đừng tự trả lời chuyện này mà hãy chuyển nó lên đúng cấp lãnh đạo)

    • Tôi từng làm ở Microsoft khá lâu và cũng từng duy trì blog
      Khi đó có thể tự đăng bài mà không cần quy trình phê duyệt, và vì vậy blog là một không gian tự nhiên và chân thực hơn
      Vụ này có vẻ đơn giản là do ai đó phán đoán sai, và việc gỡ bài xuống là hoàn toàn hợp lý
      Tuy vậy, điều quan trọng hơn là liệu đội ngũ của tác giả đó có đang biện minh cho hành vi xâm phạm bản quyền để huấn luyện AI hay không
      Có lẽ không chỉ luật sư nội bộ mà cả bên ngoài cũng sẽ phải xem xét chuyện này
    • Không thể khẳng định ngay rằng việc rà soát tài liệu kém quan trọng hơn review mã
      Mã có thể gây ra các sự cố nghiêm trọng do bug nên mới tồn tại quy trình review mang tính hình thức,
      còn tài liệu không tác động trực tiếp đến hành vi của phần mềm nên chỉ là không bị áp cùng mức độ nghiêm ngặt
      Việc tài liệu không được rà soát không có nghĩa là mã cũng không được rà soát
    • Chuyện này đúng là cho thấy có vấn đề ở đâu đó trong tổ chức, nhưng suy rộng nó ra toàn bộ codebase thì hơi quá
      Trong các tổ chức lớn, mức độ kiểm chứng được áp dụng khác nhau giữa các bộ phận, và mã luôn chịu kiểm soát chặt hơn tài liệu rất nhiều
    • Từ trước tới nay tôi luôn có cảm giác blog dành cho nhà phát triển của Microsoft phần lớn được vận hành theo kiểu do từng cá nhân chủ động
    • Tôi cũng từng thấy các bài trên devblogs có chất lượng tương tự
      Gần như là sao chép nguyên xi câu trả lời trên Stack Overflow, và khi tôi bắt gặp nó lúc đang tìm kiếm thông báo lỗi
      thì cảm giác không phải tức giận mà chỉ là thất vọng
  • Bài blog của Microsoft có dẫn tới trang dataset Harry Potter trên Kaggle
    Trang đó tự nhận là CC0, tức phạm vi công cộng, nhưng rõ ràng có vấn đề bản quyền
    Hơn nữa bài đó đã được đăng từ tháng 11/2024 mà đến giờ vẫn chưa bị gỡ, điều này thật đáng ngạc nhiên

    • Tôi vào kiểm tra trực tiếp trang Kaggle thì thấy suốt 2 năm vẫn y nguyên
      Tôi thử báo cáo bằng tính năng “Report Dataset”, nhưng nó lại chuyển hướng sang trang báo cáo bản quyền của Google
      Nhưng rồi tôi bị từ chối với thông báo “nếu không phải chủ sở hữu bản quyền hoặc đại diện thì không thể báo cáo”
      Đúng là một tình huống hài như bi kịch. Dataset đó rõ ràng là đồ ăn cắp
    • Chỉ vì có gắn link mà chưa chắc Microsoft đã phải chịu trách nhiệm trực tiếp
      Khả năng cao hơn là trách nhiệm thuộc về người đã tải lên với giấy phép sai
      Tuy vậy, chỉ cần nhìn cái tên “Harry Potter” thì ai cũng biết đây không thể là public domain,
      nên xét theo lẽ thường, Microsoft cũng khó mà phủi sạch trách nhiệm
  • Microsoft cuối cùng đã gỡ trang đó xuống
    Nhưng vẫn còn bản sao lưu trên archive.is

    • Tuy nhiên bài đó được đăng từ năm 2024, nên có vẻ ai đó đã thấy thread này rồi mới đi xử lý
    • Không biết bài này có bị gỡ cùng luôn không
      Đó là ví dụ dùng Azure và GPT với tiêu đề “Tạo ứng dụng RAG trong 5 phút”
    • Đây là bằng chứng xâm phạm bản quyền rất rõ ràng. Nếu Rowling muốn thì có lẽ hoàn toàn có thể kiện
    • archive.is cũng từng gây tranh cãi vì dùng CAPTCHA để lạm dụng trình duyệt người dùng cho DDoS
      Thật thất vọng khi người ta vẫn còn dùng trang đó
    • Bên tôi thì trang đó vẫn còn hiện nguyên
  • Ảnh thumbnail do AI tạo của bài blog (liên kết ảnh)
    cho thấy Harry thời trẻ và bạn bè đứng trước logo Microsoft. Thật sự rất sốc

    • AI lúc nào cũng có lỗi vẽ tàu hỏa kỳ quặc
      Chắc nếu khung hình rộng hơn thì đã chẳng có cả phần nối giữa các toa
  • Tôi vốn không ưa Microsoft, nhưng gọi vụ này là “cẩm nang dùng đồ lậu” thì hơi quá
    Đây chỉ là ví dụ phục vụ nghiên cứu, không phải tích hợp vào sản phẩm
    Mức độ phản ứng thái quá quanh độc quyền bản quyền và fair use cũng đáng xấu hổ

    • Dù sao thì Microsoft vẫn có vốn hóa gần 3 nghìn tỷ USD
      Dù là dùng cho nghiên cứu, họ hoàn toàn đủ khả năng trả thù lao xứng đáng cho văn bản đã sử dụng
    • Thực ra đây không chỉ là vấn đề của riêng Microsoft
      Phần lớn các công ty LLM thương mại đều đang làm những việc tương tự
    • Tiêu đề không hề cường điệu, vì đó đúng là một bài hướng dẫn tải và sử dụng tài liệu bất hợp pháp
      Tức là một công ty đã đưa lên blog chính thức hướng dẫn một hành vi mà người bình thường làm thì là phạm pháp
      Anthropic cũng từng dàn xếp vụ xâm phạm bản quyền với số tiền 1,5 tỷ USD
      Tôi cũng ghét hệ thống bản quyền hiện tại, nhưng không thể chấp nhận việc áp hai tiêu chuẩn khác nhau cho doanh nghiệp và cá nhân
  • Đây không phải là cẩm nang dùng đồ lậu, mà chỉ là bài giải thích cách đưa dataset vào SQL
    Có lẽ Kaggle hoặc người tải lên là Shubham Maindola mới là bên phải chịu trách nhiệm
    Phần mô tả nguồn dữ liệu nói rằng “đã chuyển ebook Harry Potter sang txt” thật sự quá rợn người
    Vậy mà điểm Kaggle lại là 10.0, thật khó tin

    • Hơn nữa ngay từ từ đầu tiên của văn bản đã có lỗi chính tả — “M r.” mới ghê…
  • Bài này được đăng từ năm 2024 và Kaggle vẫn đang host dữ liệu
    Thật khó hiểu vì sao phía Rowling đến nay vẫn chưa có động thái gì

    • Có lẽ vì nó nằm ngoài sự chú ý
      Số lượt tải trên Kaggle chỉ khoảng 10 nghìn nên có thể chưa đủ nổi bật
      Nhưng rõ ràng đây là chuyện đã vượt quá giới hạn
      Trước đây Microsoft cũng từng có vụ đạo nhái liên quan đến AI,
      khi đó cũng đã có ý kiến rằng quy trình kiểm duyệt nội bộ gần như không tồn tại
      Thread liên quan: “Microsoft morged my diagram”
    • Tôi đã liên hệ trực tiếp với Rowling qua Twitter và cũng đã báo cho đội pháp lý
    • Trước đây việc text mining phục vụ nghiên cứu học thuật là bất hợp pháp nhưng thường bị làm ngơ
      Nhưng giờ đã khác hoàn toàn vì mô hình thương mại đã xuất hiện
      Từng có cả những dataset như Books3 được công khai, chứa hàng trăm nghìn đầu sách còn bản quyền
  • Trang đã bị xóa, nhưng vẫn còn bản sao trên web archive
    Việc những người thiếu ý thức đạo đức lại đang tạo ra công nghệ tương lai thật đáng lo ngại

    • Điều đáng lo hơn là họ thậm chí còn không nhận ra việc công khai một bài như thế là có vấn đề
      Nếu những người đã trải qua quy trình tuyển dụng nghiêm ngặt như vậy lại đưa ra phán đoán như thế,
      thì thật khó không nghi ngờ các quyết định quan trọng ngoài thực tế sẽ nguy hiểm tới mức nào
    • Tất nhiên xâm phạm bản quyền có thể là chuyện nhỏ nếu so với những hành vi thiếu đạo đức khác của các tập đoàn lớn
      Nhưng như vậy cũng không thể xem là lý do để miễn trách nhiệm
  • Giờ đúng là có cảm giác đang sống trong một thế giới nơi quyền sở hữu trí tuệ đã trở nên vô nghĩa
    Nên có người đùa rằng biết đâu sẽ có nhà đầu tư rót tiền cho một “startup tiểu thuyết AI chuyên nhả ra nguyên xi Harry Potter”

    • Có người đáp lại bằng câu đùa “nếu là quy trình tạo ra robot nô lệ thì tôi sẽ đầu tư”
    • Thà làm một công cụ AI tạo fanfic vô hạn có khi còn vui hơn
      Tới giờ thứ AI làm ổn định nhất có lẽ vẫn là hài hước
    • Có người nêu ý tưởng startup AI có thể mở rộng vô hạn bằng cách biến “Bee Movie” sang phong cách Ghibli, chuyển giọng nói thành văn bản rồi lại phát lại bằng TTS
    • Cũng có trò đùa về việc họ vừa tạo ra một hệ điều hành mới tên là “Vindows”
      rồi châm biếm rằng mọi điểm giống với sản phẩm hiện có đều là “hoàn toàn ngẫu nhiên”
    • Dĩ nhiên những chuyện như vậy chỉ là đặc quyền dành cho giới tỷ phú
      Người bình thường làm thì vẫn mất sạch mọi thứ và vào tù như thường
  • Nhìn vào hướng đi hiện tại của Microsoft thì vụ này chẳng có gì đáng ngạc nhiên
    Ở Microsoft của năm 2026, dường như luật bản quyền và quyền sở hữu trí tuệ không còn được áp dụng nữa