/ Модель

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

Лицензия
Apache 2.0
Библиотека
model2vec
Опубликована
8 сен 2026

thalovant-m2v-intents

Классификация текстаТекст → label3 профессии

Многоязычный статический классификатор определяет намерения пользователя и направляет запросы к навыкам экосистемы Thalovant и OpenVoiceOS.

2 281скачиваний за 30 дней0лайковвеса обновлены11 окт 2026

Бенчмарки

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

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

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

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

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

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

thalovant разработала статический классификатор намерений для маршрутизации запросов в экосистеме Thalovant и OpenVoiceOS. Модель присваивает фразе один из 215 ярлыков, связанных с навыками и другими зарегистрированными сценариями хабов. Она дообучена методом model2vec на базе Jarbas/m2v-256-distiluse-base-multilingual-cased-v2 и распространяется в формате safetensors по лицензии Apache-2.0.

Модель предназначена для определения намерения пользователя и выбора подходящего навыка, например для управления умным домом, чтения, ответов от персонажа или поиска инструкций. По описанному тестированию на отложенных данных из 68 языков точность определения намерения составила 89,3%, а выбора навыка — 96,0%. Классификатор обучен на корпусе конкретной экосистемы, поэтому его ярлыки ограничены зарегистрированными навыками и сценариями.

У модели нет ярлыка «ни один из вариантов»: запрос вне её предметного охвата всё равно будет отнесён к ближайшему навыку, иногда с высокой уверенностью. В README также отмечены языки и отдельные навыки с более низкими показателями; для некоторых языков рекомендуется повышать порог уверенности.

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

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

Ограничения

Модель всегда выбирает один из 215 известных ярлыков и не умеет отклонять запросы вне обученных сценариев, поэтому может уверенно назначить им неподходящий навык. Качество неодинаково по языкам и навыкам; для некоторых языков README рекомендует более высокий порог уверенности.

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

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

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

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

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

Открыть на Hugging Face

thalovant/thalovant-m2v-intents

A static-embedding intent classifier for the Thalovant hub. It maps an utterance to one of 215 labels of the form <skill_id>:<intent>, exactly as ovos-m2v-pipeline registers them. The labels are the fleet's skills and the other intents the hubs register (the persona and reading pipelines, wikihow), from the fleet corpus and nothing else. There is no "none of these" label: a sentence about something no skill does still gets the nearest skill's label, often with high confidence.

Base: Jarbas/m2v-256-distiluse-base-multilingual-cased-v2, fine-tuned with model2vec's classifier trainer.

How good it is

Measured on sentences the classifier never saw: 42422 held-out rows whose text, in any language, and whose intent line are both absent from the 195173 rows an evaluation model was trained on. A split per row would score the en-GB twin of an en-US training sentence as new.

  • Intent accuracy 89.3 %, skill accuracy 96.0 % across 68 languages; median language 89.5 %, 8 language(s) under 80 %.
  • 0.5 % of held-out sentences are given to another skill at 0.9 or more: what thalovant-skillkit check would report about a sentence that is in fact new and the skill's own.
  • Languages that need a higher threshold to keep that under 1.0 %: bg-BG 0.94, et-EE 0.92, eu-ES 0.92, fa-IR 0.94, fi-FI 0.99, hi-IN 0.92, ko-KR 0.95, lt-LT 0.92, oc-FR 0.95, ro-RO 0.96, sv-FI 0.94, sv-SE 0.94 (thresholds in training.json).

