6 điểm bởi xguru 2024-09-09 | 4 bình luận | Chia sẻ qua WhatsApp
  • Website không chỉ được dùng để cung cấp thông tin cho con người mà còn để cung cấp thông tin cho cả LLM
  • LLM được dùng để cải thiện môi trường phát triển mà lập trình viên sử dụng, bao gồm cả tùy chọn thu thập thông tin về thư viện lập trình và API từ tài liệu trên website
  • Việc cung cấp thông tin cho LLM có đôi chút khác biệt so với việc cung cấp thông tin cho con người, nhưng phần lớn vẫn chồng lấp nhau
    • Thông thường, LLM ưa chuộng thông tin ở định dạng ngắn gọn hơn
    • Vì có thể thu thập rất nhiều thông tin rất nhanh, nên việc tập hợp toàn bộ thông tin quan trọng vào một nơi sẽ hữu ích
    • Cửa sổ ngữ cảnh của LLM quá nhỏ để xử lý toàn bộ một website, và việc chuyển đổi các trang HTML phức tạp thành tài liệu văn bản thuần thân thiện với LLM là điều khó khăn
  • Vì vậy, cần có cách xác định thông tin quan trọng nhất để cung cấp cho trợ lý AI và cách trình bày chúng ở định dạng phù hợp nhất

Đề xuất

  • Đề xuất rằng những người muốn cung cấp nội dung thân thiện với LLM nên thêm tệp /llms.txt vào website
    • Đây là một tệp Markdown cung cấp thông tin nền và hướng dẫn đơn giản, đồng thời chứa các liên kết tới những tệp Markdown cung cấp thông tin chi tiết hơn
    • Nó có thể được dùng để cung cấp thông tin cần thiết cho việc sử dụng thư viện, hoặc như một phần của quá trình nghiên cứu nhằm tìm hiểu về một cá nhân hay tổ chức
  • Markdown llms.txt có thể được cả con người lẫn LLM đọc, đồng thời cũng cho phép xử lý theo một định dạng chính xác
  • Tệp llms.txt có thể được sử dụng trong nhiều kịch bản khác nhau
    • Với thư viện phần mềm, nó cung cấp một cái nhìn tổng quan có cấu trúc về tài liệu để LLM dễ dàng tìm các tính năng cụ thể hoặc ví dụ sử dụng
    • Trên website doanh nghiệp, nó có thể phác thảo cấu trúc tổ chức và các nguồn thông tin chính
    • Thông tin được tuyển chọn về dự luật mới cùng bối cảnh và nền tảng cần thiết có thể được đưa vào tệp llms.txt để giúp các bên liên quan hiểu rõ hơn
    • Website portfolio cá nhân hoặc CV có thể giúp trả lời các câu hỏi về một cá nhân
    • Trong thương mại điện tử, nó có thể tóm lược các danh mục sản phẩm và chính sách
    • Các tổ chức giáo dục có thể dùng nó để tóm tắt chương trình học và tài nguyên

Định dạng tệp llms.txt

  • Định dạng tệp llms.txt cung cấp cấu trúc thông tin bằng Markdown, thứ mà mô hình ngôn ngữ dễ hiểu
  • Tệp này dùng Markdown thay vì các định dạng có cấu trúc truyền thống (ví dụ: XML), vì đối tượng đọc chính của tệp là các mô hình ngôn ngữ và agent
  • Tệp llms.txt có thể được đọc bằng các công cụ lập trình tiêu chuẩn và được tổ chức theo một định dạng cụ thể
    • Tiêu đề H1: Chứa tên của dự án hoặc website, và là phần duy nhất bắt buộc.
    • Khối trích dẫn: Chứa bản tóm tắt ngắn về dự án, cung cấp thông tin cốt lõi cần thiết để hiểu phần còn lại của tệp.
    • Các phần Markdown: Cung cấp thông tin chi tiết, có thể bao gồm nhiều loại phần như đoạn văn, danh sách, v.v., nhưng không chứa thêm heading nào khác.
    • Phần danh sách tệp được phân tách bằng tiêu đề H2: Chứa danh sách URL cung cấp thêm thông tin, trong đó mỗi mục được viết theo định dạng liên kết Markdown [tên](URL) và có thể thêm mô tả nếu muốn.
  • Ví dụ về tệp
# Tiêu đề dự án  
  
> Mô tả tùy chọn về dự án được đặt ở đây  
  
Thông tin chi tiết tùy chọn được đặt ở đây  
  
## Tên phần  
  
