Dự án mã nguồn mở 7.5K “đổ sông đổ bể”? OpenAI đã phát hành tính năng được các nhà phát triển mong đợi nhất, khiến nhiều dự án mã nguồn mở xuất sắc trở nên thất thế!

JSON, viết tắt của JavaScript Object Notation, đã trở thành một chuẩn trong ngành công nghiệp do sự dễ đọc cho con người và khả năng xử lý dễ dàng bởi máy tính. Tuy nhiên, các mô hình ngôn ngữ lớn (LLM) thường gặp vấn đề khi làm việc với JSON – đặc biệt là việc tạo ra phản hồi không phù hợp hoặc không thể phân tích nội dung JSON một cách đầy đủ. Để giải quyết những vấn đề này, các nhà phát triển thường phải sử dụng các công cụ nguồn mở, kết hợp nhiều từ khóa khác nhau hoặc yêu cầu lại.
Mới đây, OpenAI đã công bố tính năng mới trong API của mình, giúp giảm thiểu những vấn đề trên bằng cách đảm bảo rằng đầu ra được tạo ra bởi mô hình sẽ phù hợp với cấu trúc JSON đã định rõ. Điều này rất quan trọng vì nó mô tả chính xác nội dung, cấu trúc, kiểu dữ liệu và các ràng buộc mong đợi của một tài liệu JSON cụ thể.
CEO của OpenAI, Sam Altman, cũng đã chia sẻ trên X rằng tính năng này đáp ứng nhu cầu cấp bách của cộng đồng người dùng. Công ty nhấn mạnh rằng phiên bản mới nhất của mô hình GPT-4o đã đạt được điểm đánh giá hoàn hảo 100%.
JSON là một định dạng văn bản được sử dụng rộng rãi trong việc lưu trữ và trao đổi dữ liệu, nổi tiếng nhờ sự đơn giản, linh hoạt và tương thích với nhiều ngôn ngữ lập trình. OpenAI đã công bố cấu trúc JSON cho mô hình của họ tại sự kiện DevDay năm ngoái, nhanh chóng đáp ứng yêu cầu của cộng đồng phát triển.
Với tính năng đầu ra có cấu trúc trong API, các nhà phát triển có thể ràng buộc mô hình OpenAI để tuân theo cấu trúc dữ liệu. OpenAI cũng cho biết, điều này giúp mô hình hiểu rõ hơn về cấu trúc dữ liệu phức tạp.
Trong bài đăng trên blog của mình, OpenAI viết: “Đầu ra có cấu trúc đại diện cho sự tiến bộ của JSON. Mặc dù cả hai đều đảm bảo tạo ra JSON hợp lệ, nhưng chỉ có đầu ra có cấu trúc mới đảm bảo tuân thủ cấu trúc dữ liệu.” Điều này có nghĩa là các nhà phát triển không còn phải lo lắng về việc mô hình bỏ sót các khóa cần thiết hoặc tạo ra các giá trị enum không hợp lệ.
Các nhà phát triển có thể yêu cầu đầu ra có cấu trúc để tạo câu trả lời từng bước, giúp hướng dẫn đầu ra theo đúng hướng mong muốn. Theo OpenAI, điều này cũng loại bỏ nhu cầu xác thực hoặc thử lại các phản hồi không đúng định dạng, hỗ trợ việc sử dụng từ khóa đơn giản hơn và cung cấp các từ chối rõ ràng.
OpenAI cũng nhấn mạnh rằng an toàn luôn là ưu tiên hàng đầu – tính năng đầu ra có cấu trúc mới này vẫn tuân thủ chính sách an ninh hiện tại của họ và vẫn cho phép mô hình từ chối các yêu cầu không an toàn.
Tính năng mới này áp dụng cho các mô hình GPT-4o-mini, GPT-4o và phiên bản tinh chỉnh của chúng, cũng như cho API Chat Completions, Assistant API và Batch API, đồng thời hỗ trợ cả dữ liệu hình ảnh.
OpenAI nhấn mạnh rằng tính năng mới này được lấy cảm hứng từ công việc xuất sắc của cộng đồng nguồn mở, bao gồm các dự án như outlines, jsonformer, instructor, guidance và thư viện lark.
OpenAI cũng đề cập đến các dự án nguồn mở này, hầu hết đều chuyên về việc tạo ra đầu ra có cấu trúc cho các mô hình lớn. Dự án outlines hiện có 7.5 nghìn ngôi sao, và tác giả của nó đã thành lập một công ty để vượt qua giới hạn của việc tạo ra đầu ra có cấu trúc. Dự án jsonformer có 4.1 nghìn ngôi sao, và instructor có 7 nghìn ngôi sao…

