Waiter-0.8B

Adisyonist restoran/adisyon (POS) yazılımı için çok dilli chat agent + tool-router modeli.

Qwen/Qwen3.5-0.8B temel modelinin, Adisyonist için hazırlanmış 43 dilli ve 532.856 örnekten oluşan tool-routing veri seti üzerinde QLoRA ile fine-tune edilmiş halidir.

Fine-tuned by: Ömer Faruk ŞAHAN — Adisyonist AI

Çıktı formatı

Model her kullanıcı mesajına tek bir JSON nesnesiyle cevap verir:

{
  "agents": ["prepareReservationCommand", "executeReservationAction"],
  "answer": "Rezervasyon işlemi hazırlandı..."
}
  • agents: uygulamanın sırayla çağırması gereken backend fonksiyonlarıdır.
  • Chit-chat veya desteklenmeyen isteklerde agents boş liste ([]) olarak döner.
  • answer: kullanıcıya gösterilecek metindir.
  • {totalSales}, {currencyCode}, {stockResultList} gibi placeholder'lar uygulama tarafından runtime sırasında doldurulur.

Tool gerektirmeyen bir örnek:

{
  "agents": [],
  "answer": "Merhaba! Nasıl yardımcı olabilirim?"
}

Kullanım

import json
import torch
from transformers import AutoModelForImageTextToText, AutoTokenizer

model_id = "adisyonist/waiter-0.8B"

tokenizer = AutoTokenizer.from_pretrained(model_id)

model = AutoModelForImageTextToText.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto"
)

messages = [
    {
        "role": "user",
        "content": "Masa 5 için 2 adet lahmacun ve 1 ayran ekler misin?"
    }
]

text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)

inputs = tokenizer(
    text,
    return_tensors="pt"
).to(model.device)

im_end_id = tokenizer.convert_tokens_to_ids("<|im_end|>")

with torch.inference_mode():
    output = model.generate(
        **inputs,
        max_new_tokens=384,
        do_sample=False,
        eos_token_id=im_end_id,
        pad_token_id=tokenizer.pad_token_id
    )

generated = output[0][inputs["input_ids"].shape[1]:]

raw = tokenizer.decode(
    generated,
    skip_special_tokens=True
).strip()

result = json.loads(raw)

print(result["agents"])
print(result["answer"])

Örnek çıktı:

{
  "agents": ["prepareAddItems", "executeTableAction"],
  "answer": "Masa işlemi hazırlandı: “Masa 5 için 2 adet lahmacun ve 1 ayran ekler”. Uygulamamı onaylıyor musunuz?"
}

Eğitim detayları

  • Temel model: Qwen/Qwen3.5-0.8B
  • Yöntem: QLoRA
  • Quantization: 4-bit NF4 + double quantization
  • Compute dtype: BF16
  • LoRA rank (r): 16
  • LoRA alpha: 32
  • LoRA dropout: 0.05
  • Eğitim framework'ü: TRL SFTTrainer
  • Eğitim dili: 43 dil
  • Dataset boyutu: 532.856 örnek
  • Held-out test seti: 53.286 örnek

Değerlendirme

Model, eğitim sırasında kullanılmamış 53.286 örnekten oluşan held-out test seti üzerinde değerlendirilmiştir.

  • Adjusted agent exact accuracy: %99,40
  • Raw agent exact accuracy: %98,81
  • JSON validity: %99,41
  • Answer exact-match: %92,57

Answer exact-match, üretilen cevabın veri setindeki beklenen cevapla birebir aynı olup olmadığını ölçer. Semantik olarak doğru fakat farklı şekilde ifade edilen cevaplar da bu metrikte yanlış kabul edilir.

Test sırasında görülen 316 geçersiz JSON çıktısının büyük bölümü generation sırasında kullanılan token limitinin cevabı yarıda kesmesinden kaynaklanmıştır. Bu örneklerin agent listeleri ayrıca incelendiğinde agent seçiminin doğru olduğu görülmüştür.

Bu nedenle düzeltilmiş agent exact accuracy değeri %99,40 olarak hesaplanmıştır.

Bilinen sınırlamalar

Model, Adisyonist POS senaryoları için özelleştirilmiştir ve genel amaçlı bir asistan olarak kullanılması önerilmez.

Modelin desteklediği senaryolar arasında sipariş, masa, rezervasyon, stok, personel, menü ve satış işlemleri bulunmaktadır.

Bilinen hata alanları:

  • desteklenmeyen isteklerde tool seçimi ile agents: [] arasındaki sınır durumları,
  • kategori ve tek ürün kapsamının zaman zaman karıştırılması,
  • getSalesSummary için veri setinde birden fazla response-template bulunması,
  • birbirine yakın bazı analytics tool'larının zaman zaman karıştırılması,
  • nadir çok dilli cevap kaymaları,
  • bazı multi-intent sorgularda agent zincirinin karışması.

Model çıktısı JSON formatındadır; doğrudan serbest metin cevap beklenmemelidir.

Lisans

Bu model, Qwen/Qwen3.5-0.8B temel modeli üzerine fine-tune edilmiştir ve Apache License 2.0 altında yayınlanmaktadır.

Downloads last month
132
Safetensors
Model size
0.9B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for adisyonist/waiter-0.8B

Finetuned
(342)
this model
Quantizations
1 model