- Outlines là một thư viện dành cho việc sinh văn bản bằng mạng nơ-ron, được thiết kế linh hoạt hơn để thay thế phương thức
generate của thư viện transformers.
- Nó giúp các nhà phát triển xây dựng giao diện vững chắc, đồng thời đảm bảo đầu ra tuân theo biểu thức chính quy hoặc lược đồ JSON.
- Thư viện này cung cấp các thành phần nền tảng cho prompting vững chắc, tách biệt logic prompting và logic thực thi để có thể triển khai đơn giản few-shot generation, ReAct, meta-prompting, agent, v.v.
- Outlines được thiết kế để tương thích với hệ sinh thái rộng hơn, sử dụng ít lớp trừu tượng nhất có thể, và có thể đan xen việc sinh nội dung với luồng điều khiển, câu lệnh điều kiện, hàm Python tùy chỉnh và lời gọi tới các thư viện khác.
- Tương thích với mọi mô hình và cung cấp giao diện với mô hình thông qua logits của token tiếp theo. Ngoài ra cũng có thể dùng với các mô hình dựa trên API.
- Thư viện này nổi bật với các thành phần prompting đơn giản nhưng mạnh mẽ dựa trên bộ máy mẫu Jinja, guided generation, guided generation bằng biểu thức chính quy tốc độ cao, sinh JSON nhanh theo lược đồ JSON hoặc mô hình Pydantic, và tích hợp với các mô hình transformers của HuggingFace.
- Outlines có sẵn trên PyPi và có thể cài đặt bằng lệnh
pip install outlines.
- Thư viện này cho phép dừng quá trình sinh sớm sau khi phát hiện một chuỗi cho trước, thu hẹp phần hoàn thành bằng cách chọn giữa nhiều khả năng, hoặc yêu cầu mô hình chỉ trả về số nguyên hoặc số thực.
- Ngoài ra còn bao gồm guided generation bằng biểu thức chính quy tốc độ cao và sinh JSON hiệu quả theo mô hình Pydantic.
- Outlines tách biệt logic prompt và logic chương trình thông thường bằng cách đóng gói template bên trong "hàm template", giúp việc viết và quản lý prompt trở nên dễ dàng hơn.
- Thư viện này cũng cho phép mô hình ngôn ngữ gọi các hàm bên ngoài để lấy thêm thông tin hoặc thực hiện tác vụ, bằng cách mã hóa mô tả của hàm vào trong prompt.
- Outlines là mã nguồn mở và được cấp phép theo Apache License 2.0.
1 bình luận
Ý kiến Hacker News