Instructions to use thalovant/thalovant-m2v-intents with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Model2Vec
How to use thalovant/thalovant-m2v-intents with Model2Vec:
from model2vec import StaticModel model = StaticModel.from_pretrained("thalovant/thalovant-m2v-intents") - Notebooks
- Google Colab
- Kaggle
thalovant/thalovant-m2v-intents
A static-embedding intent classifier for the Thalovant hub. It maps an
utterance to one of 134 labels of the form <skill_id>:<intent>,
exactly as ovos-m2v-pipeline registers them, and it knows only the
Thalovant skills: every label comes from the fleet corpus and nothing else.
Base: Jarbas/m2v-256-distiluse-base-multilingual-cased-v2, fine-tuned with model2vec's classifier trainer. Held-out accuracy 0.8959 over 14571 rows across 65 languages.
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 accuracy per language
| Language | Rows | Accuracy |
|---|---|---|
an-ES |
201 | 0.9701 |
ar-SA |
190 | 0.7474 |
ast-ES |
213 | 0.9061 |
az-AZ |
217 | 0.7834 |
bg-BG |
187 | 0.8824 |
ca-ES |
220 | 0.9364 |
cs-CZ |
243 | 0.8230 |
da-DK |
228 | 0.8596 |
de-AT |
243 | 0.9877 |
de-CH |
229 | 0.9913 |
de-DE |
227 | 0.9956 |
el-GR |
174 | 0.7701 |
en-AU |
264 | 1.0000 |
en-CA |
296 | 1.0000 |
en-GB |
303 | 1.0000 |
en-NZ |
303 | 0.9967 |
en-US |
301 | 0.9967 |
es-AR |
246 | 0.9959 |
es-CO |
224 | 1.0000 |
es-ES |
227 | 1.0000 |
es-MX |
226 | 0.9867 |
es-US |
229 | 0.9956 |
et-EE |
193 | 0.7202 |
eu-ES |
232 | 0.7457 |
fa-IR |
220 | 0.7318 |
fi-FI |
208 | 0.6731 |
fr-BE |
249 | 1.0000 |
fr-CA |
272 | 0.9926 |
fr-CH |
257 | 0.9961 |
fr-FR |
247 | 0.9919 |
gl-ES |
219 | 0.9589 |
he-IL |
217 | 0.7788 |
hi-IN |
195 | 0.8051 |
hr-HR |
194 | 0.8402 |
hu-HU |
217 | 0.7465 |
id-ID |
176 | 0.9489 |
it-IT |
234 | 0.8632 |
ja-JP |
195 | 0.7590 |
ko-KR |
219 | 0.7580 |
lt-LT |
195 | 0.7231 |
lv-LV |
213 | 0.6995 |
ms-MY |
210 | 0.9095 |
nb-NO |
196 | 0.9082 |
nl-BE |
227 | 0.9736 |
nl-NL |
224 | 0.9732 |
oc-FR |
196 | 0.8673 |
pl-PL |
232 | 0.8319 |
pt-AO |
227 | 0.9868 |
pt-BR |
236 | 0.9915 |
pt-MZ |
234 | 0.9915 |
pt-PT |
216 | 0.9954 |
ro-RO |
210 | 0.8048 |
ru-RU |
225 | 0.8400 |
sk-SK |
197 | 0.8071 |
sl-SI |
208 | 0.8269 |
sv-FI |
212 | 0.9764 |
sv-SE |
189 | 0.9577 |
sw-KE |
204 | 0.8088 |
th-TH |
196 | 0.5612 |
tr-TR |
214 | 0.7804 |
uk-UA |
200 | 0.8450 |
vi-VN |
184 | 0.8207 |
zh-CN |
208 | 0.9712 |
zh-SG |
198 | 0.9848 |
zh-TW |
385 | 0.9584 |
What the classifier confuses
Each line is a sentence whose true intent the classifier read as another intent. Two skills on one line is a collision the fleet should resolve.
thalovant-skill-date-time.thalovant:days.untilread asthalovant-skill-date-time.thalovant:holiday.when(18): "วันกองทัพแคนาดาเมื่อไหร่" (th-TH)thalovant-skill-joke-garden.thalovant:party.hostread asthalovant-skill-rewrite-forge.thalovant:rewrite.forge(16): "raste bursdag personen men hold det hyggelig" (nb-NO)thalovant-skill-news.thalovant:global.newsread asthalovant-skill-news.thalovant:news(16): "เล่นข่าวโลกล่าสุด" (th-TH)thalovant-skill-news.thalovant:newsread asthalovant-skill-news.thalovant:global.news(13): "prikaži najnovije svjetske vijesti" (hr-HR)thalovant-skill-interaction-modes.thalovant:party.mode.disableread asthalovant-skill-interaction-modes.thalovant:party.mode.enable(12): "esti tipu de fiesta" (ast-ES)thalovant-skill-joke-garden.thalovant:joke.gardenread asthalovant-skill-joke-garden.thalovant:party.host(12): "วิ่งเรื่องเล็กๆ" (th-TH)thalovant-skill-safety-guide.thalovant:safety.guideread asthalovant-skill-guide.thalovant:TroubleshootThalovant(10): "kako zaustaviti rez od krvarenja" (hr-HR)thalovant-skill-source-scout.thalovant:source.scoutread asthalovant-skill-rewrite-forge.thalovant:rewrite.forge(10): "יחידות הפוך" (he-IL)thalovant-skill-weather.thalovant:snow.weatherread asthalovant-skill-weather.thalovant:condition.weather(10): "風會發生嗎?" (zh-TW)thalovant-skill-interaction-modes.thalovant:party.mode.enableread asthalovant-skill-interaction-modes.thalovant:party.mode.disable(9): "chuyển sang chế độ bữa tiệc" (vi-VN)thalovant-skill-safety-guide.thalovant:safety.guideread asthalovant-skill-source-scout.thalovant:source.scout(9): "jaké zdroje mám zkontrolovat?" (cs-CZ)thalovant-skill-weather.thalovant:condition.weatherread asthalovant-skill-weather.thalovant:current.weather(9): "hva er forholdene utenfor" (nb-NO)thalovant-skill-guide.thalovant:TroubleshootThalovantread asthalovant-skill-guide.thalovant:FirstSetup(8): "cum să rezolv thalovant" (ro-RO)thalovant-skill-language-buddy.thalovant:language.buddyread asthalovant-skill-rewrite-forge.thalovant:rewrite.forge(8): "このホテルメッセージをスペイン語に翻訳してください" (ja-JP)thalovant-skill-timer.thalovant:timer.pauseread asthalovant-skill-timer.thalovant:timer.cancel(8): "dừng bộ đếm thời gian" (vi-VN)
Trained from the corpus built 2026-09-24T03:38:31Z covering 21 skills.
- Downloads last month
- 1,197