Ký hiệu Đối tượng JavaScript (JSON) là định dạng trao đổi dữ liệu và tệp tin chuẩn ngành vì nó dễ đọc đối với con người và dễ phân tích cú pháp đối với máy móc.
Tuy nhiên, các mô hình ngôn ngữ lớn (LLM) thường gặp khó khăn khi xử lý JSON. Chúng có thể tạo ra thông tin không chính xác, phản hồi không nhất quán hoặc không phân tích cú pháp hoàn toàn. Điều này buộc các nhà phát triển phải sử dụng các giải pháp thay thế như công cụ mã nguồn mở, nhiều lời nhắc khác nhau hoặc yêu cầu lặp đi lặp lại để đảm bảo khả năng tương tác đầu ra.
Để giải quyết vấn đề này, OpenAI đã phát hành Structured Outputs trong API của mình. Tính năng này giúp đảm bảo rằng các đầu ra do mô hình tạo ra phù hợp với JSON Schemas. Các lược đồ này rất quan trọng vì chúng mô tả nội dung, cấu trúc, loại dữ liệu và các ràng buộc dự kiến trong một tài liệu JSON nhất định.
OpenAI cho biết đây là tính năng được các nhà phát triển yêu cầu nhiều nhất vì nó cho phép đảm bảo tính nhất quán trên nhiều ứng dụng khác nhau. Giám đốc điều hành OpenAI, Sam Altman, đã đăng trên X rằng việc phát hành này là do “nhu cầu rất phổ biến.”
Công ty cho biết các bài đánh giá của họ với Structured Outputs trên GPT-4o mới đạt điểm “100% hoàn hảo”.
by very popular demand, structured outputs in the API:https://t.co/AbfzTp4LMF
— Sam Altman (@sama) August 6, 2024
Thông báo về tính năng mới được đưa ra sau một tuần đầy biến động tại OpenAI: Ba giám đốc điều hành chủ chốt – John Schulman, Greg Brockman và Peter Deng – đột ngột tuyên bố rời đi, và Elon Musk một lần nữa kiện công ty, gọi sự phản bội sứ mệnh AI của họ là “Giống như vở kịch của Shakespeare.”
Đảm Bảo Tuân Thủ Lược Đồ Dễ Dàng
JSON là một định dạng dựa trên văn bản để lưu trữ và trao đổi dữ liệu. Nó đã trở thành một trong những định dạng dữ liệu phổ biến nhất trong các nhà phát triển vì nó đơn giản, linh hoạt và tương thích với nhiều ngôn ngữ lập trình khác nhau. OpenAI đã nhanh chóng đáp ứng nhu cầu từ các nhà phát triển khi phát hành chế độ JSON trên các mô hình của mình tại DevDay năm ngoái.
Với Structured Outputs trong API, các nhà phát triển có thể ràng buộc các mô hình OpenAI để phù hợp với lược đồ. OpenAI cho biết tính năng này cũng cho phép các mô hình của mình hiểu rõ hơn các lược đồ phức tạp.
“Structured Outputs là sự phát triển của chế độ JSON”, công ty viết trên blog của mình. “Trong khi cả hai đều đảm bảo tạo ra JSON hợp lệ, thì chỉ Structured Outputs mới đảm bảo tuân thủ lược đồ.” Đ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 khóa bắt buộc hoặc tạo ra giá trị enum không hợp lệ.” (Giá trị liệt kê là một quy trình đặt tên cho các hằng số trong ngôn ngữ, giúp mã dễ đọc và bảo trì hơn).
Các nhà phát triển có thể yêu cầu Structured Outputs tạo câu trả lời theo từng bước để hướng dẫn đến đầu ra dự định. Theo OpenAI, các nhà phát triển không cần phải xác thực hoặc thử lại các phản hồi được định dạng không chính xác và tính năng này cho phép nhắc đơn giản hơn đồng thời cung cấp khả năng từ chối rõ ràng.
“An toàn là ưu tiên hàng đầu của OpenAI – chức năng Structured Outputs mới sẽ tuân thủ các chính sách an toàn hiện có của chúng tôi và vẫn cho phép mô hình từ chối yêu cầu không an toàn”, công ty viết.
Structured Outputs khả dụng trên GPT-4o-mini, GPT-4o và các phiên bản tinh chỉnh của các mô hình này và có thể được sử dụng trên Chat Completions API, Assistants API và Batch API, đồng thời nó cũng tương thích với đầu vào hình ảnh.
OpenAI nhấn mạnh rằng chức năng mới “lấy cảm hứng từ công việc xuất sắc của cộng đồng nguồn mở: cụ thể là các thư viện outlines, jsonformer, instructor, guidance và lark.”