Làm chủ TOON CLI

CLI
TOON

Nếu bạn đang làm việc với Mô hình ngôn ngữ lớn (LLM), bạn sẽ biết rằng JSON là ngôn ngữ chung của trao đổi dữ liệu. Tuy nhiên, bạn cũng biết rằng JSON nổi tiếng là hay nói nhiều. Tất cả các dấu ngoặc nhọn, dấu ngoặc kép và phím lặp lại đó sẽ ngốn hết cửa sổ ngữ cảnh của bạn, làm tăng độ trễ và tăng chi phí API.

Đây là nơi TOON (Ký hiệu hướng đối tượng) tỏa sáng. Mặc dù thư viện TypeScript rất tốt cho mã ứng dụng nhưng đôi khi bạn chỉ cần hoàn thành công việc nhanh chóng trong terminal. Cho dù bạn đang gỡ lỗi lời nhắc, chuẩn bị tập dữ liệu hay chỉ đơn giản là tò mò về số tiền bạn có thể tiết kiệm được từ mã thông báo, @toon-format/toon CLI là người bạn thân mới của bạn.

Trong hướng dẫn này, chúng tôi sẽ xem xét cách tận dụng Giao diện dòng lệnh TOON để tích hợp tối ưu hóa dữ liệu trực tiếp vào quy trình làm việc shell của bạn.

Bắt đầu thiết lập

Một trong những điều tuyệt vời nhất về công cụ JavaScript hiện đại là bạn thường không cần phải "cài đặt" bất cứ thứ gì để bắt đầu. Nếu bạn chỉ muốn thử TOON trên một tệp duy nhất, bạn có thể sử dụng npx để chạy trực tiếp tệp nhị phân:

npx @toon-format/cli input.json -o out.toon 

Tuy nhiên, nếu bạn dự định sử dụng tính năng này thường xuyên—và sau khi bạn thấy khoản tiết kiệm được bằng mã thông báo, bạn có thể sẽ làm như vậy—cài đặt toàn cầu là cách tốt nhất. Nó cho phép bạn truy cập vào lệnh toon ngắn gọn ở bất kỳ đâu trong hệ thống của bạn.

cài đặt npm -g @toon-format/cli 
# hoặc 
pnpm thêm -g @toon-format/cli 

Sau khi cài đặt, bạn đã sẵn sàng bắt đầu thu nhỏ dữ liệu của mình.

Sự kỳ diệu của tính năng tự động phát hiện

TOON CLI được thiết kế để hiểu rõ những gì bạn đang cố gắng thực hiện. Bạn hiếm khi cần yêu cầu nó mã hóa hoặc giải mã một cách rõ ràng; nó nhìn vào phần mở rộng tập tin của bạn để quyết định.

Nếu bạn cung cấp cho nó một tệp .json, nó sẽ giả định rằng bạn muốn mã hóa nó thành TOON. Nếu bạn cung cấp tệp .toon, tệp này sẽ chuyển sang chế độ giải mã để trả lại JSON cho bạn.

# Tự động mã hóa thành TOON 
toon data.json -o nén.toon 

# Tự động giải mã thành JSON 
toon nén.toon -o khôi phục.json 

Nhưng nơi CLI thực sự chứng minh được giá trị của nó nằm ở "triết lý Unix"—các công cụ nhỏ được kết nối một cách lỏng lẻo. Vì TOON CLI đọc từ đầu vào tiêu chuẩn (stdin) và ghi vào đầu ra tiêu chuẩn (stdout), nên bạn có thể truyền dữ liệu trực tiếp qua nó.

# Đưa JSON trực tiếp vào TOON 
cat tập dữ liệu lớn.json | toon > data.toon 

# Phản hồi nhanh một đối tượng để xem nó trông như thế nào trong TOON 
echo '{"name": "Ada", "role": "admin"}' | hoạt hình 

Khi bạn truyền dữ liệu qua stdin, CLI sẽ mặc định ở chế độ mã hóa. Nếu bạn cần giải mã luồng dữ liệu TOON đến từ một quy trình khác, chỉ cần thêm cờ --decode (hoặc -d).

Phân tích việc tiết kiệm token

Tối ưu hóa các định dạng dữ liệu thường là về trò chơi đoán. "Nếu tôi xóa khoảng trắng thì tôi tiết kiệm được bao nhiêu?" "Nếu tôi chuyển sang YAML thì sao?"

TOON CLI loại bỏ việc phỏng đoán bằng cờ --stats. Khi mã hóa, tùy chọn này sẽ tính toán số lượng mã thông báo ước tính và hiển thị cho bạn số tiền tiết kiệm được ngay lập tức. Điều này là vô giá khi bạn lập ngân sách cho các cuộc gọi LLM số lượng lớn.

