Files
qwen2.5-1.5b-weather-intent…/README.md
ModelHub XC 15ae367f94 初始化项目,由ModelHub XC社区提供模型
Model: Nicholas55555/qwen2.5-1.5b-weather-intent-v2-merged
Source: Original Platform
2026-08-25 09:35:16 +08:00

49 lines
1.9 KiB
Markdown

---
license: apache-2.0
base_model: Qwen/Qwen2.5-1.5B-Instruct
tags:
- qwen2
- text-generation
- structured-output
- intent-parsing
- merged
pipeline_tag: text-generation
---
# qwen2.5-1.5b-weather-intent-v2-merged
Standalone **merged** model: `Qwen/Qwen2.5-1.5B-Instruct` + the weather-intent LoRA adapter,
merged to fp16 so it can be quantized to **GGUF** (llama.cpp / Ollama) or served
directly. Parses a natural-language weather question into a compact structured
intent (JSON).
- Adapter: [Nicholas55555/qwen2.5-1.5b-weather-intent-v2](https://huggingface.co/Nicholas55555/qwen2.5-1.5b-weather-intent-v2)
- Dataset: [Nicholas55555/weather-intent-v2](https://huggingface.co/datasets/Nicholas55555/weather-intent-v2)
## Results (held-out eval)
| metric | base | ft | ft_grammar |
|---|---|---|---|
| in-scope slot exact-match | 52.0% | 99.6% | 100.0% |
| OOS recall (rejects unanswerable) | 80.0% | 100.0% | 100.0% |
| FAR — false-accept / confabulation | 20.0% | 0.0% | 0.0% |
| FRR — false-reject | 20.9% | 0.4% | 0.0% |
| out-of-vocab errors | 30 | 1 | 0 |
Base = few-shot; fine-tuned = zero-shot. Greedy decoding, identical prompt.
## Usage
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("Nicholas55555/qwen2.5-1.5b-weather-intent-v2-merged")
model = AutoModelForCausalLM.from_pretrained("Nicholas55555/qwen2.5-1.5b-weather-intent-v2-merged", device_map="auto")
sys = "You extract structured intent from weather questions. Return ONLY a JSON object..."
msgs = [{"role": "system", "content": sys},
{"role": "user", "content": "will it rain in Paris this weekend?"}]
prompt = tok.apply_chat_template(msgs, tokenize=False, add_generation_prompt=True)
out = model.generate(**tok(prompt, return_tensors="pt").to(model.device), max_new_tokens=64)
print(tok.decode(out[0], skip_special_tokens=True))
```