Xử lý File Excel Không Cấu Trúc với LangChain

Tình huống thực tế

Hãy tưởng tượng bạn được giao nhiệm vụ phân tích một file Excel khổng lồ chứa đầy các phản hồi của khách hàng.

File này có:

Làm sao bạn lọc ra thông tin quan trọng từ một “rừng dữ liệu” như vậy?

Đây chính là lúc bạn cần đến LangChain – một thư viện mạnh mẽ giúp xử lý dữ liệu không có cấu trúc.

Mục tiêu của bài học:

Sau bài này, bạn sẽ biết cách:

  1. Tải file Excel vào LangChain

  2. Chia nhỏ dữ liệu để xử lý tốt hơn

  3. Tạo embeddings từ dữ liệu để phục vụ cho phân tích, tìm kiếm hoặc sinh nội dung

Bước 1: Tải dữ liệu Excel

Chúng ta dùng UnstructuredExcelLoader trong module langchain_community.

Cú pháp cơ bản:

from langchain_community.document_loaders import UnstructuredExcelLoader

loader = UnstructuredExcelLoader("reviews.xlsx", mode="elements")
docs = loader.load()

mode="elements" giúp chia nhỏ từng phần trong file Excel.

Bước 2: Chia nhỏ nội dung (Chunking)

Lý do: Các mô hình ngôn ngữ có giới hạn số lượng token. Nếu bạn đưa vào quá nhiều chữ, nó sẽ bị cắt mất nội dung.

Giải pháp: Dùng RecursiveCharacterTextSplitter

from langchain.text_splitter import RecursiveCharacterTextSplitter

splitter = RecursiveCharacterTextSplitter(chunk_size=2000, chunk_overlap=200)
chunks = splitter.split_documents(docs)

Ví dụ:

Gợi ý:

Bước 3: Tạo Embeddings (biểu diễn ngữ nghĩa)

Dùng OpenAIEmbeddings từ LangChain để biến các đoạn văn bản thành vector ngữ nghĩa.

from langchain_openai import OpenAIEmbeddings

embeddings = OpenAIEmbeddings(model="text-embedding-3-large")

Mô hình text-embedding-3-large là phiên bản tốt nhất hiện tại của OpenAI.

Lưu ý:

Tổng kết

Chúng ta đã học:

  1. Cách nạp dữ liệu Excel vào LangChain

  2. Cách chia nhỏ văn bản để xử lý hiệu quả

  3. Cách tạo embeddings để chuẩn bị cho các tác vụ phân tích AI

Từ khóa quan trọng:

Tác giả: Đỗ Ngọc Tú
Công Ty Phần Mềm VHTSoft

 

 


Phiên bản #1
Được tạo 6 tháng 5 2025 10:09:53 bởi Đỗ Ngọc Tú
Được cập nhật 6 tháng 5 2025 10:15:35 bởi Đỗ Ngọc Tú