Chuyển bản xuất ChatGPT sang Markdown — miễn phí

Biến tệp conversations.json trong bản xuất ChatGPT thành Markdown dễ đọc. Đi theo đúng nhánh đã thực sự hiển thị và bỏ qua lời nhắc hệ thống ẩn.

Đọc bản xuất dữ liệu ChatGPT: cuộc trò chuyện là một cái cây, không phải một danh sách

Yêu cầu ChatGPT gửi dữ liệu của bạn và bạn nhận về một tệp .zip mà phần hữu ích chỉ là một tệp conversations.json duy nhất. Mở nó ra với kỳ vọng thấy một danh sách tin nhắn thì bạn gặp thứ khác: một đối tượng tên mapping, đầy các mục khóa theo mã định danh, mỗi mục trỏ tới một nút cha và một tập nút con. Tin nhắn nằm trong đó. Còn cuộc trò chuyện mà bạn nhớ là một đường đi xuyên qua đồ thị.

Trang này dựng lại đường đi đó và ghi ra dưới dạng Markdown. Thả tệp nén hoặc tệp JSON đã giải nén vào, nó được phân tích ngay trong tab trình duyệt này.

Vì sao nó được lưu dưới dạng đồ thị

Vì giao diện cho phép bạn viết lại quá khứ. Sửa một câu hỏi cũ là luồng rẽ nhánh từ đúng chỗ đó. Tạo lại một câu trả lời là bạn có thêm một phương án, lật qua lật lại bằng hai mũi tên nhỏ. Cả hai phiên bản vẫn còn đó; giao diện chỉ hiện một.

Một mảng phẳng không biểu diễn nổi chuyện đó. Nên bản xuất lưu mọi nhánh, còn bản ghi mà bạn thực sự nhìn thấy được khôi phục bằng cách bắt đầu từ nút không có cha rồi đi xuống, mỗi bước chọn một trong các nút con. Quy ước khớp với giao diện là bám theo nút con cuối cùng, vì một lần tạo lại được nối vào sau câu trả lời mà nó thay thế. Công cụ này làm đúng như vậy, và đó là lý do kết quả đọc ra đúng cuộc trò chuyện bạn đã có chứ không phải một mớ đan xen của mọi lần thử.

Có một cái chốt chống chu trình khi đi qua đồ thị. Đáng lẽ nó không bao giờ kích hoạt trên một bản xuất lành lặn, nhưng một vòng lặp vô hạn trong bộ phân tích còn tệ hơn một bản ghi bị cắt ngắn.

Nội dung bạn chưa từng nhìn thấy

Bản xuất có kèm những thứ mà giao diện giấu đi, và tái hiện chúng nguyên xi thì bạn có một bản ghi không khớp với trí nhớ của mình về cuộc trò chuyện:

  • Tin nhắn hệ thống. Cuộc trò chuyện nào cũng mở đầu bằng những chỉ dẫn bạn không viết ra và cũng không được cho xem. Nó nằm trong tệp như một tin nhắn đầy đủ.
  • Lưu lượng công cụ. Tìm kiếm web, chạy mã và tạo ảnh, mỗi thứ để lại nút yêu cầu và nút kết quả riêng, gửi tới một người nhận không phải bạn. Đó là bộ máy nằm sau một câu trả lời, không phải một phần của cuộc đối thoại.
  • Các nút bị đánh dấu ẩn. Một số tin nhắn mang cờ ghi rằng chúng không hiện trong cuộc trò chuyện. Bản xuất trung thực về chuyện này, và cái cờ đó được tôn trọng.

Cả ba đều bị lọc bỏ, chỉ còn lại lượt của người dùng và lượt của trợ lý.

Nội dung tin nhắn không phải lúc nào cũng là một chuỗi

Trường nội dung đã lớn dần theo thời gian. Một lượt chữ thuần mang theo mảng parts gồm các chuỗi. Vài kiểu tin nhắn lại dùng trường text. Lượt đa phương thức đặt các đối tượng vào mảng parts, mỗi phần tử một thứ, trong đó một ảnh tải lên và câu hỏi đi kèm là hai mục riêng. Kết quả từ code interpreter lại tới ở một hình dạng khác nữa.

Bộ phân tích đọc được dạng chuỗi, dạng mảng chuỗi và dạng mảng đối tượng, moi phần chữ ra khỏi từng dạng. Những phần không phải chữ thì không đóng góp gì, thay vì sinh ra một chỗ đánh dấu hay một lỗi, nghĩa là một cuộc trò chuyện có ảnh sẽ đi qua dưới dạng những lời nói quanh chúng.

Vì sao Markdown là đích đến đúng

Trợ lý vốn đã viết bằng Markdown. Câu trả lời của nó chứa khối mã có hàng rào, tiêu đề, danh sách gạch đầu dòng và bảng, và những ký hiệu đó nằm trong bản xuất dưới dạng ký tự. Chuyển sang văn bản thuần thì chúng cứ nằm đó như những dấu backtick và dấu thăng trơ trọi — phần định dạng không được kết xuất mà cũng không được gỡ, chỉ mắc cạn giữa đường.

Giữ Markdown nghĩa là khối mã vẫn là khối mã. Dán kết quả vào bất kỳ ứng dụng ghi chú, trình sinh trang tĩnh, công cụ tài liệu hay wiki nào thì nó hiện ra đúng dạng. Tên người nói được in đậm và mỗi cuộc trò chuyện có một tiêu đề lấy từ tên của nó, nên một bản xuất trải nhiều năm trở thành một tài liệu đi lại được thay vì một dải chữ không phân biệt.

Bản xuất rất lớn

Vài năm dùng đều đặn sẽ tạo ra một tệp conversations.json cỡ hàng chục tới hàng trăm megabyte, chứa hàng nghìn cuộc trò chuyện. Đó là vấn đề với trình soạn thảo văn bản, thứ sẽ cố tô màu cú pháp cho toàn bộ, và với bất kỳ công cụ nào định dạng lại JSON cho đẹp trước khi cho bạn xem thứ gì.

Ở đây việc phân tích diễn ra một lần, trong bộ nhớ, và chỉ phần kết quả dễ đọc được vẽ ra. Mỗi cuộc trò chuyện thành một mục dưới tiêu đề riêng, có vạch ngăn giữa các mục, nên bạn tìm trong kết quả một câu mình nhớ mang máng thay vì cuộn tay.

Yêu cầu bản xuất của bạn

Trong ChatGPT: Cài đặt, rồi Kiểm soát dữ liệu, rồi Xuất dữ liệu. Kho lưu trữ được gửi tới email của bạn, thường trong vòng vài phút, dưới dạng một liên kết tải xuống có hạn dùng. Tệp nén còn chứa một trình xem HTML và nhiều tệp phương tiện; ở đây chỉ cần phần JSON, và thả nguyên cả kho vào cũng chạy tốt.

Không có gì được tải lên

Lịch sử ChatGPT của bạn là một bản ghi chi tiết về những gì bạn đang làm, đang lo và đang cần giúp. Nó thuộc loại tệp hé lộ nhiều nhất mà phần lớn mọi người sở hữu. Việc phân tích chạy bằng JavaScript trong tab này và không có bước tải lên, nên không máy chủ nào nhận được nó và cũng không có gì để xóa sau đó.

Bản xuất của Claude có trang riêng tại Chuyển bản xuất Claude sang Markdown, còn trang xuất chat tổng hợp xử lý mọi nền tảng được hỗ trợ.