Mô hình không ghi nhớ. Bạn mới là người ghi nhớ.
Tôi từng nghĩ các Mô hình Ngôn ngữ Lớn (LLMs) có bộ nhớ.
Tôi đã nghĩ mỗi phiên chat sẽ tự lưu trữ ngữ cảnh của riêng nó. Tôi đã lầm.
LLMs là stateless. Mô hình không nhớ bất cứ điều gì từ yêu cầu này sang yêu cầu tiếp theo.
Khi bạn thấy lịch sử trò chuyện, bạn đang nhìn vào một mảng (array) các tin nhắn. Để tạo ra một cuộc hội thoại, bạn phải gửi toàn bộ lịch sử đó ngược lại cho mô hình cùng với mỗi prompt mới.
Nếu bạn sử dụng một SDK, quá trình này sẽ được ẩn đi. SDK sẽ xử lý sự phức tạp đó cho bạn.
Nếu bạn sử dụng raw fetch, bạn sẽ thấy tất cả. Bạn phải tự mình quản lý các header, body và mảng tin nhắn.
Đây là cách ngữ cảnh hoạt động:
• Bạn gửi một tin nhắn. • Mô hình phản hồi. • Bạn lưu cả hai tin nhắn vào một mảng. • Bạn gửi toàn bộ mảng đó ngược lại cho câu hỏi tiếp theo.
Mô hình chỉ biết những gì bạn gửi trong yêu cầu hiện tại. Mọi thứ khác đều đã biến mất.
Hiểu được mảng này là nền tảng của việc phát triển AI. Đó là điểm khởi đầu cho các phương pháp nâng cao như RAG, sliding windows và semantic search.
Nếu bạn muốn xây dựng các công cụ AI đáng tin cậy, hãy ngừng dựa dẫm vào các lớp trừu tượng (abstractions). Hãy nhìn vào các raw requests. Hãy tự mình kiểm soát lịch sử.
Bài viết đầy đủ: https://dev.to/marcochavezco/the-model-doesnt-remember-you-do-38jk