/ Модель

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

Лицензия
Apache 2.0
Библиотека
pytorch
Опубликована
24 авг 2026

ThinkSpark-4.4M

Классификация текстаТекст → label

Компактная мультиязычная модель классификации реплик для выбора уместной голосовой реакции или заполнителя паузы в диалоге с голосовым агентом.

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

Бенчмарки

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

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

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

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

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

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

ThinkSpark-4.4M — компактная мультиязычная модель от anuj-inavlabs для выбора подходящего звука или короткой реплики, которую голосовой агент может произнести в паузе между речью пользователя и ответом. Она классифицирует текущую реплику с учётом предыдущего разговора и предсказывает язык, намерение агента, регистр, эмоцию и тип заполнителя паузы. Архитектура состоит из байтового токенизатора с алфавитом из 259 элементов, двух энкодеров на базе трансформеров и пяти классификационных голов; размер — около 4,4 млн параметров. Модель распространяется в формате ONNX и рассчитана на инференс на CPU с низкой задержкой.

Предсказания охватывают 22 языковых варианта, включая смешанный хинди и английский, а также девять типов реакции: например, обдумывание, уточнение, подтверждение, несогласие, эмпатия и молчание. После классификации компонент выбирает конкретный звук или фразу из словаря заполнителей; модель сама не синтезирует аудио. В README приведены точность определения языка 0,967 и macro-F1 намерения 0,340, поэтому качество выбора реакции может быть ограниченным. Для городских и смешанных языковых вариантов и малоресурсных языков рекомендована проверка носителями. Лицензия — Apache-2.0.

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

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

Ограничения

Точность определения намерения в тестах умеренная (macro-F1 0,340); для городских и смешанных языковых вариантов и малоресурсных заполнителей требуется проверка носителями. Модель предсказывает классы и тип заполнителя, а конкретный звук или фразу выбирает внешний словарь.

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

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

Открыть на Hugging Face

ThinkSpark-4.4M — ultra-lightweight multilingual "thinking-sound" predictor

4,445,809 parameters (~4.4M). Smaller than a JPEG. A byte-level dual-encoder that predicts the human backchannel / thinking sound a voice agent should murmur in the gap between the user's speech (STT) and the agent's reply (TTS) — hmm, अच्छा, એક સેકન્ડ, ええと — in the right language, native script, register and emotion.

No GPU at inference. 2–8 ms on CPU. 259-row byte vocab, zero OOV across every script. Ships as ONNX into the Kupe voice worker (thinking_sounds.mode = "auto").

What it predicts

Given the user's current utterance (input, primary) + the past conversation (context, any language/mix), it outputs:

  • language (22): hi, mr, bn, gu, pa, ta, te, kn, ml, or, as, ur, hi_en, en, es, fr, de, pt, ja, zh, ar, ru
  • intent — 9 agent super-reactions: thinking, clarify, acknowledge, disagree, react_positive, empathize, soothe, impatient, silence
  • register, emotion, filler_type (sound / word / sound_word / words / none)

A curated filler dictionary then samples the actual spoken spark for (language, intent, filler_type) — or silence when the model says no_filler.

Test metrics

metricvalue
intent acc / top-2 / macro-F10.440 / 0.640 / 0.340
language acc0.967
emotion / filler_type acc0.444 / 0.536

Usage

from huggingface_hub import snapshot_download
from thinkspark.infer import ThinkSparkPredictor

local = snapshot_download("anuj-inavlabs/ThinkSpark-4.4M")
pred = ThinkSparkPredictor(local, f"{local}/filler_dictionary.json")

pred.predict(
    input_text="अरे यार फिर से वही दिक्कत",
    context="User: रिफंड नहीं आया\nAgent: sir I am checking\nUser: कितनी बार बोलूँ",
)
# -> {'spark': 'माफ़ कीजिए', 'intent': 'soothe', 'language': 'hi', ...}

Architecture

Byte tokenizer (UTF-8, vocab 259) → input encoder (5 layers, d=192) + context encoder (3 layers) → input cross-attends into context (input = query, context = key/value) → 5 heads. Trained with focal loss + class-balancing; native-script language is pinned by a script guard at inference.

Generated by kupe-thinkspark; data via Sarvam. Native-speaker QA recommended for urban/code-mixed and low-resource fillers.

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

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

GPU в ailist

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

Нельзя запустить

В репозитории нет config.json: не понять архитектуру модели.

Ревизия весов
db4ab4b

0 моделей