Views
No views yet
google/gemma-4-E4B-it 為基底,在 Simon-Liu/kubectl-mcp-server-tool-call-reasoning-1k 上做全參數監督式微調(full-parameter SFT),訓練成會先推理、再正確呼叫 kubectl-mcp-server MCP 工具(function calling)的繁體中文模型。| 指標 | FT 前 | FT 後 | 提升 |
|---|---|---|---|
| 有工具呼叫率 | 86.7% | 100.0% | +13.3% |
| 函式名正確率 | 69.3% | 89.3% | +20.0% |
| 名稱+參數全對率 | 52.0% | 70.7% | +18.7% |
有工具呼叫率=是否吐出<tool_call>;函式名正確率=function name 正確;名稱+參數全對率=name 與 arguments 皆正確(exact match,最嚴格)。
google/gemma-4-E4B-itSimon-Liu/kubectl-mcp-server-tool-call-reasoning-1k(~1k 筆 kubectl-mcp-server MCP function-calling,繁中推理)1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4model = AutoModelForCausalLM.from_pretrained("Simon-Liu/gemma-4-e4b-kubectl-mcp-server-mcp-sft-it", torch_dtype=torch.bfloat16, device_map="auto")
5tokenizer = AutoTokenizer.from_pretrained("Simon-Liu/gemma-4-e4b-kubectl-mcp-server-mcp-sft-it")
6
7messages = [
8 {"role": "system", "content": "<工具定義,Hermes 風格 JSON>"},
9 {"role": "user", "content": "我現在 kubectl-mcp-server 登入的帳號是誰?"},
10]
11prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
12inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
13out = model.generate(**inputs, max_new_tokens=512, do_sample=False)
14print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))