/ Модель

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

Лицензия
MIT
Библиотека
mlx
Опубликована
5 окт 2026

irex

Генерация текстаТекст → текст

irex преобразует англоязычные описания шаблонов в регулярные выражения JavaScript среднего уровня.

298скачиваний за 30 дней0лайковвеса обновлены5 окт 2026

Бенчмарки

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

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

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

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

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

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

irex — компактная модель ntedvs для преобразования описаний на английском языке в регулярные выражения для JavaScript. Модель содержит 2,6 млн параметров и представляет собой обученный с нуля декодерный трансформер на базе MLX: 4 слоя, 4 головы внимания, RMSNorm, RoPE и SwiGLU. Предобученных компонентов нет.

Модель подходит для генерации регулярных выражений среднего уровня по кратким запросам, например для проверки формата строки или поиска простых шаблонов. Она обучалась на парах «английский запрос — regex»; результат выбирается beam search с повторной оценкой компиляции и соответствия примерам. На отложенном тесте поведенческое совпадение составило 67,9%, точное совпадение строк regex — 39,3%; тестовые regex не пересекались с обучающими.

Поддерживаются литералы, классы символов, распространённые сокращения вроде \d и \w, квантификаторы, группы, альтернативы, якоря и флаг i. Lookaround, обратные ссылки, именованные группы, Unicode-классы \p{} и другие флаги не поддерживаются. Модель требует Apple Silicon и MLX. Лицензия — MIT.

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

  • генерация regex для проверки шестнадцатеричного цвета
  • создание шаблона проверки формата пароля
  • составление regex для поиска строк по описанию на английском
  • подготовка шаблонов для проверки начала, конца или содержимого строки

Ограничения

Слабее справляется с числовыми диапазонами, MAC-адресами и полными UUID; при неоднозначных запросах может угадать неверные якоря или буквально перенести слова запроса в regex. Поведенческое совпадение на тесте проверялось на выборочных строках и не гарантирует эквивалентность, поэтому результат следует проверять.

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

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

Открыть на Hugging Face

irex

English in, JavaScript regex out. A 2.6M-parameter transformer trained from random weights, with no pretrained components.

$ python infer.py "a hex color code like #fff or #a1b2c3"
/^#(?:[0-9a-fA-F]{3}){1,2}$/

Usage

Requires Apple Silicon (MLX).

hf download ntedvs/irex --local-dir irex && cd irex
pip install -r requirements.txt

python infer.py "iso date like 2024-01-31"      # /^\d{4}-\d{2}-\d{2}$/
python infer.py -k 5 "an email address"         # top 5 candidates
python infer.py                                 # interactive

This is a custom MLX model. It does not load with transformers.

Model

  • Parameters: 2.6M (d192, 4 layers, 4 heads)
  • Architecture: decoder-only, RMSNorm, RoPE, SwiGLU, tied embeddings
  • Tokenizer: BPE (4096) trained from scratch for the English, one token per digit; raw bytes for the regex
  • Decoding: beam search (8), reranked by: compiles, matches example strings in the request, in scope
  • Training: 60k steps, batch 128, about 9 passes over the data, 40 minutes on an M4 Pro

Scope

JS regex at an intermediate level: literals, ., classes, \d \w \s \b and negations, quantifiers (including lazy), groups, |, ^ $, and the i flag. No lookarounds, backrefs, named groups, \p{}, or other flags.

Training data

About 815k English-to-regex pairs:

  • Regexes: 159k, sampled from a grammar plus realistic templates. Each is labeled with matching and non-matching strings using real JS semantics (QuickJS).
  • English: generated by DeepSeek-V4.1-Flash in five styles: casual, terse, precise, purpose, sloppy. Plus short everyday requests.
  • Rule-based: 60k everyday pairs: passwords, lengths, starts/ends/contains, and similar.

The split is by regex, so test regexes never appear in training.

Results

EvalScore
Held-out test, 15,058 pairs, behavioral match67.9%
Same, exact string match39.3%
Compiles100%
Everyday bench A (40 requests)82.5%
Everyday bench B (20 requests, never tuned on)65%

Behavioral match means the output accepts and rejects the same strings as the reference regex. It's checked on sampled strings, so it isn't a proof of equivalence.

By style: precise 90%, casual 79%, terse 66%, sloppy 62%, short 57%, purpose 47%. Most misses come from underspecified requests. For example, "zip code" doesn't say whether to allow +4, and many requests don't say whether to match the whole string or anywhere in it.

Larger models (5.9M, 12M, 28M) trained on the same data scored the same. The data is the limit, not the model size.

Limitations

  • Weak on numeric ranges (years 1900 to 2099), MAC addresses, and full UUIDs.
  • Anchoring is often a guess when the request doesn't specify it.
  • Can copy request words literally. For example, "password" may become pass.
  • Always test the output before using it.

License

MIT. Training text was generated with the DeepSeek API, whose terms assign outputs to the user and permit training other models on them.

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

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

GPU в ailist

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

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

MLX-модели работают только на Apple Silicon.

Ревизия весов
7f13220

0 моделей