| --- |
| license: apache-2.0 |
| base_model: Qwen/Qwen2.5-Coder-3B-Instruct |
| tags: |
| - frontend-engineering |
| - education |
| - lora |
| - qwen2.5-coder |
| --- |
| |
| # CraftD Frontend Engineering Teacher |
|
|
| A LoRA fine-tune of [`Qwen/Qwen2.5-Coder-3B-Instruct`](https://huggingface.co/Qwen/Qwen2.5-Coder-3B-Instruct), trained to explain frontend engineering concepts (JavaScript, React, HTML, CSS) in a clear, teacher-style voice. |
|
|
| ## Training data |
|
|
| - Scraped React documentation pages |
| - Scraped React source files (from the `facebook/react` GitHub repository) |
| - A frontend-filtered subset of `HuggingFaceFW/fineweb-edu` |
|
|
| ## Usage |
|
|
| ```python |
| from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline |
| |
| model = AutoModelForCausalLM.from_pretrained("logorexen/craftd_frontend_engineer") |
| tokenizer = AutoTokenizer.from_pretrained("logorexen/craftd_frontend_engineer") |
| |
| messages = [ |
| {"role": "system", "content": "You are a professional Frontend Engineering Teacher."}, |
| {"role": "user", "content": "Explain why we use React keys when rendering lists."}, |
| ] |
| prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) |
| |
| pipe = pipeline("text-generation", model=model, tokenizer=tokenizer, max_new_tokens=400) |
| print(pipe(prompt)[0]["generated_text"]) |
| ``` |
|
|