SiCore TokenWorks
LLM APIAPI Gateway

Kỹ sư chuyển pha silicon-carbon nhìn lại: Từ một mô hình đến tích hợp đa mô hình, cổng mô hình rốt cuộc đã giải quyết được gì

SiCore TokenWorks Team·2026-10-05

Nửa cuối năm ngoái, chúng tôi làm cố vấn kỹ thuật cho một nhóm làm SaaS logistics xuyên biên giới. Tính năng AI của họ ban đầu chỉ gọi GPT-4o, chạy khá ổn định. Sau đó bên nghiệp vụ yêu cầu thêm các mô hình nội địa: duyệt hợp đồng dùng DeepSeek, lời thoại chăm sóc khách hàng dùng Qwen, nội dung marketing dùng ERNIE. Ba tuần sau, mã backend của họ nhét vào 4 bộ SDK, logic xác thực nằm rải rác trong 7 tệp, hóa đơn không khớp, đầu ra streaming ở frontend lúc bình thường lúc lỗi font. Vấn đề không nằm ở bản thân mô hình, mà ở chỗ thiếu một lớp cổng mô hình.

Những cạm bẫy khi tích hợp đa mô hình, cơ bản đều giẫm vào cùng một chỗ

Nói trước về xung đột SDK. SDK Python của OpenAI và SDK của vài nhà trong nước đều tên là client, phiên bản phụ thuộc đánh nhau, logic xử lý tham số timeout của HTTP client Qwen và ERNIE còn không giống nhau. Cách làm cuối cùng của kỹ sư họ là mỗi mô hình tạo một môi trường ảo riêng, dùng subprocess để cô lập lời gọi. Chạy được, nhưng chi phí vận hành cao đến mức vô lý.

Nói tiếp về quản lý Key. Console của bốn nhà cung cấp mỗi bên một hệ thống Key, có cái theo dự án, có cái theo ứng dụng, có cái còn chia tài khoản con. Key môi trường test và môi trường production trộn lẫn với nhau, có lần một thực tập sinh đẩy Key production lên kho công khai GitHub, tuy trong vòng mười phút đã thu hồi, nhưng cả buổi chiều hôm đó cả nhóm đều ngồi tra log gọi API.

Cách tính phí còn đau đầu hơn. DeepSeek tính phí theo token, một số mô hình của Qwen tính riêng đầu vào đầu ra, vài phiên bản của ERNIE còn có logic tính phí theo số ký tự còn sót lại. Cuối tháng tài chính cần một hóa đơn gộp, kỹ sư chỉ có thể tự xuất bốn tệp CSV rồi làm ánh xạ. Định dạng đầu ra streaming cũng không thống nhất, có cái trả về trường data của SSE, có cái bọc thêm một lớp JSON, mã phân tích ở frontend toàn là if else.

Cổng mô hình rốt cuộc đã làm gì ở giữa

Bản chất của cổng mô hình là một lớp reverse proxy cộng với lớp thích ứng giao thức, bên ngoài phơi ra giao diện tương thích OpenAI thống nhất, bên trong dịch yêu cầu thành định dạng mà từng nhà cung cấp hiểu được. Sau đó trong một dự án khác, chúng tôi dùng năng lực tổng hợp AI API của SiCore TokenWorks để tái cấu trúc chuỗi này, cảm nhận khá trực tiếp.

Xác thực thống nhất là bước đầu tiên. Phía nghiệp vụ chỉ cầm một Key, bên trong cổng duy trì ánh xạ thông tin xác thực đến từng nhà cung cấp, luân chuyển Key, giới hạn hạn mức, danh sách trắng IP đều làm ở lớp cổng. Dịch giao thức là bước thứ hai, chuyển mảng messages định dạng OpenAI thành input của Qwen, prompt của ERNIE, phản hồi lại chuyển ngược về cấu trúc choices thống nhất. Định dạng chunk của đầu ra streaming cũng được san phẳng ở lớp này, frontend chỉ viết một bộ logic phân tích.

Định tuyến phân phối quyết định yêu cầu đi đến mô hình nào. Có thể định tuyến tĩnh theo loại tác vụ, cũng có thể chọn động theo chi phí. Khi chúng tôi thử định tuyến đa mô hình của token8341, cố định định tuyến yêu cầu duyệt hợp đồng đến DeepSeek-V3, định tuyến yêu cầu chăm sóc khách hàng văn bản ngắn đến phiên bản nhẹ của Qwen, chi phí gọi tổng thể giảm khoảng sáu mươi phần trăm so với tất cả đi qua GPT-4o. Tập hợp chi phí là bước cuối cùng, cổng đánh dấu theo nhãn nghiệp vụ, cuối tháng xuất thẳng hóa đơn phân chia, tài chính không cần tự ghép bảng nữa.

Vài gợi ý thực tế khi triển khai

Thứ nhất, đừng gọi trực tiếp SDK của nhà cung cấp trong mã nghiệp vụ, dù chỉ tích hợp một mô hình. Giữ lại một lớp bao bọc mỏng, khi thêm mô hình sau này khối lượng thay đổi chênh nhau một bậc độ lớn. Thứ hai, Key bắt buộc phải đi qua cổng hoặc dịch vụ quản lý khóa, cách hard-code trong tệp cấu hình sớm muộn cũng xảy ra chuyện. Thứ ba, chiến lược định tuyến trước tiên làm tĩnh, chạy hai tuần có dữ liệu gọi thực tế rồi mới cân nhắc định tuyến động theo chi phí, nếu không dễ vì tiết kiệm vài xu mà định tuyến yêu cầu quan trọng đến mô hình không phù hợp.

Về chọn lựa thì xem hai điểm: có tương thích SDK OpenAI hay không, tương thích nghĩa là chi phí di chuyển gần như bằng không, đổi một dòng base_url là có thể chuyển đổi; có hỗ trợ tính phí theo lượng dùng và tập hợp chi phí hay không, điều này là nhu cầu thiết yếu với doanh nghiệp nhiều dòng nghiệp vụ dùng chung một bộ năng lực AI. Cách làm của SiCore TokenWorks ở mảng này là phủ toàn bộ API đại mô hình nội địa, tính phí theo lượng dùng, trong dự án của chúng tôi so sánh ra thì cách tính hóa đơn khá rõ ràng.

Một câu tóm lại: cổng mô hình không phải là bắt buộc, nhưng khi bạn cần tích hợp mô hình thứ ba, nó từ tùy chọn biến thành cần thiết. Đọc thêm có thể xem tài liệu quy chuẩn giao diện tương thích OpenAI, hiểu lớp giao thức được thiết kế thế nào, khi tự viết bao bọc sẽ bớt đi đường vòng.