Giới thiệu về Bộ nhớ Ngoài (Persistent Memory) với LangGraph
-
Trong chương trình đến hiện tại, chúng ta mới chỉ làm việc với bộ nhớ ngắn hạn (short-term memory).
-
Ứng dụng có thể ghi nhớ cuộc hội thoại đang diễn ra, nhưng khi đóng ứng dụng và mở lại, mọi thông tin sẽ mất.
-
Hôm nay, chúng ta sẽ khám phá một khái niệm mới: Bộ nhớ dài hạn (Long-Term Memory) hay còn gọi là Bộ nhớ ngoài (Persistent Memory).
Tầm quan trọng của Bộ nhớ Ngoài
-
Bộ nhớ ngoài giúp ứng dụng AI:
-
Ghi nhớ người dùng qua nhiều phiên làm việc.
-
Lưu trữ sở thích, dữ liệu, lịch sử người dùng.
-
-
Đây là một bước tiến rất quan trọng trong việc xây dựng các ứng dụng AI thông minh hơn.
⚡️ Ghi nhớ: Hôm nay chỉ là giới thiệu ban đầu, chi tiết sâu hơn sẽ học trong các bài học tới.
Mục tiêu bài học
Bạn sẽ học cách:
-
Tạo một ứng dụng AI có bộ nhớ ngoài.
-
Lưu trữ bộ nhớ trong một cơ sở dữ liệu SQLite thay vì chỉ lưu trong RAM.
Các bước thực hiện
1. Cài đặt SQLite
-
Xác nhận đã cài đặt SQLite 3 trên máy.
-
Nếu chưa có, làm theo hướng dẫn để cài đặt.
2. Tạo cơ sở dữ liệu bên ngoài
-
Dùng lệnh terminal trong notebook (bằng
!
) để:-
Tạo thư mục
state_db/
. -
Tạo cơ sở dữ liệu
external_memory.db
trong thư mục này.
-
Lưu ý: Dấu ! trong notebook có nghĩa là chạy lệnh Terminal ngay trong notebook.
3. Kết nối với cơ sở dữ liệu
-
Sử dụng đối tượng connection (
conn
) để kết nối tới database. -
Đường dẫn tới database sẽ là:
state_db/external_memory.db
.
4. Thiết lập LangGraph với SQLite
-
Trước đây ta dùng
MemorySaver
cho bộ nhớ ngắn hạn. -
Giờ ta sử dụng SQLiteSaver để:
-
Ghi nhớ cuộc hội thoại.
-
Lưu vào cơ sở dữ liệu ngoài (external memory).
from langgraph.checkpoints.sqlite import SQLiteSaver checkpoint = SQLiteSaver(conn=conn)
checkpoint
sẽ lưu giữ bộ nhớ trong file SQLite đã tạo.
-
Ứng dụng thực tế
-
Ứng dụng chatbot trước đây sẽ được chỉnh sửa:
-
Không lưu tạm trên RAM nữa.
-
Mà lưu luôn trên cơ sở dữ liệu.
-
-
Nếu bạn tắt và mở lại notebook, chatbot vẫn nhớ cuộc trò chuyện trước đó!
Ghi chú quan trọng
-
KHÔNG cần luyện tập sâu với bài này ngay bây giờ.
-
Ghi nhớ ý tưởng: ứng dụng có thể lưu bộ nhớ vào database.
-
Khi xây dựng ứng dụng nâng cao sau này, bạn sẽ cần dùng kỹ thuật này nhiều hơn.
Tổng kết nhanh
-
Bộ nhớ ngoài = Lưu trữ cuộc trò chuyện lâu dài.
-
SQLite = Công cụ lưu trữ dữ liệu nhẹ, dễ dùng.
-
LangGraph = Cung cấp module
SQLiteSaver
để kết nối và lưu dữ liệu dễ dàng.
Tác giả: Đỗ Ngọc Tú
Công Ty Phần Mềm VHTSoft
Không có bình luận