bối cảnh hoạt hình.json --stats 

Bạn có thể thấy đầu ra cho biết kích thước giảm 30% hoặc 40%. Đó không chỉ là dung lượng ổ đĩa; nghĩa là độ trễ ít hơn 40% và chi phí thấp hơn 40% đối với mã thông báo đầu vào.

Điều chỉnh nâng cao: Dấu phân cách và định dạng

Theo mặc định, TOON sử dụng dấu phẩy để phân tách các mục trong mảng, tương tự như JSON. Tuy nhiên, các mã thông báo LLM khác nhau hoạt động khác nhau với dấu câu. Đôi khi, ký tự tab hoặc dấu gạch đứng (|) có hiệu quả sử dụng mã thông báo cao hơn dấu phẩy.

CLI cho phép bạn hoán đổi các dấu phân cách một cách nhanh chóng. Nếu bạn đang xử lý dữ liệu dạng bảng, việc chuyển sang dấu phân cách tab có thể giúp kết quả đầu ra trông rõ ràng hơn và xử lý hiệu quả hơn.

Đối với danh sách sản phẩm, thao tác này chuyển đổi đầu ra từ danh sách được phân tách bằng dấu phẩy thành cấu trúc gọn gàng, được phân tách bằng tab trông gần giống như một bảng tính mà nhiều mô hình phân tích cực kỳ tốt.

# Sử dụng các tab cho các mục mảng 
toon items.json --delimiter "\t" -o items.toon 

::: mẹo Mẹo chuyên nghiệp: Dấu phân cách tab thường làm giảm nhu cầu thoát dấu ngoặc kép và có thể tạo ra mã thông báo tốt hơn cho dữ liệu số. Nếu bạn đang xử lý các tập dữ liệu lớn, hãy thử --delimiter "\t" để tận dụng tối đa hiệu quả. :::

Cấu trúc nén bằng cách gấp phím

Một trong những tính năng mới hơn (được giới thiệu trong thông số kỹ thuật v1.5) có sẵn trong CLI là Gập phím. Dữ liệu JSON thường được lồng sâu, với các khóa bao bọc như data.response.items giúp tăng thêm chiều sâu cấu trúc mà không thêm ý nghĩa.

CLI cho phép bạn "gấp" các khóa lồng nhau này thành một đường dẫn có ký hiệu dấu chấm duy nhất, làm phẳng hệ thống phân cấp và lưu mã thông báo vào dấu thụt lề và dấu ngoặc nhọn.

toon deep-structure.json --key-folding safe -o flat.toon 

Điều này biến đổi các đối tượng lồng nhau:

{ "người dùng": { "hồ sơ": { "id": 1 } } } 

Thành một đại diện TOON ngắn gọn:

user.profile.id: 1 

Nếu sau này cần chuyển đổi lại thành JSON đầy đủ, bạn có thể sử dụng cờ --expand-paths safe trong quá trình giải mã để tái tạo lại cấu trúc đối tượng sâu một cách hoàn hảo.

tích hợp vào Pipelines

Sức mạnh thực sự của TOON CLI đến khi bạn kết hợp nó với các công cụ khác như curljq. Bạn có thể tìm nạp dữ liệu từ API, lọc dữ liệu xuống mức cần thiết và chuyển đổi thành TOON trong một dòng duy nhất—sẵn sàng dán vào lời nhắc hoặc gửi đến điểm cuối suy luận.

Trong quy trình làm việc này, bạn tìm nạp dữ liệu, chỉ trích xuất những người dùng đang hoạt động, chuyển đổi dữ liệu sang định dạng TOON được phân cách bằng dấu sổ đứng và nhận báo cáo thống kê về số lượng mã thông báo bạn vừa lưu.

cuộn tròn -s https://api.example.com/users \ 
| jq '.data.active_users' \ 
| hoạt hình --stats --dấu phân cách "|" 

Bản tóm tắt

@toon-format/cli không chỉ là một công cụ chuyển đổi tập tin; nó là một vành đai tiện ích cho kỷ nguyên LLM. Bằng cách chuyển quy trình xử lý dữ liệu sang dòng lệnh, bạn có thể lặp lại nhanh hơn, trực quan hóa các hoạt động tối ưu hóa ngay lập tức và tích hợp các định dạng sử dụng mã thông báo hiệu quả vào quy trình công việc kỹ thuật hiện có của mình.

Cho dù bạn đang chuẩn bị tài liệu RAG (Thế hệ tăng cường truy xuất) hay chỉ đơn giản là cố gắng khớp một blob JSON lớn vào một cửa sổ ngữ cảnh nhỏ, hãy thử CLI. Ngân sách mã thông báo của bạn sẽ cảm ơn bạn.