Wavi Books · AI, LLM & AI Agent
GitHub Models đóng cửa ngày 30/07/2026: Đừng để một URL API cầm cổ sản phẩm AI
Nguyễn Minh Trí · Biên tập chuyên môn Wavi Books

GitHub Models ngừng hoạt động ngày 30/07/2026. Hướng dẫn kiểm kê, tách model gateway, migrate API và test để ứng dụng AI không dừng theo dịch vụ.
## Một API đang chạy ngon lành, sáu ngày nữa biến mất
Nếu hệ thống của bạn đang gọi GitHub Models, đây không còn là một bài đọc để “lưu lại cuối tuần”. GitHub thông báo dịch vụ sẽ dừng hoàn toàn vào ngày 30/07/2026. Playground, model catalog, inference API và cả BYOK đều không còn dùng được. Hai đợt gián đoạn thử ngày 16 và 23/07 đã trôi qua. Đợt kế tiếp không phải diễn tập nữa.
Tôi từng thấy nhiều dự án AI được dựng theo cách rất quen: chọn một SDK, dán endpoint vào biến môi trường, chạy được demo rồi coi phần hạ tầng model là xong. Đến lúc nhà cung cấp đổi model, đổi quota hoặc đóng dịch vụ, cả team mới phát hiện logic gọi model đã len vào controller, job nền, chatbot và test. Thay một URL hóa ra phải sửa nửa codebase.
Vụ GitHub Models là lời nhắc khá đau nhưng cần thiết: model không phải phần ổn định nhất của sản phẩm AI. Thứ phải ổn định là giao kèo do chính hệ thống của bạn kiểm soát.
## Chính xác điều gì ngừng hoạt động ngày 30/07?
Theo thông báo chính thức ngày 01/07 của GitHub, việc ngừng dịch vụ áp dụng cho tất cả khách hàng, kể cả tài khoản đang sử dụng. Sau thời hạn, playground, catalog, inference API, BYOK endpoint và giao diện liên quan đều bị gỡ. GitHub gợi ý Microsoft Foundry cho nhu cầu truy cập model và GitHub Copilot cho workflow AI nằm trực tiếp trong GitHub.
Hai lựa chọn đó giải quyết hai bài toán khác nhau. Copilot hỗ trợ công việc phát triển phần mềm. Foundry cung cấp deployment và endpoint để ứng dụng của bạn gọi model. Nếu sản phẩm đang gửi prompt từ backend rồi nhận kết quả để phục vụ người dùng, bạn đang xử lý bài toán inference, không phải chỉ thay một công cụ gợi ý code.
Microsoft Foundry dùng deployment name để đại diện cho model và có thể cho nhiều deployment đi qua một endpoint cùng cơ chế xác thực. Tài liệu hiện tại cũng khuyến nghị chuyển từ Azure AI Inference beta SDK sang API OpenAI/v1 với SDK ổn định. Nói đơn giản: đã migrate thì đừng chuyển từ một lớp sắp hết hạn sang một lớp khác cũng sắp hết hạn.
## Đừng bắt đầu bằng việc sửa code
Phản xạ đầu tiên của developer thường là mở repository rồi tìm chuỗi endpoint cũ. Làm thế dễ tạo cảm giác đang tiến rất nhanh, nhưng lại bỏ sót câu quan trọng nhất: hiện có bao nhiêu luồng thật sự phụ thuộc GitHub Models?
Hãy kiểm kê từ vận hành trước. Xem log outbound, secret đang dùng, biến môi trường trong CI/CD, scheduled job, function serverless, notebook nội bộ và cả script thử nghiệm đã vô tình trở thành production. Ghi lại model, endpoint, SDK, phương thức xác thực, vùng triển khai, quota, timeout và người sở hữu từng luồng.
Một file Excel nhỏ nhưng đúng sự thật có giá trị hơn một sơ đồ kiến trúc đẹp. Nếu không biết request nào đang chạy, bạn không thể chứng minh quá trình migrate đã hoàn tất.
## Tách model gateway: đừng để endpoint xuất hiện khắp nơi
Một lớp model gateway mỏng nên nhận yêu cầu theo ngôn ngữ của sản phẩm, rồi tự chuyển nó sang định dạng của nhà cung cấp. Phần còn lại của hệ thống chỉ biết các thao tác như `summarizeDocument`, `classifyTicket` hoặc `answerWithSources`; nó không cần biết phía sau là model nào.
Gateway không cần trở thành một framework khổng lồ. Ban đầu chỉ cần gom năm thứ: cấu hình model, xác thực, timeout/retry, chuẩn hóa lỗi và telemetry. Nếu ứng dụng phụ thuộc structured output, gateway phải kiểm tra schema trước khi trả kết quả cho nghiệp vụ.
Lợi ích thật không nằm ở việc đổi provider bằng một dòng cấu hình. Hai model khác nhau vẫn có thể cho chất lượng, độ trễ, token limit và cách tuân thủ schema khác nhau. Gateway chỉ tạo ra một điểm kiểm soát để bạn nhìn thấy và xử lý những khác biệt đó, thay vì để chúng rải khắp sản phẩm.
## Kế hoạch migrate có thể làm trong sáu ngày
### Ngày 1: khóa phạm vi và chọn đích đến
Chốt danh sách workload đang hoạt động. Với mỗi workload, quyết định chuyển sang Foundry hay nhà cung cấp khác dựa trên model cần dùng, khu vực, giới hạn dữ liệu, chi phí và SLA. Đừng chọn chỉ vì endpoint trông giống nhau.
### Ngày 2: dựng deployment và đường gọi mới
Tạo deployment, secret hoặc danh tính workload theo đúng môi trường. Không dùng credential cá nhân cho production. Nếu dùng Microsoft Foundry, ưu tiên giao diện OpenAI/v1 và SDK ổn định theo tài liệu hiện hành thay vì tiếp tục bám vào beta SDK.
### Ngày 3: chạy song song trên tập dữ liệu thật đã khử nhạy cảm
Lấy một tập prompt đại diện: câu ngắn, câu dài, tiếng Việt có dấu, đầu vào lỗi, yêu cầu JSON và các tình huống hay bị từ chối. Gửi cùng dữ liệu vào đường cũ và mới, sau đó so chất lượng, độ trễ, token, tỷ lệ lỗi và khả năng giữ schema.
### Ngày 4: canary thay vì bật một lần cho tất cả
Chuyển một phần nhỏ traffic sang deployment mới. Theo dõi lỗi theo loại, p95 latency, chi phí trên một tác vụ và chất lượng nghiệp vụ. Nếu chatbot trả lời trôi chảy nhưng tỷ lệ chuyển đổi hoặc tỷ lệ giải quyết yêu cầu giảm, migrate chưa thành công.
### Ngày 5: diễn tập lỗi
Chủ động làm endpoint mới timeout, trả 429, 500, JSON hỏng và response quá dài. Kiểm tra retry có gây bão request không, circuit breaker có mở không, hàng đợi có nghẽn không và người dùng nhận thông báo gì. Hệ thống chỉ đáng tin sau khi đã được nhìn thấy nó thất bại.
### Ngày 6: chuyển chính thức và giữ đường lui
Đổi traffic, giữ dashboard theo dõi sát, ghi rõ rollback condition và người có quyền thực hiện. Sau khi ổn định mới thu hồi secret cũ, xóa cấu hình GitHub Models và cập nhật runbook. Đừng để credential chết nằm lại trong CI như một món nợ không ai nhớ.
## Bẫy lớn nhất: API tương thích, hành vi không tương thích
Nhiều team thấy cùng dùng kiểu request OpenAI rồi kết luận migration là thay base URL. Đây là chỗ dễ dính đòn nhất. Tên model có thể trở thành deployment name. Tham số được hỗ trợ khác nhau. Tool calling, JSON schema, streaming, content filter và cách tính token có thể khác.
Một bài test `expect(status).toBe(200)` gần như vô dụng trong trường hợp này. Test phải gắn với điều sản phẩm hứa: câu trả lời có dẫn nguồn, JSON parse được, nhãn phân loại đúng, nội dung tiếng Việt không bị mất nghĩa và tác vụ nguy hiểm vẫn cần con người duyệt.
Nếu đang xây AI Agent, hãy kiểm tra thêm quyền của từng tool. Model mới có thể quyết đoán hơn model cũ; cùng một prompt nhưng số lần gọi công cụ tăng lên. Đó vừa là chi phí, vừa là rủi ro vận hành.
## Ba con số nên theo dõi sau khi chuyển
Thứ nhất là tỷ lệ tác vụ hoàn thành đúng, không phải tỷ lệ HTTP 200. Thứ hai là chi phí trên một tác vụ thành công, vì token rẻ nhưng retry nhiều vẫn đắt. Thứ ba là p95 latency — thời gian mà 95% yêu cầu hoàn thành — để nhìn phần đuôi chậm mà số trung bình che mất.
Với sản phẩm phục vụ developer Việt Nam, nên tách riêng tập kiểm thử tiếng Việt. Model có thể làm tốt tiếng Anh nhưng xử lý thuật ngữ kỹ thuật Việt hóa, tên riêng, mã nguồn xen văn bản hoặc câu hỏi không dấu kém hơn. Đây là chất lượng sản phẩm, không phải một chi tiết ngôn ngữ.
## Bài học dài hạn: thuê model, nhưng phải sở hữu quyết định
Không ai xây sản phẩm nhanh nếu tự huấn luyện mọi model. Dùng dịch vụ bên ngoài là lựa chọn hợp lý. Điều nguy hiểm là để endpoint của bên ngoài quyết định cấu trúc code, tiêu chuẩn đầu ra và cách hệ thống thất bại.
[Build a Large Language Model bản tiếng Việt](/sach/build-a-large-language-model-sebastian-raschka-2026) giúp developer hiểu tokenization, attention, pretraining và fine-tuning để không xem model như một hộp đen. [AI Agents in Action bản tiếng Việt](/sach/ai-agents-in-action-michael-lanham-2026) đi sâu vào tool, memory và workflow — đúng những phần cần kiểm soát khi đổi model phía sau agent. [Designing Machine Learning Systems bản tiếng Việt](/sach/designing-machine-learning-systems-chip-huyen-2026) mở rộng sang dữ liệu, deployment và giám sát production.
Wavi Books phụ trách biên phiên dịch, dữ liệu sản phẩm và nội dung chuyên môn cho sách lập trình tiếng Việt. 89ebook là đối tác thương mại độc quyền phân phối sách tiếng Việt của Wavi Books tại Việt Nam trong thời điểm hiện tại.
Ngày 30/07 là hạn của GitHub Models. Nhưng nếu sau đợt migrate này team vẫn để SDK của nhà cung cấp xuất hiện ở mọi tầng, lần đóng cửa tiếp theo chỉ đổi tên dịch vụ. Bài toán cũ sẽ quay lại nguyên vẹn.
Nguồn tham khảo và tài liệu đối chiếu
Sách liên quan
Câu hỏi thường gặp
GitHub Models đóng cửa vào ngày nào?
GitHub Models ngừng hoạt động hoàn toàn vào ngày 30/07/2026. Playground, model catalog, inference API, BYOK endpoint và giao diện liên quan đều không còn dùng được.
GitHub Copilot có thay thế GitHub Models inference API không?
Không theo nghĩa trực tiếp. Copilot phục vụ workflow phát triển phần mềm trong GitHub; ứng dụng cần gọi model qua backend phải chuyển sang một dịch vụ inference như Microsoft Foundry hoặc nhà cung cấp phù hợp khác.
Có phải chỉ cần đổi endpoint GitHub Models sang Microsoft Foundry?
Không. Team còn phải kiểm tra deployment name, xác thực, tham số, tool calling, structured output, streaming, giới hạn token, content filter, chi phí, độ trễ và chất lượng đầu ra.
Nên dùng SDK nào khi migrate sang Microsoft Foundry?
Tài liệu Microsoft hiện khuyến nghị chuyển sang API OpenAI/v1 với SDK ổn định, thay vì tiếp tục phụ thuộc Azure AI Inference beta SDK đang trên lộ trình ngừng hỗ trợ.
Làm sao biết migration LLM API đã thành công?
Không chỉ kiểm tra HTTP 200. Cần đo tỷ lệ tác vụ hoàn thành đúng, p95 latency, chi phí trên tác vụ thành công, khả năng giữ schema, chất lượng tiếng Việt và hành vi khi timeout, rate limit hoặc model trả dữ liệu lỗi.