Việc OpenAI thêm hỗ trợ đầu ra có cấu trúc vào API của mình thông qua việc thực hiện nguyên bản này, cho phép họ kiểm soát chặt chẽ hơn mô hình lớn trong quá trình tạo ra đầu ra, đảm bảo rằng nó 100% tuân thủ cấu trúc đã chỉ định. Trước đây, người dùng phải sử dụng các mô hình mở và can thiệp vào quá trình tạo ra để đạt được mục tiêu này. Cohere gần đây cũng đã đưa tính năng tạo ra đầu ra có cấu trúc vào API của họ.
Trước đó, mặc dù nhiều người chưa nhận ra rằng đây là cách tốt nhất để sử dụng mô hình lớn, nhưng họ đã phụ thuộc vào các thư viện cộng đồng trong ứng dụng hàng ngày.
Do đó, một số người dùng cho rằng các dự án cộng đồng này có thể coi là “đã làm công việc không cần thiết”. Việc hiểu rõ giới hạn của mô hình lớn là rất quan trọng, nếu không, có thể làm nhiều công việc vô ích.
Tuy nhiên, cần lưu ý rằng phiên bản beta hiện tại của OpenAI có thể chưa đáp ứng được nhiều yêu cầu ứng dụng thực tế. Ví dụ, tốc độ tạo ra token đầu tiên quá chậm do OpenAI cần biên dịch cấu trúc để sử dụng trong quá trình tạo ra. OpenAI sau này có thể khắc phục vấn đề này bằng cách biên dịch nhanh hơn và lưu trữ các cấu trúc được sử dụng lặp đi lặp lại, nhưng hiện tại, tính năng này vẫn chưa sẵn sàng.
API của OpenAI cũng chỉ chấp nhận một số cấu trúc JSON nhất định. OpenAI tuyên bố rằng họ tập trung vào các trường hợp sử dụng chính và bỏ qua các chức năng “dài đuôi” không cần thiết. Một số người dùng đã gặp khó khăn khi chuyển mã hiện có sang định dạng mới, do nhiều cấu trúc không được chấp nhận. Ít nhất, mọi người cần điều chỉnh thói quen của mình để sử dụng hiệu quả tính năng này.
Phiên bản SDK Python mới cũng không bao gồm tất cả các thay đổi được mô tả trong tài liệu. Cụ thể, nó hiện không hỗ trợ việc định nghĩa và truyền các lớp con của Pydantic BaseModel làm cấu trúc. Tuy nhiên, các phiên bản sau có thể cải thiện điều này.
Như vậy, chúng ta nên làm gì? Một số nhà phát triển cho rằng kết hợp Instructor và Pydantic vẫn là cách đơn giản nhất để tạo ra đầu ra có cấu trúc trên OpenAI và các mô hình lớn khác. Mặc dù không thể đảm bảo tuân thủ đầu ra (nếu không thể kiểm soát mô hình lớn), nhưng nó sẽ sử dụng định nghĩa mô hình phản hồi để xác minh kết quả và thậm chí có thể thực hiện lại dựa trên thông tin từ chối.
Rất vui khi thấy OpenAI nhận ra sức mạnh của đầu ra có cấu trúc và đưa nó vào API của họ. Tin rằng trong tương lai, đây sẽ là cách chính để các nhà phát triển tích hợp mô hình lớn vào mã của họ. Tuy nhiên, cần thêm thời gian để theo dõi từ giai đoạn khám phá ban đầu đến việc triển khai cuối cùng.

# JSON # OpenAI # Mô hình Ngôn ngữ Lớn # Đầu ra Có Cấu trúc # SDK
© Thông báo bản quyền
Bản quyền bài viết thuộc về tác giả, vui lòng không sao chép khi chưa được phép.
Những bài viết liên quan:
Không có đánh giá...