jsonquotefixer: gói Python giúp dọn dẹp gọn gàng đầu ra JSON có cấu trúc bị lỗi từ LLM
(github.com/abzb1)Xin chào!
Khi sử dụng mô hình AI, có rất nhiều lúc cần đầu ra JSON có cấu trúc.
Bản thân tôi khi thực hiện nhiều dự án cũng thường xuyên gặp tình huống cần dùng đầu ra JSON, và lần nào cũng vướng cùng một số bất tiện.
Có 3 điểm bất tiện lớn trong đầu ra có cấu trúc của LLM.
-
Xử lý khối mã (
json …)
Phần lớn LLM khi trả về JSON sẽ dùng khối mã được bọc bởi ba dấu backtick và từ khóajson.
Có thể xử lý bằng regex đơn giản, nhưng phải lặp lại mỗi lần thì khá phiền. Nếu có thể xử lý ở cấp độ package chỉ bằng một dòng thì sẽ tiện hơn rất nhiều. -
Vấn đề dấu ngoặc kép lồng nhau
Trong JSON, chuỗi phải được bao bằng dấu ngoặc kép ("). Nhưng nếu bên trong chuỗi lại xuất hiện dấu trích dẫn, thì cần escape như\".
LLM thường bỏ sót sự phân biệt này và trả về JSON không hợp lệ. Tôi cần một tính năng có thể tự động hiệu chỉnh vấn đề này. -
Dấu ngoặc kép thông minh (dấu trích dẫn Unicode)
Trong các câu do LLM tạo ra thường xuất hiện những dấu ngoặc kép thông minh như“ ”.
Vì chúng không phù hợp với chuẩn JSON, nên cần có khả năng chuyển đồng loạt sang dấu ngoặc kép thông thường (").
Tôi có tìm thử thì thấy có dự án ai-json-fixer dựa trên Node.js, nhưng trong hệ sinh thái Python lại không có công cụ nào thật sự phù hợp.
Vì vậy tôi đã tự làm luôn! (cùng với thầy GPT nữa haha)
Có thể cài đơn giản bằng pip rồi dùng ngay.
pip install jsonquotefixer
Hãy thử dùng rồi phê bình thật mạnh tay nhé haha
2 bình luận
Sẽ rất tuyệt nếu các ví dụ trên GitHub được hiển thị rõ ràng bằng ipynb.
Độ phức tạp thời gian là n (độ dài chuỗi)!