/ Модель

Характеристики

Контекст
131 072 токена
Параметры
2,5 млрд
Лицензия
Apache 2.0
Архитектура
granite · dense
Базовая модель
granite-3.3-2b-instruct
Библиотека
transformers
Опубликована
14 сен 2026

granite-3.3-2b-customer-support

Генерация текстаТекст → текст3 профессии

LoRA-адаптер Granite 3.3 2B для генерации профессиональных ответов на англоязычные обращения в службу поддержки.

215скачиваний за 30 дней0лайковвеса обновлены14 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Модель drstupidity/granite-3.3-2b-customer-support — адаптер LoRA для диалоговой языковой модели IBM Granite, дообученный на наборе Bitext для ответов на обращения клиентов. Она предназначена для генерации вежливых и эмпатичных ответов в профессиональном тоне, с конкретными дальнейшими шагами, если они уместны. Обучение использовало формат чата базовой модели и примеры с одним сообщением клиента; адаптер можно применять с ibm-granite/granite-3.3-2b-instruct.

Архитектура — плотная GraniteForCausalLM, около 2,5 млрд параметров у базовой модели; контекст базовой модели составляет 131 072 токена. Репозиторий содержит веса в формате Safetensors. Модель обучалась на синтетических англоязычных данных поддержки клиентов, а системный промпт можно менять или опускать. Лицензия — Apache-2.0.

Модель не обучалась на многоходовых диалогах и не подключена к аккаунтам или другим системам компании. Её ответы о заказах, политиках и пользовательских данных нельзя считать проверенными: даже при обучении не выдумывать такие сведения это не гарантируется. Англоязычные данные обучения делают нерусский ввод вне распределения. В README также описан отдельный защитный слой сервиса, но он не входит в веса модели.

Сценарии применения

  • составление вежливых ответов на обращения клиентов
  • предложение дальнейших шагов для решения типовых проблем клиентов
  • подготовка черновиков ответов службы поддержки
  • объяснение клиенту типовых процедур и решений на основе предоставленного контекста

Ограничения

Обучена на синтетических англоязычных одноходовых обращениях и не имеет доступа к аккаунтам или внутренним системам; нерусский ввод вне обучающего распределения. Сведения о заказах, политиках и аккаунтах следует проверять, поскольку модель может их выдумать.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Customer Support Assistant (granite-3.3-2b)

LoRA fine-tune of ibm-granite/granite-3.3-2b-instruct on the Bitext customer-support dataset, trained to answer customer-support requests in a helpful support register.

Prompt template

Training, evaluation and serving all use this exact format. Use the model's own chat template with add_generation_prompt=True.

System prompt:

You are a customer support assistant. Read the customer's message, understand what they need, and reply accurately and helpfully in a professional, empathetic tone. Give concrete next steps when they apply, and never invent account details, order numbers, or policies you were not given.
from transformers import AutoModelForCausalLM, AutoTokenizer

MODEL = "drstupidity/granite-3.3-2b-customer-support"
tok = AutoTokenizer.from_pretrained(MODEL)
model = AutoModelForCausalLM.from_pretrained(MODEL, dtype="bfloat16", device_map="auto")

messages = [
    {"role": "system", "content": SYSTEM_PROMPT},
    {"role": "user", "content": "I need to cancel order 12345"},
]
prompt = tok.apply_chat_template(
    messages, tokenize=False, add_generation_prompt=True
)
inputs = tok(prompt, return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=512, do_sample=False)
print(tok.decode(out[0][inputs.input_ids.shape[1]:], skip_special_tokens=True))

The model was trained with a 15% system-prompt dropout, so it also behaves sensibly with a different system prompt or none at all.

These weights are the model, not the served stack

Everything above is all you need. The repository also runs a guardrail layer in front of the model at serve time (NeMo Guardrails plus a local out-of-domain embedding check), but none of it is baked into these weights and none of it is required to run them. Loading the checkpoint as shown gives you the model alone.

That separation is deliberate. The rails divert a small fraction of requests to predefined text instead of generating -- measured at 0.27% of real validation queries, and 9.4% on a deliberately adversarial probe set. If those fired during someone else's evaluation, the scores would describe the rails rather than the model. So the serving layer exposes an ungated /v1/completions route for exactly that purpose, and the rails can be turned off entirely with CSBOT_GUARDRAILS=0.

Training

methodLoRA (r=16, alpha=32, dropout=0.05)
target modulesq_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
learning rate0.0002
schedulecosine, warmup 0.03
effective batch32
max seq len640
train rows31,343
guardrail rows1,235 synthetic "when not to help" examples
losscompletion-only (assistant tokens)
hardwareNVIDIA GeForce RTX 5060 Laptop GPU, peak 3.47 GB
final eval loss0.6328

Data was split by near-duplicate cluster, not by row: the source dataset is 27 intents with roughly a thousand generated paraphrases each, so a random split leaks near-identical text across the train/test boundary. See the project repository for the leakage audit, evaluation design and base-vs-tuned results.

Why there are synthetic "decline" examples in the training data

Every one of the 23,453 Bitext rows is "customer asks -> agent helpfully assists". There is not a single example of declining. Fine-tuning on that alone taught the model always help, which is right inside the domain and wrong the moment a query leaves it: measured against a held-out behavioural probe set, its off-topic redirect rate dropped from 0.800 (base model) to 0.350.

Blending in a 5% slice of examples that decline off-topic requests, refuse instruction overrides, ask for clarification when a message is uninformative, and decline to invent account data brought that to 0.850 -- past the base model -- at no measurable in-domain cost (validation loss 0.6461 vs 0.6436 for an otherwise identical control run).

Limitations

  • Trained on synthetic, English, single-turn support data. It has no multi-turn conversation training and no access to real account systems.
  • It must not be relied on for account-specific facts; it is trained never to invent order numbers, policies or contact details, but that is a tendency, not a guarantee.
  • Non-English input is out of distribution for the training data.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
GraniteForCausalLM
Ревизия весов
58c855f

0 моделей