JOA Small v2: job-posting extraction model
Disclosure: Job Opportunities API (JOA, jobopportunitiesapi.org) is an independent data business that sells API access to job-posting data. AI helped run the experiments, check the numbers and draft this text; Loukas (Luca) Tzekos is editorially responsible. Contact: hello@jobopportunitiesapi.org.
Status (24 October 2026): weights released. This is a second-pass retrain of JOA Small, trained 10 to 18 October 2026 on the same recipe as the first release. The model was trained and evaluated, and the evaluation below is unchanged from 6 October 2026. The weights are in this repository under the JOA Model License (LICENSE.md): any use, including commercial, with visible credit and a link.
What it does
JOA Small reads the text of one job posting and returns 11 structured fields as JSON: title, company, location, salary currency, minimum, maximum and period, seniority, remote type, posted date, and whether the poster is a staffing agency. It leaves a field empty when the posting does not state it. It answers directly, without a long reasoning trace.
How it was made
- Base model: ibm-granite/granite-4.2-3b by IBM, licensed Apache 2.0.
- Method: LoRA adapter (rank 16), one epoch, 80,000 training examples.
- Training data: fields extracted by Qwen/Qwen3.5-27B (Apache 2.0) from job postings collected by Job Opportunities API (JOA), kept only when grounded in the posting text (for example, a title or salary that actually appears in it). The 250 arena listings and the 250 verification listings were excluded.
- Compute: This work used the EuroHPC supercomputer Discoverer+ in Bulgaria, made available by the EuroHPC Joint Undertaking through an AI Factories Playground access allocation (project EHPC-AIF-2026PG01-1124).
Results
These weights have not been re-graded on the extraction arena.
The v1 release of this model was graded on 250 real job listings against two judge models, and those numbers are published on the v1 card. They are claims about the v1 weights only. Until we run the arena again on this variant, its quality is genuinely unknown, and we will not put a number on it that we have not measured.
If you need a model with a published score today, use the v1 release. If you want to help us grade this one, the arena is open: https://huggingface.co/datasets/JobOpportunitiesAPI/joa-extraction-arena
Licence
The weights are licensed under the JOA Model License (LICENSE.md in this repository):
- You may use, modify, fine-tune, redistribute and sell JOA Small, including in commercial and hosted products.
- If you distribute it, or make a product or service that uses it available to others, show "Built with JOA Small v2 by Job Opportunities API" with a link to https://jobopportunitiesapi.org in your documentation, about page or user interface, and in the model card of any derivative.
- Keep the base model's Apache 2.0 licence and notices.
- Do not imply endorsement.
Attribution
JOA Small v2 is a fine-tune of ibm-granite/granite-4.2-3b by IBM, used under the Apache License 2.0. It is not made, endorsed or supported by IBM. Built by Job Opportunities API (JOA), https://jobopportunitiesapi.org.
Contact
- General: hello@jobopportunitiesapi.org
- Legal matters: luca@tzekos.eu
- Phone: +30 2311 113 603
- Job Opportunities API (JOA) is a sole proprietorship of Loukas Tzekos, Didaskalisis Papathanasiou Vas. 79, 54629 Thessaloniki, Greece. VAT EL117613696.
Model tree for JobOpportunitiesAPI/joa-small-v2
Base model
ibm-granite/granite-4.1-3b-base