|
Download README.md from OpenTARS/Murph: direct link, hf CLI and curl.
- Browser
- Download file 2.4 kB
-
https://huggingface.co/OpenTARS/Murph/resolve/main/README.md
- Command line
-
hf download hf://OpenTARS/Murph/README.md
-
curl -L -o README.md https://huggingface.co/OpenTARS/Murph/resolve/main/README.md
2.4 kB
| license: mit | |
| library_name: other | |
| pipeline_tag: text-classification | |
| tags: | |
| - text-classification | |
| - intent-detection | |
| - router | |
| - multilingual | |
| - cpu | |
| language: | |
| - pt | |
| - en | |
| # Murph | |
| Murph is the small request classifier built into [openTARS](https://project-opentars.github.io/OpenTARS/). For each request it decides the **kind of task**, so the app can pick the right model and tools before any language model runs. | |
| It is not a language model. It is a softmax logistic regression over word pieces (2 to 5 letters), words and word pairs, with TF-IDF weights. It runs in plain Python on the CPU in about 0.2 ms per request, uses no GPU, and the whole model is one JSON file of about 4 MB. | |
| ## Classes | |
| | Class | Meaning | | |
| |---|---| | |
| | `visao` | needs to look at the screen ("what is on this screen?") | | |
| | `codigo` | writing or fixing code | | |
| | `tecnico` | technical or system questions | | |
| | `acao` | do something on the computer (open a program, create a folder) | | |
| | `busca` | search the web | | |
| | `simples` | greetings and simple chat | | |
| | `geral` | everything else | | |
| ## Files | |
| - `murph.json`: the trained model (SHA-256 `f1752425196a67c4baa28de5f6564a8dbccb6d41d12f44a0d0459a888c078f45`). | |
| - `tars_murph.py`: the loader and classifier. It uses only the Python standard library. | |
| ## Use | |
| ```python | |
| import tars_murph | |
| murph = tars_murph.Murph.carregar("murph.json") | |
| tarefa, confianca = murph.classificar("abre a calculadora") | |
| print(tarefa, round(confianca, 2)) # acao 0.98 | |
| ``` | |
| The model also stores a confidence threshold and a coverage minimum, so the app can fall back to another method when the request is unlike anything it saw in training. | |
| ## Training and results | |
| - Trained on 3,034 request phrases in five languages: examples from the openTARS project plus phrases written by a larger model. Phrases similar to the evaluation phrases were removed from training. | |
| - Cross-validation accuracy stored in the file: 88.9%. | |
| - openTARS evaluation sets, measured on 18 October 2026: 170 of 175 across languages and 85 of 86 on the check set. The evaluation phrases were seen during development, so treat these as a sanity check, not as a benchmark. | |
| ## Limits | |
| - Five languages only, and short requests work best. | |
| - It picks one class per request. A request that mixes two tasks gets the more likely one. | |
| - The class names are Portuguese because they come from the app code. | |
| License: MIT. | |