4 điểm bởi GN⁺ 2025-03-31 | 1 bình luận | Chia sẻ qua WhatsApp
  • Cho thấy các ví dụ tự động hóa việc xử lý nhạc, video, danh sách công việc và tệp ảnh bằng cách kết nối foundation model với các tiện ích UNIX cũ và mới thông qua pipe trong môi trường kiểu UNIX
  • Bộ sưu tập nhạc được CLAP đặt vào không gian embedding 512 chiều, rồi dùng llm-clapllm-interpolate để tìm đường đi giữa bài bắt đầu và bài kết thúc, tạo thành playlist .m3u
  • Có thể tạo ghi chú video bằng pipeline 2 dòng: tải phụ đề bằng yt-dlp, tóm tắt bằng llm, rồi chuyển sang zk new -i
  • Báo cáo công việc được tạo bằng cách xuất các tác vụ đã hoàn thành trong 7 ngày gần nhất từ taskwarrior dưới dạng JSON, dùng jq chỉ trích xuất .description, rồi giao cho LLM tạo báo cáo
  • Đổi tên tệp ảnh bằng cách kết hợp find, xargs, ollama, moondream, tr, sed để tạo tên tệp có vẻ hợp lý dựa trên nội dung ảnh

Kết hợp UNIX pipe với foundation model

  • Foundation model là mô hình được huấn luyện trên các tập dữ liệu rất lớn và đa dạng, có thể dùng trực tiếp cho nhiều tác vụ downstream hoặc tinh chỉnh
  • Các tác vụ mục tiêu tập trung vào luồng sử dụng những mô hình có khả năng tạo và hiểu văn bản, hình ảnh
  • Cách tiếp cận được chia thành hai bước
    • Dùng cùng lúc các tiện ích UNIX cổ điển và tiện ích mới để nối nhiều phần của pipeline
    • Áp dụng foundation model cho những tác vụ khó xử lý chỉ bằng các lời giải được định nghĩa rõ ràng, rồi dùng tiện ích để hiệu chỉnh đầu ra của mô hình thành dạng hữu ích

Ví dụ pipeline

  • Tạo playlist

    • Mô hình hiểu nhạc chuyển mỗi bài hát thành một điểm trong không gian, rồi nội suy giữa các điểm để tự động tạo playlist nối tiếp tự nhiên
    • Các mô hình như CLAP embedding bộ sưu tập nhạc $MC vào không gian 512 chiều, trong đó các bài giống nhau sẽ nằm gần nhau hơn
    • Sử dụng llm cùng các plugin llm-clap, llm-interpolate
    • Lệnh ví dụ tạo embedding bằng llm embed-multi -m clap songs --files $MC '*', rồi tạo playlist .m3u gồm 3 bài bằng llm interpolate songs "PacifyHer.wav" "redrum.wav" -n 3 | jq .[] > playlist.m3u
  • Viết ghi chú video

    • Video bài giảng và hướng dẫn rất hữu ích, nhưng vừa xem vừa sắp xếp ghi chú thì phiền phức
    • Tải phụ đề video bằng yt-dlp, tóm tắt bằng llm -s "Create notes", rồi tạo đối tượng ghi chú mới bằng zk new -i của zk
    • Pipeline ví dụ chạy yt-dlp --no-download --write-subs --output "$OUT" "$URL", sau đó chạy cat "$OUT" | llm -s "Create notes" | zk new -i
  • Tạo báo cáo công việc

    • Báo cáo họp theo tháng, tuần, ngày cần cân bằng giữa mức trừu tượng để thành viên nhóm hiểu được và mức cụ thể để nhận phản hồi có ý nghĩa
    • Có thể truy vấn công cụ danh sách việc cần làm số như taskwarrior, rồi chuyển kết quả cho LLM để tạo báo cáo
    • Pipeline ví dụ xuất các tác vụ đã hoàn thành trong 7 ngày gần nhất dưới dạng JSON, dùng jq trích xuất .description, rồi chuyển cho llm -s 'Generate a report based on these tasks.'
  • Đổi tên tệp ảnh

    • Các tệp ảnh tải từ Internet hoặc tự chụp có thể mang tên mơ hồ hoặc vô dụng như 1672714705640839.png, 1689964585834142.png, 2.jpg
    • ollama là công cụ lấy mô hình và suy luận, khi dùng cùng mô hình thị giác moondream có thể suy luận nhanh trên laptop hiện đại
    • Pipeline ví dụ tìm các tệp .jpg trong thư mục hiện tại, nhận tiêu đề dựa trên ảnh bằng ollama run moondream "Title for this: {}", rồi dùng trsed để đưa về dạng tên tệp
    • Ví dụ đầu ra có dạng A green dragon with wings and a tail.jpg, A painting of a serene landscape.jpg, urns of stone red car in foreground.jpg

