--- library_name: transformers pipeline_tag: text-generation base_model: - Qwen/Qwen3-8B --- # Qwen3-8B Fixed Model This repository is a fixed version of [yunmorning/broken-model](https://huggingface.co/yunmorning/broken-model). The original model could not be used to run a functional `/chat/completions` API server due to two critical issues. --- ## Changes Made ### Fix 1: Added `chat_template` to `tokenizer_config.json` **Before:** `chat_template` field did not exist **After:** Added official Qwen3 Jinja2 chat template **Why:** OpenAI-compatible API servers (vLLM, FriendliAI, etc.) rely on `chat_template` to convert the `messages` array into model input via `tokenizer.apply_chat_template()`. Without this field, the `/chat/completions` endpoint cannot format prompts and fails entirely. --- ### Fix 2: Corrected shard mapping in `model.safetensors.index.json` **Before:** Layer 7's `q_proj`, `k_proj`, `v_proj` pointed to wrong shard **After:** Corrected to the right shard | Tensor | Before | After | |--------|--------|-------| | `model.layers.7.self_attn.q_proj.weight` | `model-00001-of-00005.safetensors` | `model-00002-of-00005.safetensors` | | `model.layers.7.self_attn.k_proj.weight` | `model-00001-of-00005.safetensors` | `model-00002-of-00005.safetensors` | | `model.layers.7.self_attn.v_proj.weight` | `model-00001-of-00005.safetensors` | `model-00002-of-00005.safetensors` | **Why:** All other tensors in Layer 7 correctly point to `model-00002`. This mismatch causes a weight loading error at inference time since the tensors cannot be found in the referenced shard. --- ### Fix 3: Corrected `base_model` metadata in `README.md` **Before:** `base_model: meta-llama/Meta-Llama-3.1-8B` **After:** `base_model: Qwen/Qwen3-8B` **Why:** The actual weights (`lm_head.weight` shape `[151936, 4096]`) and config (`model_type: qwen3`, `architectures: Qwen3ForCausalLM`) confirm this is a Qwen3-8B model. LLaMA 3.1-8B has a vocab size of 128,256, which does not match. This is a metadata-only fix with no effect on inference. --- ## What Was NOT Changed | Item | Reason | |------|--------| | `config.json` | All architecture values match Qwen3-8B spec exactly | | `tokenizer_class: "Qwen2Tokenizer"` | Qwen3 intentionally reuses Qwen2Tokenizer (same BPE) | | `eos_token_id: [151645, 151643]` | Matches official Qwen3 generation config | --- ## Verification ```python from transformers import pipeline import torch pipe = pipeline( "text-generation", model="syj4205/broken-model-fixed", dtype=torch.bfloat16, device_map="auto", ) messages = [{"role": "user", "content": "Who are you?"}] result = pipe(messages, max_new_tokens=40) print(result[0]["generated_text"][-1]["content"]) ``` **Output:** ``` Okay, the user asked, "Who are you?" I need to respond in a friendly and informative way. Let me start by introducing my name, Qwen... I'm Qwen, a large language model developed by Alibaba Cloud. ```