The published weights are then trained with the same recipe on all 237595 rows, so a skill's existing sentences are the classifier's training data. At most 512 sentences per label and language are trained on (the reading pipeline's English intents alone expand to thousands); index.json keeps all 260140.

Use

from model2vec.inference import StaticModelPipeline

model = StaticModelPipeline.from_pretrained("thalovant/thalovant-m2v-intents")
model.predict(["will it rain tomorrow"])

Configure the pipeline with "mode": "classifier" and this model's path; labels.json beside the weights lists the labels the hub may route to.

index.json names every sentence in the training corpus by a digest of its language and text, with the labels that publish it. thalovant-skillkit check uses it to fail a skill that publishes a sentence another skill already owns, and asks this classifier what it makes of the rest -- without the fleet's sentences leaving their private repositories.

Held-out results per language

False warnings: held-out sentences given to another skill at 0.9 or more. Threshold: the lowest that keeps them under 1.0 %.

LanguageRowsIntentSkillFalse warningsThreshold
an-ES39489.6 %97.5 %0.0 %0.9
ar-SA69678.9 %94.5 %0.3 %0.9
ast-ES50183.4 %96.0 %0.8 %0.9
az-AZ35879.9 %90.8 %0.0 %0.9
bg-BG50991.9 %94.9 %1.4 %0.94
ca-ES75592.6 %96.4 %0.1 %0.9
cs-CZ63486.8 %95.1 %0.3 %0.9
da-DK108788.5 %96.5 %0.4 %0.9
de-AT86989.4 %95.9 %0.7 %0.9
de-CH86989.4 %95.9 %0.7 %0.9
de-DE101088.7 %95.8 %0.6 %0.9
el-GR80786.1 %92.7 %0.9 %0.9
en-AU81696.3 %98.7 %0.2 %0.9
en-CA81496.3 %98.7 %0.2 %0.9
en-GB81696.3 %98.7 %0.2 %0.9
en-NZ81696.3 %98.7 %0.2 %0.9
en-US152396.0 %99.0 %0.1 %0.9
es-AR50498.0 %99.0 %0.0 %0.9
es-CO49397.8 %98.8 %0.2 %0.9
es-ES70096.4 %98.0 %0.7 %0.9
es-MX49298.0 %99.0 %0.0 %0.9
es-US49298.0 %99.0 %0.0 %0.9
et-EE37783.0 %90.2 %1.1 %0.92
eu-ES42576.0 %86.1 %1.4 %0.92
fa-IR63083.5 %94.1 %1.1 %0.94
fi-FI38866.5 %84.0 %3.1 %0.99
fr-BE62894.8 %96.8 %0.3 %0.9
fr-CA62494.7 %96.8 %0.3 %0.9
fr-CH63294.8 %96.8 %0.3 %0.9
fr-FR107195.1 %98.0 %0.2 %0.9
gl-ES113097.0 %98.3 %0.4 %0.9
he-IL68591.7 %96.2 %0.4 %0.9
hi-IN153883.0 %94.0 %1.1 %0.92
hr-HR55989.5 %96.8 %0.4 %0.9
hu-HU60286.4 %94.7 %0.7 %0.9
id-ID62589.8 %96.3 %0.5 %0.9
it-IT82986.9 %96.4 %0.8 %0.9
ja-JP71963.3 %94.8 %0.4 %0.9
kab6586.2 %98.5 %0.0 %0.9
ko-KR39087.2 %92.8 %1.5 %0.95
lt-LT45087.3 %94.2 %1.1 %0.92
lv-LV47485.4 %92.4 %0.4 %0.9
ms-MY48889.5 %95.9 %0.4 %0.9
nb-NO62093.2 %98.1 %0.7 %0.9
nl-BE58192.1 %96.2 %0.3 %0.9
nl-NL75687.2 %95.9 %0.5 %0.9
oc-FR38890.0 %94.8 %1.0 %0.95
pl-PL84689.4 %95.5 %0.5 %0.9
pt-AO50393.2 %98.6 %0.2 %0.9
pt-BR69893.5 %98.6 %0.1 %0.9
pt-MZ50393.2 %98.6 %0.2 %0.9
pt-PT71093.5 %98.9 %0.1 %0.9
ro-RO47984.8 %92.7 %1.2 %0.96
ru-RU53987.8 %96.3 %0.6 %0.9
sk-SK45692.1 %96.7 %0.2 %0.9
sl-SI37686.2 %93.1 %0.5 %0.9
sv-FI53990.0 %94.6 %1.1 %0.94
sv-SE67487.8 %94.8 %1.2 %0.94
sw-KE39672.2 %88.4 %0.2 %0.9
th-TH37470.6 %80.8 %0.8 %0.9
tr-TR56687.3 %94.7 %0.2 %0.9
uk-UA63587.6 %96.4 %0.6 %0.9
vi-VN66266.6 %96.5 %0.1 %0.9
zh-CN47395.3 %96.6 %0.6 %0.9
zh-SG47395.3 %96.6 %0.6 %0.9
zh-TW86996.4 %98.0 %0.5 %0.9

Held-out results per skill

SkillRowsIntentSkillFalse warnings
ovos-common-reading-pipeline-plugin69589.5 %99.7 %0.0 %
ovos-persona-pipeline-plugin157696.6 %96.9 %0.2 %
ovos-skill-wikihow.openvoiceos7785.7 %85.7 %7.8 %
thalovant-skill-alarm.thalovant46481.7 %93.5 %1.1 %
thalovant-skill-coming-soon.thalovant281098.9 %99.2 %0.1 %
thalovant-skill-custos-query.thalovant24583.3 %86.9 %0.4 %
thalovant-skill-custos-shadow.thalovant24787.0 %93.1 %1.2 %
thalovant-skill-date-time.thalovant198282.7 %94.2 %0.7 %
thalovant-skill-easter-eggs.thalovant26673.3 %79.7 %0.8 %
thalovant-skill-fart.thalovant60187.0 %94.8 %1.0 %
thalovant-skill-guide.thalovant270886.7 %93.2 %0.8 %
thalovant-skill-home.thalovant1312087.9 %98.4 %0.2 %
thalovant-skill-interaction-modes.thalovant31080.7 %92.6 %2.3 %
thalovant-skill-joke-garden.thalovant75478.1 %82.0 %2.5 %
thalovant-skill-language-buddy.thalovant27690.9 %90.9 %1.8 %
thalovant-skill-learning-lounge.thalovant32090.6 %90.6 %0.3 %
thalovant-skill-local-pulse.thalovant24092.1 %92.1 %1.7 %
thalovant-skill-news.thalovant116896.2 %98.7 %0.2 %
thalovant-skill-on-this-day.thalovant69096.1 %96.2 %1.0 %
thalovant-skill-ops-copilot.thalovant36390.9 %90.9 %0.5 %
thalovant-skill-pop-facts.thalovant158388.8 %94.6 %0.9 %
thalovant-skill-pop-quiz.thalovant229799.9 %99.9 %0.0 %
thalovant-skill-recall.thalovant104987.1 %94.1 %1.1 %
thalovant-skill-reminder.thalovant41587.9 %95.7 %0.0 %
thalovant-skill-rewrite-forge.thalovant50187.2 %87.2 %1.6 %
thalovant-skill-safety-guide.thalovant31883.3 %83.3 %2.2 %
thalovant-skill-source-scout.thalovant37781.7 %81.7 %4.0 %
thalovant-skill-stopwatch.thalovant53276.1 %93.4 %0.8 %
thalovant-skill-timer.thalovant48683.1 %90.5 %0.6 %
thalovant-skill-twenty-questions.thalovant20190.5 %90.5 %0.0 %
thalovant-skill-volume.thalovant105379.7 %95.8 %0.7 %
thalovant-skill-weather.thalovant240486.7 %95.4 %0.5 %
thalovant-skill-what-next.thalovant229497.9 %97.9 %0.1 %

What the classifier confuses

Each line is a held-out sentence whose true intent the classifier read as another intent. Two skills on one line is a collision the fleet should resolve.

  • thalovant-skill-home.thalovant:home.state read as thalovant-skill-home.thalovant:home.turn.on (265): "ye o ventilador de something enzendiu" (an-ES)
  • thalovant-skill-home.thalovant:home.turn.on read as thalovant-skill-home.thalovant:home.turn.off (238): "أضئ الضوء في something" (ar-SA)
  • thalovant-skill-home.thalovant:home.state read as thalovant-skill-home.thalovant:home.turn.off (193): "ye o ventilador de something amortau" (an-ES)
  • thalovant-skill-home.thalovant:home.turn.off read as thalovant-skill-home.thalovant:home.turn.on (90): "أوقف تشغيل الضوء في something" (ar-SA)
  • thalovant-skill-home.thalovant:home.brightness read as thalovant-skill-home.thalovant:home.turn.off (88): "gør loftslampen mørkere" (da-DK)
  • ovos-common-reading-pipeline-plugin:ReadContentByCollection read as ovos-common-reading-pipeline-plugin:ReadContent (60): "kunne du fortælle en something-eventyr om something" (da-DK)
  • thalovant-skill-home.thalovant:home.state read as thalovant-skill-weather.thalovant:temperature.weather (45): "qué temperatura fa adentro" (an-ES)
  • thalovant-skill-home.thalovant:home.turn.off read as thalovant-skill-home.thalovant:home.state (45): "أوقف تشغيل النور في something" (ar-SA)
  • thalovant-skill-home.thalovant:home.turn.on read as thalovant-skill-home.thalovant:home.brightness (38): "upali svjetlo u something" (hr-HR)
  • thalovant-skill-home.thalovant:home.brightness read as thalovant-skill-home.thalovant:home.turn.on (37): "laita something valo kirkkaammalle" (fi-FI)
  • thalovant-skill-recall.thalovant:did.i.ask read as thalovant-skill-recall.thalovant:what.did.i.ask (36): "heb ik je al naar something gevraagd" (nl-NL)
  • thalovant-skill-home.thalovant:home.state read as thalovant-skill-home.thalovant:home.lock (35): "giriş qapısı kilidlidir mi" (az-AZ)
  • thalovant-skill-home.thalovant:home.cover.close read as thalovant-skill-home.thalovant:home.cover.open (34): "أنزل ستائر something" (ar-SA)
  • thalovant-skill-home.thalovant:home.state read as thalovant-skill-home.thalovant:home.cover.close (34): "ye zarrau o garaje" (an-ES)
  • thalovant-skill-recall.thalovant:what.was.the.last.topic read as thalovant-skill-source-scout.thalovant:source.scout (33): "आपने जो पिछला something सुनाई थी वह क्या था" (hi-IN)

Trained from the corpus built 2026-10-11T23:45:12Z covering 33 skills and sources, expanded by thalovant-skillkit 0.25.0.

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

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

GPU в ailist

Универсальный рантайм · model2vec · text-classification

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

Архитектура ? неизвестна transformers в образе рантайма.

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

0 моделей