Nhảy đến nội dung chính

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ụngmở 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ắtmở 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