| | --- |
| | license: other |
| | library_name: peft |
| | language: |
| | - en |
| | tags: |
| | - dungeons-and-dragons |
| | - rpg |
| | - lora |
| | - peft |
| | - text-generation |
| | - dnd |
| | base_model: deepseek-ai/DeepSeek-R1-Distill-Qwen-7B |
| | pipeline_tag: text-generation |
| | inference: true |
| | widget: |
| | - text: "You are a Dungeons & Dragons assistant. Create a D&D character with the following details: Race: Half-Elf, Class: Bard, Background: Entertainer." |
| | example_title: "D&D Character Creation" |
| | - text: "You are a Dungeons & Dragons assistant. Design a D&D adventure hook set in a dark forest with a mysterious cult." |
| | example_title: "Adventure Hook" |
| | - text: "You are a Dungeons & Dragons assistant. Create a magical item for D&D 5e that would be suitable for a level 5 rogue." |
| | example_title: "Magic Item" |
| | model-index: |
| | - name: DeepSeek-R1-Distill-Qwen-7B D&D LoRA |
| | results: [] |
| | --- |
| | |
| | # DeepSeek-R1-Distill-Qwen-7B Fine-tuned for Dungeons & Dragons |
| |
|
| | This model is a fine-tuned version of [deepseek-ai/DeepSeek-R1-Distill-Qwen-7B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B) specifically trained on Dungeons & Dragons content. The model is designed to excel at creating D&D characters, adventures, and other D&D-related content. |
| |
|
| | ## Model Details |
| |
|
| | - **Base Model:** [deepseek-ai/DeepSeek-R1-Distill-Qwen-7B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B) |
| | - **Fine-tuning Method:** LORA (Parameter-Efficient Fine-Tuning) |
| | - **LoRA Rank:** 8 |
| | - **LoRA Alpha:** 16 |
| | - **Target Modules:** q_proj, k_proj, v_proj, o_proj |
| | - **Training Date:** 2025-05-11 |
| | - **Dataset Size:** 500 examples from a curated D&D dataset |
| |
|
| | ## Usage |
| |
|
| | This is a LoRA adapter that needs to be combined with the base model to work. Here's how to use it: |
| |
|
| | ### Using the Transformers Library |
| |
|
| | ```python |
| | from huggingface_hub import snapshot_download |
| | import torch |
| | from peft import PeftModel, PeftConfig |
| | from transformers import AutoModelForCausalLM, AutoTokenizer |
| | |
| | # Load the base model and tokenizer |
| | base_model_id = "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B" |
| | model = AutoModelForCausalLM.from_pretrained( |
| | base_model_id, |
| | torch_dtype=torch.float16, |
| | device_map="auto", |
| | use_auth_token=True # If you're using a private model |
| | ) |
| | tokenizer = AutoTokenizer.from_pretrained(base_model_id) |
| | |
| | # Load the LoRA adapter |
| | adapter_model_id = "chendren/deepseek-dnd-lora" |
| | model = PeftModel.from_pretrained( |
| | model, |
| | adapter_model_id, |
| | use_auth_token=True # If you're using a private model |
| | ) |
| | |
| | # Test generation |
| | prompt = "Create a D&D character with the following details: Race: Half-Elf, Class: Bard, Background: Entertainer" |
| | inputs = tokenizer(f"You are a Dungeons & Dragons assistant. {prompt}", return_tensors="pt").to(model.device) |
| | |
| | outputs = model.generate( |
| | input_ids=inputs["input_ids"], |
| | attention_mask=inputs["attention_mask"], |
| | max_new_tokens=500, |
| | temperature=0.7, |
| | top_p=0.9, |
| | top_k=50, |
| | repetition_penalty=1.1, |
| | do_sample=True |
| | ) |
| | |
| | response = tokenizer.decode(outputs[0], skip_special_tokens=True) |
| | print(response) |
| | ``` |
| |
|
| | ### Using the Hugging Face Inference API |
| |
|
| | You can also use this model directly with the Inference API: |
| |
|
| | ```python |
| | import requests |
| | |
| | API_URL = "https://api-inference.huggingface.co/models/chendren/deepseek-dnd-lora" |
| | headers = {"Authorization": "Bearer YOUR_API_TOKEN"} |
| | |
| | def query(payload): |
| | response = requests.post(API_URL, headers=headers, json=payload) |
| | return response.json() |
| | |
| | output = query({ |
| | "inputs": "You are a Dungeons & Dragons assistant. Create a D&D character with the following details: Race: Half-Elf, Class: Bard, Background: Entertainer", |
| | "parameters": { |
| | "max_new_tokens": 500, |
| | "temperature": 0.7, |
| | "top_p": 0.9, |
| | "top_k": 50, |
| | "repetition_penalty": 1.1, |
| | "do_sample": True |
| | } |
| | }) |
| | ``` |
| |
|
| | ## Example Outputs |
| |
|
| | When prompted to create a D&D character with specific details, the model will generate a complete character sheet with attributes, skills, background story, and more. For example: |
| |
|
| | **Prompt:** Create a D&D character with the following details: Race: Half-Elf, Class: Bard, Background: Entertainer |
| |
|
| | **Output:** [The model will generate a detailed character sheet including attributes, skills, spells, personality traits, and background story for a Half-Elf Bard with the Entertainer background] |
| |
|
| | ## Training |
| |
|
| | This model was fine-tuned using the following hyperparameters: |
| |
|
| | - Learning rate: 5e-5 |
| | - Epochs: 1 |
| | - Batch size: 1 |
| | - Gradient accumulation steps: 4 |
| | - Maximum sequence length: 256 |
| |
|
| | ## License |
| |
|
| | This model inherits the license of the base model, [deepseek-ai/DeepSeek-R1-Distill-Qwen-7B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B). |