1 bình luận

 
GN⁺ 2025-03-31
Các ý kiến trên Hacker News
  • Nếu muốn chuyển thẳng đến mục lục, hãy xem https://pagedout.institute/download/PagedOut_006.pdf#page=3

  • Ví dụ “How to use a Python variable in an external Javascript (Django)” có khả năng cao dễ bị tấn công XSS khi biến chứa dữ liệu nhập từ người dùng
    Điều quan trọng là phải mã hóa đầu ra đúng theo ngữ cảnh. Theo mặc định, Django mã hóa các biến template theo ngữ cảnh HTML, nên nếu xuất chúng bên trong thẻ script hoặc trong file JavaScript thì có thể dẫn đến XSS

    • Xem tài liệu Django thì có vẻ nhận định này đúng, và đặc biệt chuỗi dường như là vấn đề cốt lõi
      Cơ chế auto-escape mặc định chuyển '" thành HTML entity nhưng không mã hóa dấu gạch chéo ngược, nên một \ ở cuối chuỗi có thể escape dấu ngoặc kép đóng. Nếu kẻ tấn công có thể điều khiển hai chuỗi cùng “kiểu” liên tiếp, việc khai thác sẽ trở nên khả thi
      Cách đúng có vẻ là như sau: https://docs.djangoproject.com/en/5.1/ref/templates/builtins...
    • Thật ngại là tôi đã có thể hình dung ra cách tấn công có thể diễn ra, nhưng may là chỉ cần thêm bộ lọc template escapejs là có thể sửa lỗ hổng
  • Tôi thật sự thích. Nó gợi lại cảm giác ezine/webzine ngày xưa
    Tuy vậy, tôi tò mò không biết những người dùng máy tính có thị lực rất kém thì làm sao đọc thoải mái được. Muốn theo dõi nội dung thì phải liên tục cuộn lên xuống, còn nếu xem cả trang thì phải nheo mắt mới đọc được chữ

    • Nói đúng, và một trong những hạn chế đáng tiếc của định dạng này là phải cuộn PDF liên tục. Rốt cuộc, những quyết định ban đầu đã nhốt chúng tôi trong định dạng này, nên tôi cũng có phần trách nhiệm
      Nhờ PDF, chúng tôi có thể cho tác giả toàn quyền tự do dàn trang, nhờ đó mới có những kết quả rất sáng tạo như số này. Nhưng PDF A4 không thuận tiện để đọc trên điện thoại, màn hình máy tính, máy tính bảng, và còn khó hơn với người dùng screen reader. Việc làm cho các PDF theo cách chúng tôi nhận được tương thích với screen reader ít nhất là phức tạp, nên hiện chúng tôi chưa hỗ trợ được
      Ngược lại, ngày nay ai cũng có trình đọc PDF, bài viết hiển thị giống nhau ở mọi nơi, và gần như có thể in ra ngay. Cuối cùng đây là câu chuyện đánh đổi. Có vẻ không có cách dễ dàng nào để giải quyết vấn đề này mà không làm mất đi lý do Paged Out! được yêu thích
      Điều tôi muốn cải thiện là tăng khả năng tiếp cận của bản in và một ngày nào đó bổ sung hỗ trợ screen reader đúng nghĩa. Ngoài ra, vấn đề cuộn có lẽ sẽ vẫn là một phần của zine
      Thêm nữa, sẽ rất tốt nếu có thể “đọc thành tiếng” các bài viết. Ngay từ đầu, phần lớn giấy phép của tác giả bài viết đã có điều khoản cho phép đồng ý ghi âm bài viết. Điều đó phù hợp với những người thích tiêu thụ nội dung như audiobook hoặc podcast, và nếu chấp nhận đánh đổi bằng việc nghe mô tả thay vì xem minh họa, họ cũng có thể tránh phải cuộn
    • Nếu chuyển hoàn toàn sang LaTeX, có lẽ có thể làm hai chiều, giống như arxiv gần đây render LaTeX thành HTML5
    • Dùng màn hình dọc là được
  • Hình thức thật sự rất đẹp, gợi không khí Crash magazine thập niên 1980

  • Đây là một tạp chí tuyệt vời, nhưng cũng có hạn chế. Do giới hạn một trang, mỗi bài viết chỉ trở thành một mỏ neo tối thiểu cho chủ đề, đôi khi gần như quảng cáo cho tác giả, nên lượng nội dung truyền tải không nhiều
    Về mặt nội dung, tôi cho rằng PoC || GTFO và Phrack tốt hơn. Sự biến động trong dàn trang với cá nhân tôi cũng là điểm trừ và gây mệt. Mỗi trang về mặt thị giác như một thế giới hoàn toàn riêng biệt, khá quá tải
    Tôi hiểu rằng LaTeX kém thân thiện hơn và có thể loại trừ một số tác giả, nhưng liệu có cách nào kết hợp ưu điểm của cả hai không? Tôi tò mò không biết các bạn đã từng cân nhắc một bản Overleaf tự host nội bộ chưa

    • Giới hạn 1 trang và layout tùy biến của Paged Out! là lựa chọn có chủ ý. Tất nhiên, như bạn chỉ ra, nó có nhược điểm
      Nhưng các ấn phẩm không giới hạn số trang và có layout nghiêm ngặt cũng có nhược điểm. Tôi nói vậy từ kinh nghiệm 15 năm qua làm reviewer/editor cũng như tác giả cho nhiều tạp chí kỹ thuật
      Ở các tạp chí thông thường, tác giả cảm thấy áp lực phải viết một bài dài bao quát mọi thứ, và không thấy thoải mái khi đăng một ghi chú ngắn, dễ thương về một mẹo nhỏ. Paged Out! chính là dành cho ngách một trang, nơi những ghi chú ngắn như vậy có thể tồn tại
      Định dạng này có hạn chế không? Có. Có thể viết mọi thứ bằng định dạng này không? Không thể. Nhưng như vậy cũng ổn
      Chúng tôi không cố trở thành PoC || GTFO hay Phrack. Cả hai đều xuất sắc và cá nhân tôi cũng rất thích, nhưng chúng tôi đã tìm thấy chỗ đứng riêng của mình là bài viết ngắn. Trong cộng đồng zine cũng có nhiều tình cảm dành cho nhau. Ví dụ hãy xem các bản ghi DNS TXT của pagedout.phrack.org và phrack.pagedout.institute
      Về sự hỗn loạn trong layout, tôi cũng hiểu ý bạn. Đồng thời, đó cũng là một ngách khác mà tôi cố ý đặt PO! vào. Đôi khi tôi đùa rằng đó là liệu pháp sau những lần phải nhồi nhét ý tưởng của mình vào layout chính xác mà nhà xuất bản muốn, hoặc sau khi review quá nhiều bài viết quá dài của các tạp chí khác
      Tôi thừa nhận những gì bạn chỉ ra là đúng, nhưng đồng thời tôi cũng khá hài lòng với ngách nhỏ bé và đầy khiếm khuyết này
      Hai liên kết liên quan: https://pagedout.institute/?page=faq.php#why-one-page
      & https://pagedout.institute/?page=faq.php#layout
  • Tôi đã nhận được lời mời đóng góp, nhưng lúc đó không có thời gian chuẩn bị gì. Dù vậy, thành phẩm trông thật sự tuyệt, nên lần sau tôi sẽ thử tìm một chủ đề hay

  • Tôi thật sự thích. Đặc biệt là “Spotting Quacks with Puzzles”
    Cách tiếp cận về media literacy rất độc đáo, và càng đúng thời điểm khi bản cập nhật tạo ảnh mới của 4o vừa ra mắt

    • Tôi là người viết bài đó. Tôi hy vọng nó sẽ là cơ hội để những người giải quyết vấn đề sáng tạo ở PO!/HN suy nghĩ về khó khăn của giáo dục media literacy
  • Tôi tò mò không biết có thể đặt mua dạng tạp chí in gửi tận nơi không. Hay chỉ có cách tải về rồi tự in ở nhà? Tôi muốn nhận một tạp chí như thế này qua bưu điện

    • Hiện thì chưa thể, nhưng chúng tôi đang làm để cung cấp thông qua một dịch vụ in kỹ thuật số như lulu.com
      Chưa có lịch chắc chắn, nhưng chúng tôi đang thúc đẩy để kịp trước số tiếp theo, dự kiến vào khoảng tháng 6–7
  • Khi đến phần USB foot switch thì tôi đã nhìn quá lâu đến mức phải dừng lại. Đây là một zine nhỏ rất hay, và tôi sẽ xem kỹ hơn số này cùng các số trước vào lúc khác

  • Tôi thích định dạng tạp chí, và đặc biệt thích phần minh họa. Minh họa do con người tạo ra chứ không phải AI thật sự tạo nên bầu không khí rất tốt
    Tuy nhiên, khi có rất nhiều họa sĩ để lựa chọn, tôi không mấy đồng tình với ý tưởng dùng minh họa của một họa sĩ Nga hiện đang sống ở Nga, đóng thuế ở đó và kéo theo các hệ quả từ việc đó

    • Khoản thuế nhỏ mà một người Nga nộp cho việc này chẳng đáng là bao so với số tiền Nga kiếm được từ việc bán dầu cho châu Âu. Vậy có nên tẩy chay toàn bộ châu Âu không?
    • Mong là đừng phân biệt đối xử với con người chỉ vì những gì chính phủ của họ làm
      Những người chu đáo và có trí tuệ xứng đáng được tham gia, bất kể họ đang sống dưới thể chế nào