OpenAI API mà mọi người đang sao chép không phải là cái mà họ đề xuất

Hầu hết các công cụ mô hình cục bộ như Ollama, vLLM và LM Studio đều sử dụng nhãn "OpenAI-compatible".

Nhưng có một vấn đề. Hầu hết mọi người đều nghĩ điều này chỉ có nghĩa là một thứ cụ thể. Trên thực tế, có hai định dạng khác nhau. Một là tiêu chuẩn của ngành. Cái còn lại là những gì OpenAI thực sự muốn bạn sử dụng.

Dưới đây là phân tích chi tiết.

Tiêu chuẩn cũ: Chat Completions API Đây là định dạng mà mọi người đã sao chép. Nó sử dụng một danh sách các tin nhắn với các vai trò như developer, user, và assistant.

Nó có hai vấn đề chính:

  • Nó không lưu trạng thái (stateless). Bạn phải gửi lại toàn bộ lịch sử cuộc hội thoại mỗi lần thực hiện.
  • Nó nặng nề. Đối với các agent phức tạp, việc gửi các bản ghi chép khổng lồ sẽ trở nên chậm chạp và tốn kém.

Tiêu chuẩn mới: Responses API OpenAI đã giới thiệu định dạng này vào tháng 3 năm 2025. Nó được thiết kế cho các agent, chứ không chỉ là các chatbot đơn giản.

Tại sao nó tốt hơn:

  • Nó có lưu trạng thái (stateful). Máy chủ sẽ ghi nhớ cuộc hội thoại. Bạn không cần phải gửi lại mọi thứ.
  • Nó xử lý khả năng suy luận tốt hơn. Nó giữ "chuỗi suy nghĩ" (chain of thought) của mô hình trên máy chủ.
  • Nó sử dụng cấu trúc sạch sẽ hơn. Nó tách biệt các hướng dẫn khỏi đầu vào thực tế của người dùng.

Sự nhầm lẫn Khi một công cụ nói rằng nó "OpenAI-compatible", hầu như luôn có nghĩa là nó hỗ trợ định dạng Chat Completions cũ.

Ngành công nghiệp đã xây dựng một hệ sinh thái khổng lồ xung quanh định dạng cũ này. Vì nó có mặt ở khắp mọi nơi, nó đã trở thành mặc định. Điều này tạo ra rủi ro khi mọi người đều đang xây dựng các bản sao của API riêng tư từ một công ty duy nhất.

Giải pháp: Open Responses Để khắc phục điều này, OpenAI cùng các đối tác như Hugging Face và Vercel đã ra mắt đặc tả Open Responses.

Thay vì phải đoán cách một API hoạt động, giờ đây các nhà phát triển đã có một tiêu chuẩn được tài liệu hóa và có thể kiểm thử. Điều này cho phép bạn chuyển đổi giữa OpenAI và các mô hình cục bộ với những thay đổi mã nguồn tối thiểu.

Những gì bạn nên làm:

  • Nếu bạn đang xây dựng một dự án mới, hãy sử dụng Responses API.
  • Nếu bạn đang duy trì các ứng dụng cũ, Chat Completions sẽ vẫn được hỗ trợ trong một thời gian dài.
  • Luôn kiểm tra xem công cụ của bạn có hỗ trợ định dạng stateful mới hay không để tiết kiệm chi phí và giảm độ trễ.

Việc biết sự khác biệt sẽ giúp ngăn ngừa các lỗi trong việc đếm token và cấu trúc tin nhắn.

Nguồn: https://dev.to/rlnorthcutt/the-openai-api-everyone-copied-isnt-the-one-openai-recommends-28o8

Cộng đồng học tập tùy chọn: https://t.me/GyaanSetuAi