---
license: apache-2.0
language:
- en
tags:
- bio-to-tags
- tag-generation
- qwen2.5
- text-generation
- personality
- interests
pipeline_tag: text-generation
library_name: transformers
---
---
# Bio2Tags 🏷️
**Transform any personal biography into a clean, structured set of tags.**
Bio2Tags is a fine‑tuned Qwen2.5‑3B model that extracts personality traits, interests, lifestyle descriptors, and values from unstructured text. Give it a sentence or a paragraph about a person, and it returns a concise list of descriptive tags — like a friend who actually reads your profile before setting you up.
(Qwen2.5‑3B is very near to Qwen3.5-4B and as there were no changes to give$)
## Example
```
Input: "I love hiking at dawn, painting watercolors, and deep conversations about philosophy. I'm a vegetarian and passionate about climate change."
Output: nature-lover, artist, intellectual, vegetarian, environmentalist
```
*(It won’t tell you if you’re undateable — that’s on you.)*
## Quick Start
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained(
"SpiceeChat/Bio2Tags-Qwen3.5-4B-SFT",
torch_dtype="auto",
device_map="auto",
trust_remote_code=True,
)
tokenizer = AutoTokenizer.from_pretrained("SpiceeChat/Bio2Tags-Qwen3.5-4B-SFT", trust_remote_code=True)
def get_tags(bio):
messages = [
{"role": "system", "content": "Extract tags from the following biography. Return only the tags, separated by commas, with no other text."},
{"role": "user", "content": bio},
]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=40, temperature=0.7, do_sample=True)
return tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True).strip()
print(get_tags("I enjoy cooking Italian food and playing jazz piano."))
# → cooking, musician, italian-cuisine, jazz, creative
```
## Installation
```bash
pip install transformers torch accelerate
```
> **Hardware:** Requires ~6 GB VRAM (FP16). Use `device_map="auto"` for multi‑GPU or CPU offloading.
## Model Details
| Detail | Value |
|--------|-------|
| **Base Model** | Qwen2.5‑3B‑Instruct |
| **Fine‑tuning Method** | QLoRA (4‑bit), rank‑16 |
| **Training Data** | 1,387 (bio, tags) pairs — lovingly crafted by a caffeinated Gemini |
| **Epochs** | 3 (because nobody likes an overtrained model, or an undercooked steak) |
| **Output Format** | Comma‑separated tags |
## Use Cases
- **Dating profiles:** Automatically tag user bios so they don’t have to awkwardly describe themselves.
- **Social media:** Generate hashtags that make you look deep and mysterious.
- **Recommender systems:** Build personality‑based matching — finally, an algorithm that understands “I like long walks on the beach.”
- **Content moderation:** Flag bios with specific attributes (or just make sure nobody calls themselves a “guru” unironically).
## Limitations
- The model was trained on English bios only. French poetry will confuse it.
- Tags are descriptive, not exhaustive — it captures the most salient traits, not your entire life story.
## License
Apache‑2.0
---
*Built for SpiceeChat 🔥 — BioTags*
>BUY US SOME COFFEE!