Files
meeko-1-preview/README.md
ModelHub XC af12011553 初始化项目,由ModelHub XC社区提供模型
Model: tigerisaac/meeko-1-preview
Source: Original Platform
2026-07-25 12:21:11 +08:00

125 lines
3.4 KiB
Markdown

---
language:
- en
library_name: transformers
pipeline_tag: text-generation
license: other
base_model: LiquidAI/LFM2.5-1.2B-Instruct
tags:
- lfm2
- lfm2.5
- transcript-cleanup
- dictation
- text-editing
- unsloth
- gguf
- llama-cpp
---
# Meeko 1 Preview
<p align="center">
<img src="assets/meeko.jpeg" alt="Meeko the cat" width="520">
</p>
**Meeko 1 Preview** is a 1.2B-parameter transcript-cleanup model. It turns raw
speech-to-text output into concise written text with **no system prompt**.
The model is named after Meeko, the cat pictured above.
## What it does
Given a raw transcript as the user message, Meeko returns only the cleaned text.
Its target editing register is medium-touch written English:
- fix punctuation, capitalization, spacing, and grammar;
- remove speech fillers and stutters;
- expand casual forms such as “gonna” to “going to”;
- split run-on sentences when needed;
- format numbers, dates, times, money, percentages, symbols, and lists;
- resolve explicit self-corrections so the final value wins;
- preserve intent, facts, hedges, contrasts, identifiers, and all
non-retracted content.
It is an editor, not a general-purpose chat assistant. Do not add a system
prompt for the intended cleanup task.
## Quick start
```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "tigerisaac/meeko-1-preview"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.float16,
device_map="auto",
)
messages = [{
"role": "user",
"content": "um so i was gonna send it friday no wait monday morning",
}]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt",
).to(model.device)
with torch.inference_mode():
generated = model.generate(
inputs,
max_new_tokens=128,
do_sample=False,
)
new_tokens = generated[0, inputs.shape[-1]:]
print(tokenizer.decode(new_tokens, skip_special_tokens=True))
# I was going to send it Monday morning.
```
## GGUF (llama.cpp)
A pre-quantized **Q4_K_M** build is included for local inference:
- File: `meeko-1-preview-Q4_K_M.gguf`
- No system prompt; pass the raw transcript as the user message.
```bash
llama-server -m meeko-1-preview-Q4_K_M.gguf \
--host 127.0.0.1 --port 8080 \
--ctx-size 16384 --parallel 1 --reasoning off
```
## Training
- **Base model:** `LiquidAI/LFM2.5-1.2B-Instruct`
- **Method:** supervised fine-tuning with Unsloth
- **Epochs:** 2
- **Training format:** one raw transcript user message followed by one cleaned
assistant response; no system message
- **Corpus:** 11,438 curated cleanup pairs, assembled into 10,833 training and
570 validation examples after deduplication
- **Label target:** medium-touch written-English cleanup
The corpus includes ordinary dictation, fillers, stutters, number and symbol
formatting, listification, explicit retractions, and matched contrast/hedge
examples that must not be over-edited. Constructed number and retraction rows
use mechanically verified labels.
## License
This fine-tune is derived from `LiquidAI/LFM2.5-1.2B-Instruct` and is released
under the applicable upstream model terms. Review the
[base model repository](https://huggingface.co/LiquidAI/LFM2.5-1.2B-Instruct)
before use or redistribution.
## Acknowledgments
Built with Liquid AI's LFM2.5 base model and Unsloth. Named for Meeko, who
provided supervision of the non-gradient variety.