Text Generation
Transformers
Safetensors
English
qwen2
qlora
lora
fine-tuned
qwen2.5
conversational
text-generation-inference
Instructions to use brucoder/winter-frost-2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use brucoder/winter-frost-2 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="brucoder/winter-frost-2") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("brucoder/winter-frost-2") model = AutoModelForCausalLM.from_pretrained("brucoder/winter-frost-2", device_map="auto") 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=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use brucoder/winter-frost-2 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "brucoder/winter-frost-2" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "brucoder/winter-frost-2", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/brucoder/winter-frost-2
- SGLang
How to use brucoder/winter-frost-2 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 "brucoder/winter-frost-2" \ --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": "brucoder/winter-frost-2", "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 "brucoder/winter-frost-2" \ --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": "brucoder/winter-frost-2", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use brucoder/winter-frost-2 with Docker Model Runner:
docker model run hf.co/brucoder/winter-frost-2
|
Download README.md from brucoder/winter-frost-2: direct link, hf CLI and curl.
- Browser
- Download file 5.54 kB
-
https://huggingface.co/brucoder/winter-frost-2/resolve/main/README.md
- Command line
-
hf download hf://brucoder/winter-frost-2/README.md
-
curl -L -o README.md https://huggingface.co/brucoder/winter-frost-2/resolve/main/README.md
5.54 kB
| base_model: Qwen/Qwen2.5-7B-Instruct | |
| language: | |
| - en | |
| library_name: transformers | |
| pipeline_tag: text-generation | |
| tags: | |
| - qlora | |
| - lora | |
| - fine-tuned | |
| - qwen2.5 | |
| # winter-frost-2 | |
| A fine-tune of [Qwen/Qwen2.5-7B-Instruct](https://huggingface.co/Qwen/Qwen2.5-7B-Instruct), created by INEZA AIME BRUNO (brucoder). This is a standalone, merged checkpoint — the LoRA adapter has already been folded into the base model's weights, so it loads and runs like any other model, no adapter-loading step required. | |
| ## Quickstart | |
| ```python | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| import torch | |
| tokenizer = AutoTokenizer.from_pretrained("brucoder/winter-frost-2") | |
| model = AutoModelForCausalLM.from_pretrained( | |
| "brucoder/winter-frost-2", | |
| torch_dtype=torch.float16, | |
| device_map="auto", | |
| ) | |
| messages = [ | |
| {"role": "system", "content": "You are a helpful assistant."}, | |
| {"role": "user", "content": "Who made you?"}, | |
| ] | |
| inputs = tokenizer.apply_chat_template( | |
| messages, tokenize=True, add_generation_prompt=True, | |
| return_tensors="pt", return_dict=True | |
| ).to(model.device) | |
| output = model.generate(**inputs, max_new_tokens=200, do_sample=True, temperature=0.7, top_p=0.9, pad_token_id=tokenizer.eos_token_id) | |
| print(tokenizer.decode(output[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)) | |
| ``` | |
| ## Run it | |
| ### Google Colab (free GPU) | |
| Paste into one cell: | |
| ```python | |
| !pip install -q -U transformers accelerate bitsandbytes | |
| from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig | |
| import torch | |
| bnb_config = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_quant_type="nf4", | |
| bnb_4bit_compute_dtype=torch.float16, bnb_4bit_use_double_quant=True) | |
| tokenizer = AutoTokenizer.from_pretrained("brucoder/winter-frost-2") | |
| model = AutoModelForCausalLM.from_pretrained("brucoder/winter-frost-2", | |
| quantization_config=bnb_config, device_map="auto") | |
| conversation = [{"role": "system", "content": "You are a helpful assistant."}] | |
| print("Model loaded. Chat with winter-frost-2 (type 'quit' to stop).\n") | |
| while True: | |
| user_input = input("You: ") | |
| if user_input.strip().lower() in ("quit", "exit"): | |
| break | |
| conversation.append({"role": "user", "content": user_input}) | |
| inputs = tokenizer.apply_chat_template(conversation, tokenize=True, add_generation_prompt=True, | |
| return_tensors="pt", return_dict=True).to(model.device) | |
| output = model.generate(**inputs, max_new_tokens=300, do_sample=True, temperature=0.7, | |
| top_p=0.9, pad_token_id=tokenizer.eos_token_id) | |
| response = tokenizer.decode(output[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True) | |
| print(f"winter-frost-2: {response}\n") | |
| conversation.append({"role": "assistant", "content": response}) | |
| ``` | |
| ### Local machine | |
| Requires Python 3.9+. A GPU with 16GB+ VRAM keeps this fast; it will also run on CPU, just slowly. First run downloads ~15GB of weights (cached after that): | |
| ```bash | |
| pip install -q -U transformers accelerate torch | |
| python3 -c " | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| import torch | |
| tokenizer = AutoTokenizer.from_pretrained('brucoder/winter-frost-2') | |
| model = AutoModelForCausalLM.from_pretrained('brucoder/winter-frost-2', torch_dtype=torch.float16, device_map='auto') | |
| conversation = [{'role': 'system', 'content': 'You are a helpful assistant.'}] | |
| print('Model loaded. Chat with winter-frost-2 (type quit to stop).') | |
| while True: | |
| user_input = input('You: ') | |
| if user_input.strip().lower() in ('quit', 'exit'): | |
| break | |
| conversation.append({'role': 'user', 'content': user_input}) | |
| inputs = tokenizer.apply_chat_template(conversation, tokenize=True, add_generation_prompt=True, return_tensors='pt', return_dict=True).to(model.device) | |
| output = model.generate(**inputs, max_new_tokens=300, do_sample=True, temperature=0.7, top_p=0.9, pad_token_id=tokenizer.eos_token_id) | |
| response = tokenizer.decode(output[0][inputs['input_ids'].shape[1]:], skip_special_tokens=True) | |
| print('winter-frost-2:', response) | |
| conversation.append({'role': 'assistant', 'content': response}) | |
| " | |
| ``` | |
| ## What this is | |
| - **Base model:** Qwen/Qwen2.5-7B-Instruct | |
| - **Fine-tuning method:** QLoRA (4-bit NF4 quantized base, fp16 compute, LoRA r=16, alpha=32) on a single T4 GPU | |
| - **Target modules:** q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj | |
| - **Training data:** ~690 examples — 300 general instructions from [HuggingFaceH4/no_robots](https://huggingface.co/datasets/HuggingFaceH4/no_robots), 300 Python coding examples from [iamtarun/python_code_instructions_18k_alpaca](https://huggingface.co/datasets/iamtarun/python_code_instructions_18k_alpaca), and 90 custom identity examples | |
| - **Training length:** 3 epochs, 132 steps, ~45 minutes | |
| ## What this is not | |
| Not a new architecture and not trained from scratch. With ~690 training examples, this reliably shifts small, well-defined behaviors (like stating who created it) but should not be expected to meaningfully change general reasoning, coding ability, or knowledge compared to the base model. | |
| ## Adapter-only version | |
| If you'd rather load the LoRA adapter separately on top of the base model instead of this merged version, it's available at [brucoder/winter-frost-2-adapter](https://huggingface.co/brucoder/winter-frost-2-adapter). | |
| ## Creator | |
| INEZA AIME BRUNO (brucoder) | |
| Instagram: [iabru.ceo](https://instagram.com/iabru.ceo) |