Instructions to use Okyanus/pomona-tomato-risk-reasoner-v0.1.7-lora with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use Okyanus/pomona-tomato-risk-reasoner-v0.1.7-lora with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-0.5B-Instruct") model = PeftModel.from_pretrained(base_model, "Okyanus/pomona-tomato-risk-reasoner-v0.1.7-lora") - Notebooks
- Google Colab
- Kaggle
Pomona Tomato Risk Reasoner v0.1.7 LoRA
This is Pomona's first compact tomato greenhouse risk-label reasoner. It is a LoRA adapter trained for a narrow task:
Pomona tomato greenhouse sensor JSON -> JSON list of risk labels
It is not a general chat model and it is not safe as a standalone controller. Use it with Pomona's deterministic tomato safety/rule checker.
Pomona Ecosystem
- Platform and deterministic rules: okyanu/pomona
- Water/irrigation specialist: Okyanus/pomona-water-irrigation-risk-reasoner-v0.1.8-lora
- Actuator-gate research preview: Okyanus/pomona-actuator-command-gate-reasoner-v0.1-lora
- Agronomist assistant: Okyanus/ai-pomona-agronomist-gemma4
- Public greenhouse sensor dataset: Okyanus/greenhouse-sensor-data
Motivation: Small Verifiable Reasoners
This model is part of Pomona's small-model factory experiment: instead of relying on one large general-purpose LLM for every agriculture task, Pomona trains compact specialists for narrow, verifiable jobs and wraps them with deterministic safety logic.
This direction is inspired by recent small-reasoner work such as:
- VibeThinker-1.5B: Tiny Model, Big Logic
- VibeThinker-3B: Exploring the Frontier of Verifiable Reasoning in Small Language Models
Pomona does not use VibeThinker code, weights, or training data. The connection is conceptual: VibeThinker-style work suggests that small models can become useful when the task is narrow, the output is verifiable, and evaluation is strict. Pomona applies that idea to agriculture by pairing a small LoRA reasoner with deterministic tomato safety rules.
In this release, the small model handles the learned risk-label classification behavior, while Pomona's rule checker enforces hard thresholds for missing data, impossible sensor values, water risk, fungal pressure, and actuator conflicts.
Base Model
- Base:
Qwen/Qwen2.5-0.5B-Instruct - Adapter type: PEFT LoRA
- Output format: JSON list of risk labels
Allowed Labels
[
"high_ph",
"low_ph",
"high_ec",
"low_ec",
"heat_stress",
"cold_stress",
"fungal_pressure",
"nutrient_uptake_issue",
"sensor_anomaly",
"missing_critical_data",
"water_level_risk",
"actuator_conflict"
]
Recommended Use
sensor input
-> v0.1.7 adapter predicts risk labels
-> Pomona deterministic rule checker validates/corrects labels
-> guarded hybrid output is used by API/dashboard
Do not use this adapter for direct pesticide dosage, autonomous fertigation changes, direct actuator control, definitive disease diagnosis, or unsafe chemical recommendations.
Example Input
{
"system_type": "controlled_greenhouse",
"crop": "tomato",
"growth_stage": "flowering",
"air_temperature_c": 24.0,
"humidity_pct": 89.0,
"co2_ppm": 600,
"light_ppfd": 350,
"ph": 6.2,
"ec_ms_cm": 2.4,
"water_temperature_c": 21.0,
"substrate_temperature_c": 23.0,
"substrate_moisture_pct": 45.0,
"actuator_states": {
"screen_energy_pct": 90
},
"symptoms": []
}
Expected guarded Pomona output:
["fungal_pressure", "actuator_conflict"]
Local Pomona Usage
Clone the platform and run the guarded route end to end — no extra dependencies, no private files required:
git clone https://github.com/Okyanus/pomona.git
cd pomona
cp .env.example .env
./scripts/up.sh
python3 examples/tomato_risk_quickstart.py
Runtime status: local Ollama inference for this adapter is wired into
the platform (schema-constrained JSON decoding via format in the Ollama
/api/chat request, so the model can only emit valid label lists), but it
is off by default (REASONER_BACKEND=rules). Enable it with
REASONER_BACKEND=ollama once pomona-tomato-risk:v0.1.7-local is built
and running locally — see
docs/LOCAL_MODEL_RUNTIMES.md
in the platform repo. Even with it enabled, hybrid_guarded mode validates
the model's output but keeps the deterministic rules as the final decision;
only model_only (evaluation) mode surfaces raw model output, currently at
0.60 label F1 on the 15-case golden smoke suite — well below the rules'
1.0, which is why the guardrail stays authoritative.
Evaluation Snapshot
Best standalone adapter from the local iteration:
v0.1.7 staged risk F1: 0.924 on its original staged test
v0.1.7 golden risk F1: 0.667
Hybrid guarded evaluation with Pomona deterministic tomato rules:
golden eval:
model-only risk F1: 0.667
hybrid risk F1: 1.000
corrections: 5 / 15
v0.1.7 staged test:
model-only risk F1: 0.902
hybrid risk F1: 1.000
corrections: 59 / 473
The hybrid score is measured on a rule-derived eval set, so it should be interpreted as a guardrail integration check, not as an independent real-world agronomy benchmark. Future releases should add human-reviewed field cases.
Limitations
- Narrow tomato greenhouse risk-label classifier only.
- Not a chat model.
- Threshold reasoning is imperfect without Pomona guardrails.
- Does not replace agronomist review.
- Does not authorize autonomous actuator or chemical actions.
Intended Role In Pomona
This adapter is one small specialist in the Pomona small-model factory:
small task model + deterministic safety rules = practical local AI component
The platform repository keeps code, schemas, docs, and rule logic. Hugging Face stores model adapter weights.
Citation / References
If you discuss the design motivation, cite the VibeThinker papers as related small-reasoner inspiration, not as the source of this model:
@article{xu2025vibethinker15b,
title = {Tiny Model, Big Logic: Diversity-Driven Optimization Elicits Large-Model Reasoning Ability in VibeThinker-1.5B},
author = {Xu, Sen and Zhou, Yi and Wang, Wei and Min, Jixin and Yin, Zhibin and Dai, Yingwei and Liu, Shixi and Pang, Lianyu and Chen, Yirong and Zhang, Junlin},
journal = {arXiv preprint arXiv:2511.06221},
year = {2025}
}
@article{xu2026vibethinker3b,
title = {VibeThinker-3B: Exploring the Frontier of Verifiable Reasoning in Small Language Models},
author = {Xu, Sen and Liu, Shixi and Wang, Wei and Min, Jixin and Dai, Yingwei and Yin, Zhibin and Chen, Yirong and Zhou, Xin and Zhang, Junlin},
journal = {arXiv preprint arXiv:2606.16140},
year = {2026}
}
- Downloads last month
- 39