MiniMind-3-Fish-Suiren-220M
220M-агент с function calling без RL
Это специализированная модель на базе MiniMind-3 (около 220M параметров), дообученная полным SFT в Unsloth для вызова функций в закрытом наборе инструментов. Автор — PP12546; заявлены языки zh/en и обучение на ~1000 синтетических JSONL-диалогах без RL.
✨ Ключевые особенности
- ✅ Три встроенных инструмента:
calculate_math,get_current_time,search_web. - 🔮 Генерирует форматированный
<tool_call>JSON и извлекает параметры. - 💻 Умеет отвечать напрямую на чат и общие вопросы без вызова инструмента.
- ❌ При запросе вне закрытого набора инструментов честно отказывает, без выдуманного вызова.
- ✨ Около 20% обучающих примеров содержат короткое «thinking» перед JSON для маршрутизации.
💻 Пример
# tools — список описаний инструментов из system prompt
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "PP12546/MiniPolaris-3-Fish-Suiren"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")
messages = [{"role":"system","content":"","tools":tools},{"role":"user","content":"帮我算一下 12345 乘以 6789 是多少?"}]
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
print(tok.decode(model.generate(inputs, max_new_tokens=128, temperature=0.1)[0][inputs.shape[1]:], skip_special_tokens=True))
Подробнее
Обучение: полный SFT на MiniMind-3 220M, ~1000 синтетических JSONL-диалогов, ~2 эпохи (100 шагов), loss 1.62 / eval 1.66.Контекст — 1024 tokens; тренировка шла на Intel Arc B580 (12GB).
Ограничения: закрытый набор из трёх инструментов; для новых инструментов нужен рефайнтюн.
Из-за SFT на tool-call данных возможна деградация общих знаний и генерации; на сложных запросах — ошибки маршрутизации и параметров.








Комментарии