Nội dung chính
1. Function calling là gì – nói đơn giản
Nói thật mà nghe: function calling là cách để AI không chỉ "nói" mà còn "làm". Thay vì bịa ra câu trả lời, model sẽ gọi một hàm thật (lấy thời tiết, tra tỷ giá, query database) rồi dùng kết quả đó để trả lời bạn.
Ba model open source hàng đầu hiện nay – Gemma 4, Qwen 3.5, Phi-4-mini – đều làm được việc này. Nhưng cách chúng làm và kết quả thực tế khác nhau khá nhiều.
2. So sánh nhanh
| Tiêu chí | Gemma 4 (Google) | Qwen 3.5 (Alibaba) | Phi-4-mini (Microsoft) |
|---|---|---|---|
| Kích thước nhỏ nhất | E2B: 2.3B hiệu dụng | 4B | 3.8B |
| Function calling | Native – train từ đầu | Native – cải thiện từ 2.5 | Native – mới bổ sung |
| Thinking mode | Có (tất cả model) | Có (bật bằng /think) |
Không |
| Multimodal | Ảnh + audio + video (12B+) | Ảnh + video | Ảnh + text |
| Giấy phép | Apache 2.0 ✅ | Apache 2.0 ✅ | MIT ✅ |
| VRAM tối thiểu | ~4GB (E2B) | ~4GB (4B) | ~4GB (fp16) |
| Tool-call accuracy | ~97% (sau SFT) | ~94% | ~90% (cần tweak template) |
| Multi-tool call | Tốt – xử lý 4+ tool cùng lúc | Tốt | Hỗ trợ, nhưng cần setup thêm |
| Dễ deploy nhất | ✅ Dễ nhất – Ollama pull là chạy | ✅ Dễ – Ollama pull | ⚠️ Cần sửa Modelfile |
3. Gemma 4 – "vua" function calling
Tôi đã test Gemma 4 E4B với 4 tool khác nhau (thời tiết, tỷ giá, tin tức, múi giờ). Kết quả: model gọi đúng tool, đúng tham số, đúng JSON schema – hàng trăm prompt, không fail lần nào.
Điểm mạnh nhất của Gemma 4:
- Encoder-free architecture (model 12B) – giảm latency khi xử lý ảnh/audio
- JSON schema accuracy cao – hiếm khi sai required field
- Apache 2.0 – deploy thương mại thoải mái
Điểm yếu:
- Mô hình MoE (26B) phức tạp hơn để tối ưu
- Chưa có cộng đồng lớn như Qwen
4. Qwen 3.5 – reasoning giỏi nhất
Qwen 3.5 có tính năng thinking mode – model tự hiển thị quá trình suy luận trước khi gọi tool. Điều này giúp nó xử lý tốt các scenario phức tạp, ví dụ: "So sánh thời tiết Hà Nội và Tokyo, rồi đổi 100 USD sang VNĐ."
Điểm mạnh:
- Thinking mode – accuracy tăng 18% trên MATH, 12% trên coding
- Cộng đồng lớn – nhiều tutorial, nhiều người dùng, nhiều prompt pattern đã được validate
- 29 ngôn ngữ – tiếng Việt xử lý tốt hơn Gemma 4
Điểm yếu:
- Function calling chính xác nhưng chưa bằng Gemma 4 trên multi-tool scenarios
- Nặng hơn Gemma 4 cùng kích thước – do kiến trúc phức tạp hơn
5. Phi-4-mini – nhẹ nhất, nhưng cần setup kỹ
Phi-4-mini (3.8B) của Microsoft là model nhẹ nhất trong ba model vẫn hỗ trợ function calling đàng hoàng. Nhưng có một vấn đề: Ollama mặc định không trigger được function calling với Phi-4-mini. Bạn phải sửa Modelfile – điều mà hai model kia không cần.
Theo Microsoft Tech Community, bạn cần:
- Sửa template của Modelfile để thêm
functoolsmarker - Dùng version
phi4-mini:3.8b-fp16– các version quantized khác fail - Parallel function calling vẫn chưa hoạt động ổn định
Điểm mạnh:
- Siêu nhẹ – 3.8B, chạy được trên cả laptop yếu
- Microsoft ecosystem – tích hợp tốt với Azure, .NET
- MIT license – permissive nhất trong ba model
Điểm yếu:
- Setup phức tạp – không phải "pull là chạy"
- Chưa ổn định với parallel tool calls
- Không có thinking mode
6. Nên chọn model nào?
Đây là phần quan trọng nhất – để tôi dịch ra tiếng người:
| Tình huống của bạn | Model nên chọn |
|---|---|
| Cần AI agent gọi tool chính xác, nhiều tool cùng lúc | Gemma 4 – accuracy cao nhất, ít fail nhất |
| Cần AI giải thích lý do, reasoning phức tạp | Qwen 3.5 – thinking mode giúp model "show its work" |
| Laptop yếu, cần model nhẹ nhất có thể | Phi-4-mini – 3.8B, nhẹ nhất vẫn có function calling |
| Cần xử lý tiếng Việt tốt | Qwen 3.5 – 29 ngôn ngữ, tiếng Việt tốt hơn |
| Cần deploy thương mại, không lo pháp lý | Cả 3 đều OK – Apache 2.0 hoặc MIT |
| Build agent cho enterprise, cần multimodal | Gemma 4 12B – ảnh + audio + video, encoder-free |
Điều này ảnh hưởng gì đến bạn?
Nếu bạn là developer Việt Nam: Cả 3 model đều miễn phí, chạy local, không cần API key. Bạn có thể test cả 3 trên laptop của mình trong 30 phút – cài Ollama rồi pull từng model về. Không mất một xu nào. Bắt đầu với Gemma 4 nếu bạn cần function calling ổn định, Qwen 3.5 nếu bạn cần reasoning, Phi-4-mini nếu laptop yếu.
Nếu bạn là chủ doanh nghiệp đang muốn áp dụng AI agent: Việc có 3 model open source mạnh mẽ, chạy local nghĩa là bạn không bị phụ thuộc vào API của OpenAI hay Anthropic. Dữ liệu không rời khỏi server của bạn, chi phí = tiền điện. Đặc biệt quan trọng với ngân hàng, bệnh viện, công ty luật – những ngành không được gửi dữ liệu lên cloud.
Nếu bạn là sinh viên IT: Đây là cơ hội vàng để học AI agent mà không cần GPU đắt tiền. Gemma 4 E2B (2.3B hiệu dụng) chạy được trên cả CPU. Bạn có thể build agent gọi tool, fine-tune cho domain cụ thể – tất cả trên laptop sinh viên.
Số liệu & thống kê
| Benchmark | Gemma 4 E4B | Qwen 3.5 8B | Phi-4-mini 3.8B |
|---|---|---|---|
| AIME 2026 (toán) | 42.5% | ~55% (có thinking) | ~35% |
| LiveCodeBench (code) | 52.0% | ~60% (có thinking) | ~40% |
| Tool-call accuracy | ~97% | ~94% | ~90% |
| VRAM (4-bit quantized) | ~3GB | ~5GB | ~4GB |
| Latency/tool-call (RTX 3090) | ~200ms | ~250ms (có thinking: ~300ms) | ~180ms |
Sources
| # | Title | URL | Ghi chú |
|---|---|---|---|
| 1 | How to Implement Tool Calling with Gemma 4 and Python | https://machinelearningmastery.com/how-to-implement-tool-calling-with-gemma-4-and-python/ | Machine Learning Mastery – code Python hoàn chỉnh |
| 2 | Building AI Agents on edge devices using Ollama + Phi-4-mini | https://techcommunity.microsoft.com/blog/educatordeveloperblog/building-ai-agents-on-edge-devices-using-ollama--phi-4-mini-function-calling/4391029 | Microsoft Tech Community – chính chủ |
| 3 | Qwen 3.5 vs 2.5: Local Benchmark Results | https://toolhalla.ai/blog/qwen-3-5-vs-qwen-2-5-local-llm-comparison | ToolHalla – benchmark chi tiết |
| 4 | The SLM-First Agent: Why 2026's Best Agentic Systems Run on Small Models | https://dev.to/syncsoftai/the-slm-first-agent-why-2026s-best-agentic-systems-run-on-small-models-lec | DEV.to – SLM-first pattern |