初始化项目,由ModelHub XC社区提供模型
Model: Nicholas55555/qwen2.5-1.5b-weather-intent-merged Source: Original Platform
This commit is contained in:
47
README.md
Normal file
47
README.md
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
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-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](https://huggingface.co/Nicholas55555/qwen2.5-1.5b-weather-intent)
|
||||
- Dataset: [Nicholas55555/weather-intent](https://huggingface.co/datasets/Nicholas55555/weather-intent)
|
||||
|
||||
## Results (held-out eval)
|
||||
|
||||
| metric | base | finetuned |
|
||||
|---|---|---|
|
||||
| valid JSON | 100.0% | 100.0% |
|
||||
| exact match | 64.5% | 98.6% |
|
||||
| field accuracy | 90.7% | 99.7% |
|
||||
| slot F1 | 0.894 | 0.996 |
|
||||
|
||||
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-merged")
|
||||
model = AutoModelForCausalLM.from_pretrained("Nicholas55555/qwen2.5-1.5b-weather-intent-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))
|
||||
```
|
||||
Reference in New Issue
Block a user