- [Tiêu đề liên kết](https://링크_URL): Mô tả liên kết tùy chọn  
  
## Optional  
  
- [Tiêu đề liên kết](https://링크_URL)  
  • Phần "Optional": Mang ý nghĩa đặc biệt; nếu chỉ cần ngữ cảnh ngắn thì có thể bỏ qua các URL trong phần này. Nó chứa thông tin thứ cấp có thể thường xuyên được lược bỏ.

Cùng tồn tại với các tiêu chuẩn hiện có

  • llms.txt được thiết kế để hoạt động cùng với các tiêu chuẩn web hiện có
  • Trong khi sitemap liệt kê toàn bộ các trang cho công cụ tìm kiếm, llms.txt cung cấp một bản tổng quan được tuyển chọn dành cho LLM (mô hình ngôn ngữ lớn)
  • llms.txt có quan hệ bổ sung với robots.txt và có thể cung cấp ngữ cảnh về nội dung được cho phép
  • Ngoài ra, nó có thể tham chiếu tới structured data markup được sử dụng trên website, giúp LLM hiểu và diễn giải chúng
  • Đường dẫn của tệp được chuẩn hóa theo cách tương tự như /robots.txt/sitemap.xml
    • robots.txtllms.txt có mục đích khác nhau
      • robots.txt: Được dùng để các công cụ tự động (ví dụ: bot lập chỉ mục tìm kiếm) hiểu phạm vi truy cập được phép trên website
      • llms.txt: Chủ yếu được dùng khi người dùng yêu cầu rõ ràng thông tin về một chủ đề cụ thể. Ví dụ, nó hữu ích khi đưa tài liệu của một thư viện lập trình vào dự án, hoặc khi yêu cầu thông tin trong chatbot có chức năng tìm kiếm
    • llms.txt được kỳ vọng chủ yếu sẽ hữu ích cho suy luận (inference). Nó sẽ được sử dụng vào thời điểm người dùng cần trợ giúp, và dự kiến sẽ không được dùng cho huấn luyện (training). Tuy nhiên, nếu việc sử dụng llms.txt trở nên phổ biến, vẫn có khả năng thông tin này sẽ được tận dụng trong quá trình huấn luyện trong tương lai
  • Khác biệt với sitemap.xml
    • sitemap.xml: Liệt kê mọi thông tin có thể lập chỉ mục và con người có thể đọc được trên website
    • llms.txt không phải là sự thay thế cho sitemap.xml:
      • Có thể không bao gồm phiên bản trang mà LLM có thể đọc được.
      • Không bao gồm URL của các website bên ngoài có thể hữu ích để hiểu thông tin.
      • Thường chứa các tài liệu quá lớn, không phù hợp với cửa sổ ngữ cảnh của LLM, và cũng bao gồm nhiều thông tin không cần thiết cho việc hiểu website.
    • llms.txt có thể hoạt động như một công cụ được tối ưu hóa để mô hình ngôn ngữ truy cập thông tin cụ thể và hiểu ngữ cảnh

4 bình luận

 
iolothebard 2025-02-27

Có vẻ như chỉ cần mở rộng robots.txt là được… Có nhất thiết phải trao vị thế đặc biệt cho crawler dành cho LLM không?
Thay vào đó, tôi lại nghĩ giá mà các user-agent của crawler LLM được sắp xếp lại cho gọn gàng hơn… nhưng bản thân user-agent cũng đang ở tình trạng bấp bênh, khó nói thật.

Ngoài lề 1. Đã gọi là txt rồi thì sao lại là Markdown nhỉ? Tôi cũng rất thích Markdown, nhưng phải nhất thiết vậy sao…

 
kwj9211 2024-09-09

Cái tên llms khiến nó trông như một giao diện dành riêng cho một công nghệ cụ thể, nên mình thấy hơi không thoải mái...

 
ilotoki0804 2024-09-10

Đúng vậy. Thay vì tạo thêm một tiêu chuẩn khác vừa kỳ lạ vừa có tính phổ dụng rất thấp, có lẽ sẽ tốt hơn nếu dùng hoặc mở rộng các tiêu chuẩn đã có sẵn như JSON-LD.

 
regentag 2024-09-09

Nếu điều này trở nên phổ biến rộng rãi, thì có lẽ có thể ngăn LLM sử dụng trang của tôi bằng một tệp llms.txt phù hợp. Bằng cách chẳng hạn cung cấp thông tin hoàn toàn khác và vô nghĩa, hoặc cung cấp lượng thông tin lớn đến mức làm tiêu tốn toàn bộ ngữ cảnh của LLM.