Text Generation
Transformers
Safetensors
English
phi3
text-generation-inference
unsloth
mergekit
danbooru
image-captioning
tagging
phi-4
finetune
anime
conversational
custom_code
Instructions to use USS-Inferprise/Phi4-Mini-Prose2Tags-4B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use USS-Inferprise/Phi4-Mini-Prose2Tags-4B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="USS-Inferprise/Phi4-Mini-Prose2Tags-4B", trust_remote_code=True) messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("USS-Inferprise/Phi4-Mini-Prose2Tags-4B", trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained("USS-Inferprise/Phi4-Mini-Prose2Tags-4B", trust_remote_code=True) messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use USS-Inferprise/Phi4-Mini-Prose2Tags-4B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "USS-Inferprise/Phi4-Mini-Prose2Tags-4B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "USS-Inferprise/Phi4-Mini-Prose2Tags-4B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/USS-Inferprise/Phi4-Mini-Prose2Tags-4B
- SGLang
How to use USS-Inferprise/Phi4-Mini-Prose2Tags-4B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "USS-Inferprise/Phi4-Mini-Prose2Tags-4B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "USS-Inferprise/Phi4-Mini-Prose2Tags-4B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "USS-Inferprise/Phi4-Mini-Prose2Tags-4B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "USS-Inferprise/Phi4-Mini-Prose2Tags-4B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Unsloth Studio new
How to use USS-Inferprise/Phi4-Mini-Prose2Tags-4B with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for USS-Inferprise/Phi4-Mini-Prose2Tags-4B to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for USS-Inferprise/Phi4-Mini-Prose2Tags-4B to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for USS-Inferprise/Phi4-Mini-Prose2Tags-4B to start chatting
Load model with FastModel
pip install unsloth from unsloth import FastModel model, tokenizer = FastModel.from_pretrained( model_name="USS-Inferprise/Phi4-Mini-Prose2Tags-4B", max_seq_length=2048, ) - Docker Model Runner
How to use USS-Inferprise/Phi4-Mini-Prose2Tags-4B with Docker Model Runner:
docker model run hf.co/USS-Inferprise/Phi4-Mini-Prose2Tags-4B
File size: 3,133 Bytes
91cc806 0c1b348 91cc806 37619c9 5d9db6f 37619c9 91cc806 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | ---
license: mit
datasets:
- USS-Inferprise/Phi4-Mini-Prose2Tags-4B-Raw-Training-Data
language:
- en
base_model:
- huihui-ai/Phi-4-mini-instruct-abliterated
tags:
- text-generation-inference
- unsloth
- mergekit
- danbooru
- image-captioning
- tagging
- phi-4
- finetune
- anime
pipeline_tag: text-generation
library_name: transformers
---
# Phi4-Mini-Prose2Tags-4B
This model is a specialized fine-tune designed to translate natural language prose descriptions into structured **Danbooru-style tags**. It is intended to bridge the gap between human-readable image captions and the tag-based prompting systems used by many latent diffusion models.
## Model Details
- **Developed by:** USS-Inferprise
- **Model Name:** Phi4-Mini-Prose2Tags-4B
- **Base Model:** [huihui-ai/Phi-4-mini-instruct-abliterated](https://huggingface.co/huihui-ai/Phi-4-mini-instruct-abliterated)
- **Training Architecture:** LoRA (Low-Rank Adaptation)
- **Merging Method:** Linear Merge (via Mergekit)
- **Primary Task:** Prose-to-Tag Translation
## Training Methodology
### Dataset Construction
The training data ([USS-Inferprise/Phi4-Mini-Prose2Tags-4B-Raw-Training-Data](https://huggingface.co/datasets/USS-Inferprise/Phi4-Mini-Prose2Tags-4B-Raw-Training-Data)) was generated using a synthetic pipeline:
1. **Source Images:** 100,000 images sourced from `laion/conceptual-captions-12m-webdataset`.
2. **Prose Generation:** Images were described using **QwenVL**.
3. **Tag Generation:** Images were tagged using **WD 1.3**.
4. **Pairing:** The resulting QwenVL descriptions and WD 1.3 tags were paired to create the final training instruction set.
## ⚠️ Safety & Content Note
> [!IMPORTANT]
> This model was trained exclusively on a curated subset of data intended for general audiences. **No explicit, NSFW, or adult-oriented tags** were included in the training dataset (`Prose2Tags-4B-Raw-Training-Data`).
>
> While the base model (`Phi-4-mini-instruct-abliterated`) has been modified to reduce certain refusals, this specific fine-tune is designed for clean, descriptive tagging. It may not recognize or accurately generate tags related to explicit content. If it can... it didn't learn it from us.
### Training Process
- **Library:** [Unsloth](https://github.com/unslothai/unsloth)
- **Hardware:** NVIDIA L40S
- **Epochs:** 1
- **Method:** LoRA fine-tuning merged into the base model using a Linear merge strategy.
## Evaluation & Testing
Testing was performed on 100 images excluded from the training set. To ensure the model generalizes well across different captioning styles, the test inputs used **gokaygokay/Florence-2-SD3-Captioner** instead of the training-source QwenVL.
Detailed test outputs can be found here: [USS-Inferprise/Phi4-Mini-P2T-4B-Testing](https://huggingface.co/datasets/USS-Inferprise/Phi4-Mini-P2T-4B-Testing).
## Proper Prompt Format
**Warning:** You must strictly follow the prompt format below. Failure to do so may result in the model reverting to the standard Phi-4-Mini helpful persona rather than generating tags.
```text
<|user|>
You are a Danbooru tag translator.
{prose_input}<|end|>
<|assistant|> |