Wex v0.1 — experimental decision core

Wex is the public project name. This release preserves the original SubLLM V21 semantic128 architecture and weights; internal source module names are unchanged.

An independently implemented small neural decision ranker for an agent's next tool choice, trained on 128 synthetic current-prefix examples. It returns a structured selection or abstention and uncalibrated probabilities. Research prototype: whole-task benefit and production suitability have not been demonstrated.

Dataset: Wex Agent Routing v1.

Architecture and ownership

The Wex decision core (originally SubLLM V21) and its training implementation are project code. The text feature provider is the pretrained, frozen intfloat/multilingual-e5-small encoder, pinned at 614241f622f53c4eeff9890bdc4f31cfecc418b3. The complete system is therefore not trained from scratch. E5 is neither fine-tuned nor included in this repository. The HF adapter relation describes this dependency; this is a custom NumPy ranker, not a PEFT adapter or a Transformers AutoModel checkpoint.

Exact bounded field strings are encoded as 384-dimensional normalized vectors using the query: prefix, masked mean pooling, CPU inference and right truncation at 512 tokens per string. Learned field/role projections and nonlinear relational scoring jointly rank applicable offered options and an abstain alternative. Applicability masks are enforced. The head accepts dynamic options, but current data validates only four repository inspection tools. Probabilities are uncalibrated_softmax.

This model does not generate text, synthesize tool arguments, execute tools or replace the main language model. Native request/response validation and retained-observation handling are included in the pinned source archive.

Quick start

Python 3.12+. Download the complete small release using the official Hub client, then run from its directory:

python -m pip install huggingface-hub==0.36.2
python -c "from huggingface_hub import snapshot_download; snapshot_download('sup2ch/wex-v0.1', local_dir='wex-v0.1')"
cd wex-v0.1
python -m pip install -r requirements.txt
python download_encoder.py --output e5
python run.py --encoder e5 --input examples.jsonl

config.json describes the native head, its pinned artifacts and external encoder; the local loader reads it and checks release identities. It is a custom Wex configuration, not a Transformers AutoModel configuration. Download the full release so that the loader receives the configuration and all required files.

Hugging Face uses requests to configuration files for its default download statistics. The counter is a server-side request-based estimate, not unique people or successful model runs. Downloading only semantic128.npz does not trigger the default config-based counter. See HF download-statistics documentation.

For a CPU-only Torch installation, use PyTorch's official CPU wheel index for Torch. download_encoder.py is an explicit separate step and downloads about 493 MB from the official E5 repository. run.py verifies pins and works with local files; it does not download models or execute selected tools.

run.py also accepts rows from the companion dataset's JSONL files. A request contains request_id, user_message/goal, offered options, applicability_mask, preferences and context with retained observations. examples.jsonl contains a TRAIN example. Output includes decision, selected_option_id, option_probabilities, abstain_probability and probability_kind.

Training and reproducibility

The released archive is the original reference semantic128, SHA256 645a82c68576b207723a21ee413edbc9e69980a41520cdcb475bf28455c94887. It was trained on all 128 TRAIN items, including two provisional HOLD labels, before validation labels entered scoring. Recipe: relational mode, seed101, L2=1e-4, full-batch L-BFGS, 500 objective/gradient evaluations, tolerance1e-5. Optimization stopped at the evaluation budget and did not converge. The original fit receipt and source/file hashes are preserved in evaluation.json and release_manifest.json. No weights were retrained for publication.

Optional TRAIN-only reproduction (not run automatically):

python train.py --encoder e5 --train /path/to/train.jsonl --output new_head.npz

Use only the companion dataset's TRAIN file. Floating-point/platform and input serialization differences can affect byte-identical reproduction; this public training entry point has not been retrained during release preparation.

Historical evaluation

Model / reference Validation64 Independent fresh64
Always abstain 41/64 (64.06%) 44/64 (68.75%)
Lexical128 earlier head 43/64 (67.19%) not scored here
Released semantic128 55/64 (85.94%) 54/64 (84.38%)
Later candidate384, rejected different experiment 44/64 (68.75%)

Fresh test false abstention: 5/20 (25%), above the original <=10% gate. Both reference and candidate failed that gate. The candidate comparison had zero new correct cases and ten losses. All test labels were committed before first paired scoring; labels were synthetic expert proxies, not human ground truth.

Validation participated in historical model comparison. Fresh test is a separate cohort now released publicly; it must not become training/selection feedback for claims of fresh independent evaluation. These metrics measure acceptable next choices at selected cuts, not complete tasks or successful LAH trajectories. We do not claim this improves a deployed agent. See evaluation.json for errors and original gates.

Resource scope

The small head archive is 174,317 bytes. This is not the size of the whole system: the frozen encoder/tokenizer package is 493,292,828 bytes (about470.4MiB), and Torch/Transformers and memory allocations are additional. Historical E5 fresh64 preprocessing peaked at approximately674MB working set and 1.93GB committed memory on the recorded machine; it is not a portable serving-RAM guarantee. Head-only cached scoring timings exclude E5 preprocessing and must not be advertised as complete end-to-end latency. No new performance benchmark was run for this release.

Limitations and next research questions

The data is small, synthetic and abstain-heavy. Teacher bias, provisional labels, bounded observations, truncation, overconfident softmax and excessive abstention remain material limitations. Generalization to new tools/languages/domains and whole-task utility require separate evaluation. Promising work includes more diverse independent worlds, human label review, stopping/continuation distinctions and a compact text component trained from scratch.

License

The project source, reference head and accompanying release files are MIT licensed. The external encoder is obtained separately and retains its upstream license. This project does not redistribute the E5 weights, interpreter environments, private trajectories, conversation records, credentials or unpublished sealed data.

Русское описание: своё экспериментальное нейронное ядро выбора действий с готовым замороженным E5-энкодером. Веса сохранены и проверены; полезность для полного выполнения задач пока не установлена.

Downloads last month
12
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for sup2ch/wex-v0.1

Adapter
(8)
this model

Dataset used to train sup2ch/wex-v0.1