初始化项目,由ModelHub XC社区提供模型
Model: Chun121/Qwen3-4B-RPG-Roleplay-V2 Source: Original Platform
This commit is contained in:
40
.gitattributes
vendored
Normal file
40
.gitattributes
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
||||
*.model filter=lfs diff=lfs merge=lfs -text
|
||||
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||
*.npy filter=lfs diff=lfs merge=lfs -text
|
||||
*.npz filter=lfs diff=lfs merge=lfs -text
|
||||
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||
*.parquet filter=lfs diff=lfs merge=lfs -text
|
||||
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||
*.pickle filter=lfs diff=lfs merge=lfs -text
|
||||
*.pkl filter=lfs diff=lfs merge=lfs -text
|
||||
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar filter=lfs diff=lfs merge=lfs -text
|
||||
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.wasm filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||
unsloth.Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
|
||||
unsloth.Q5_K_M.gguf filter=lfs diff=lfs merge=lfs -text
|
||||
unsloth.Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
|
||||
lora/tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
||||
unsloth.F16.gguf filter=lfs diff=lfs merge=lfs -text
|
||||
622
README.md
Normal file
622
README.md
Normal file
@@ -0,0 +1,622 @@
|
||||
---
|
||||
language: en
|
||||
license: mit
|
||||
tags:
|
||||
- roleplay
|
||||
- Creative
|
||||
- Writing
|
||||
- NSFW
|
||||
- lora
|
||||
- grpo
|
||||
- gguf
|
||||
- qwen3
|
||||
- unsloth
|
||||
- trl
|
||||
- 4bit
|
||||
- text-generation
|
||||
- rpg
|
||||
datasets:
|
||||
- Gryphe/Sonnet3.5-Charcard-Roleplay
|
||||
pipeline_tag: text-generation
|
||||
library_name: transformers
|
||||
model-index:
|
||||
- name: Qwen3-4B RPG Roleplay V2 (GRPO)
|
||||
results: []
|
||||
model-name: Qwen3-4B-RPG-Roleplay-V2
|
||||
model-type: LoRA fine-tuned with GRPO
|
||||
base-model: unsloth/Qwen3-4B-Base
|
||||
datasets:
|
||||
- Gryphe/Sonnet3.5-Charcard-Roleplay
|
||||
language:
|
||||
- en
|
||||
license: apache-2.0
|
||||
developer: Chun
|
||||
quantized-by: Chun
|
||||
gguf-quants:
|
||||
- name: Q4_K_M
|
||||
size: 2.5 GB
|
||||
- name: Q5_K_M
|
||||
size: 2.89 GB
|
||||
- name: Q8_0
|
||||
size: 4.28 GB
|
||||
- name: F16
|
||||
size: 8.05 GB
|
||||
base_model:
|
||||
- unsloth/Qwen3-4B-Base
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
|
||||
# 🧙♂️ Qwen3-4B RPG Roleplay V2 (GRPO)
|
||||
|
||||
### *Aligning Characters with Deeper Personas*
|
||||
|
||||
<img src="https://i.imgur.com/mBc9BHn.gif" width="600" alt="Fantasy character illustration">
|
||||
|
||||
**A new version trained with GRPO for more consistent, high-quality, and aligned character roleplaying.**
|
||||
|
||||
---
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## 🌟 **Model Overview**
|
||||
|
||||
> **Welcome to V2!** I'm Chun ([@chun121](https://huggingface.co/chun121)), and this is the next evolution of the Qwen3-4B Roleplay model. This version moves beyond standard fine-tuning and leverages **GRPO (Generative Responsive Preference Optimization)** to align the model's behavior with the core principles of great roleplaying.
|
||||
|
||||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">🎭</td>
|
||||
<td align="center">💬</td>
|
||||
<td align="center">🧠</td>
|
||||
<td align="center">⚙️</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><strong>Character<br>Consistency</strong></td>
|
||||
<td align="center"><strong>High-Quality<br>Dialogue</strong></td>
|
||||
<td align="center"><strong>Intent<br>Understanding</strong></td>
|
||||
<td align="center"><strong>Structured<br>Format</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">Maintains strong<br>persona adherence</td>
|
||||
<td align="center">Detailed, engaging<br>non-generic responses</td>
|
||||
<td align="center">Comprehends user<br>questions & scenarios</td>
|
||||
<td align="center">Uses <code><thinking></code><br>analysis process</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
Built on the `unsloth/Qwen3-4B-Base`, this LoRA was trained not just to predict text, but to generate responses that are actively **rewarded** for being in-character, high-quality, and contextually aware. It's designed for creators who need AI characters that are not only conversational but also consistent and deeply aligned with their defined personas.
|
||||
|
||||
---
|
||||
|
||||
## 📊 **Technical Specifications**
|
||||
|
||||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<th>🔧 Feature</th>
|
||||
<th>📋 Details</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Base Model</strong></td>
|
||||
<td><a href="https://huggingface.co/unsloth/Qwen3-4B-Base">unsloth/Qwen3-4B-Base</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Architecture</strong></td>
|
||||
<td>Transformer LLM with <strong>GRPO & LoRA</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Parameter Count</strong></td>
|
||||
<td>4 Billion (Base) + LoRA parameters</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Quantization Options</strong></td>
|
||||
<td>4-bit (bnb), GGUF variants</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Training Framework</strong></td>
|
||||
<td><a href="https://github.com/unslothai/unsloth">Unsloth</a> & <a href="https://github.com/huggingface/trl">TRL (GRPOTrainer)</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Context Length</strong></td>
|
||||
<td><strong>2048 tokens</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Developer</strong></td>
|
||||
<td><a href="https://huggingface.co/chun121">Chun</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>License</strong></td>
|
||||
<td>MIT</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
---
|
||||
## 🧠 **Training with GRPO**
|
||||
|
||||
<div align="center">
|
||||
|
||||
### 🔄 **Training Pipeline**
|
||||
|
||||
*GRPO alignment algorithm for superior character consistency*
|
||||
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<th>🔄 Training Flow</th>
|
||||
<th>📋 Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>📚 Dataset</strong></td>
|
||||
<td>Gryphe/Sonnet3.5-Charcard-Roleplay</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>⬇️</strong></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>🏗️ Stage 1: Preliminary Fine-Tuning</strong></td>
|
||||
<td>Teaches custom chat format including <code><thinking></code> and <code><RESPONSE></code> tags</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>⬇️</strong></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>🎯 Stage 2: GRPO Training</strong></td>
|
||||
<td>Reward-based optimization using <code>GRPOTrainer</code> from TRL</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>⬇️</strong></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>🧙♂️ Final Model</strong></td>
|
||||
<td>Qwen3-4B RPG Roleplay V2 with superior alignment</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
This model's strength comes from its **training methodology**. Instead of simple fine-tuning, it was trained using GRPO, an alignment algorithm similar to DPO, on a free Google Colab T4 GPU.
|
||||
|
||||
### 🔄 **Two-Stage Training Process**
|
||||
|
||||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<h4>🏗️ Stage 1: Preliminary Fine-Tuning</h4>
|
||||
<p>Teaches custom chat format including<br><code><thinking></code> and <code><RESPONSE></code> tags</p>
|
||||
</td>
|
||||
<td align="center">
|
||||
<h4>🎯 Stage 2: GRPO Training</h4>
|
||||
<p>Reward-based optimization using<br><code>GRPOTrainer</code> from TRL</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
### 🏆 **Reward Functions**
|
||||
|
||||
The model was trained to excel in these key areas:
|
||||
|
||||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<th>🎯 Reward Category</th>
|
||||
<th>📝 Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Format Adherence</strong></td>
|
||||
<td>Following internal thinking/response structure</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Roleplay Quality</strong></td>
|
||||
<td>Generating longer, detailed responses with character actions</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Request Comprehension</strong></td>
|
||||
<td>Directly answering user questions or acting on requests</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Character Consistency</strong></td>
|
||||
<td>Reflecting personality and traits from system prompt</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Engagement</strong></td>
|
||||
<td>Using conversational language, avoiding generic replies</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## 📚 **Dataset Deep Dive**
|
||||
|
||||
<div align="center">
|
||||
|
||||
### 🎭 **Gryphe/Sonnet3.5-Charcard-Roleplay**
|
||||
|
||||
*Premium synthetic roleplay conversations powered by Claude Sonnet 3.5*
|
||||
|
||||
</div>
|
||||
|
||||
The model was trained on the [**Gryphe/Sonnet3.5-Charcard-Roleplay**](https://huggingface.co/datasets/Gryphe/Sonnet3.5-Charcard-Roleplay) dataset, a premium collection of synthetic roleplay conversations.
|
||||
|
||||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<th>📊 Metric</th>
|
||||
<th>💯 Value</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Total Conversations</strong></td>
|
||||
<td>9,736</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Source</strong></td>
|
||||
<td>Claude Sonnet 3.5 Generated</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Quality</strong></td>
|
||||
<td>High-quality, character-card-based</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Structure</strong></td>
|
||||
<td><code>system</code> → <code>human</code> → <code>gpt</code> flow</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
> ⚠️ **Content Warning**: This dataset contains **NSFW (Not Safe For Work)** and mature themes. The model may generate such content due to its training data. Please implement content filtering if your application requires it.
|
||||
|
||||
---
|
||||
|
||||
## 🚀 **Getting Started**
|
||||
|
||||
### 💻 **Hugging Face Transformers**
|
||||
|
||||
```python
|
||||
from transformers import AutoTokenizer, AutoModelForCausalLM
|
||||
import torch
|
||||
|
||||
# Load the V2 model with 4-bit quantization
|
||||
model_name = "Chun121/qwen3-4b-rpg-roleplay-v2"
|
||||
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
||||
model = AutoModelForCausalLM.from_pretrained(
|
||||
model_name,
|
||||
torch_dtype=torch.float16,
|
||||
device_map="auto"
|
||||
)
|
||||
|
||||
# 1. Define your character and scene using the recommended prompt structure.
|
||||
# This detailed format is key to getting high-quality responses.
|
||||
system_prompt_content = """
|
||||
Character: Elara, the Impatient Archmage
|
||||
Tags: fantasy, magic, elf, library, knowledgeable, impatient
|
||||
|
||||
Elara's Personality:
|
||||
Elara possesses centuries of arcane knowledge but has very little patience for novices, whom she sees as wasting her valuable time. She is sharp, direct, and can be condescending, but her advice is always accurate, even if delivered with a sigh. She values true intellectual curiosity but despises laziness.
|
||||
|
||||
Scenario:
|
||||
- **Setting:** The Grand Library of Mystral, a place of immense power and silence.
|
||||
- A young, nervous apprentice ({{user}}) has approached Elara for help with a basic spell, interrupting her research.
|
||||
|
||||
Take the role of Elara. You must engage in a roleplay conversation with {{user}}. Do not write {{user}}'s dialogue. Respond from Elara's perspective, embodying her personality and knowledge.
|
||||
"""
|
||||
|
||||
# 2. Define your character and user messages
|
||||
messages = [
|
||||
{
|
||||
"role": "system",
|
||||
"content": system_prompt_content,
|
||||
},
|
||||
{
|
||||
"role": "user",
|
||||
"content": "Excuse me, Archmage. I'm... I'm having trouble with the basic fire conjuration spell. Could you please help me?"
|
||||
}
|
||||
]
|
||||
|
||||
# 3. Apply the chat template
|
||||
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
|
||||
|
||||
# 4. Generate the response
|
||||
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
|
||||
outputs = model.generate(
|
||||
inputs["input_ids"],
|
||||
max_new_tokens=256,
|
||||
temperature=0.8,
|
||||
top_p=0.9,
|
||||
do_sample=True
|
||||
)
|
||||
|
||||
print(tokenizer.decode(outputs, skip_special_tokens=True))
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎭 **Prompting the Model: Character and Scene**
|
||||
|
||||
<div align="center">
|
||||
|
||||
### 🎯 **Prompt Engineering Best Practices**
|
||||
|
||||
*Master the art of character creation with structured prompting*
|
||||
|
||||
</div>
|
||||
|
||||
The model is trained to follow a specific structure that separates the overall rules, the character's description, and the user's dialogue. For best results, structure your prompts this way.
|
||||
|
||||
### 🎯 **1. The System Message: Defining the Character**
|
||||
|
||||
The `system` message is **crucial**. It tells the model *how* to behave. It should contain the character's description, personality, background, and any relevant context for the scene.
|
||||
|
||||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<th>🔑 Key Elements</th>
|
||||
<th>📝 Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Character Name & Title</strong></td>
|
||||
<td>A clear identifier</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Tags</strong></td>
|
||||
<td>Helps define genre and themes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Personality</strong></td>
|
||||
<td>Core traits summary</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Scenario</strong></td>
|
||||
<td>Context for interaction (use <code>{{user}}</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Instructions</strong></td>
|
||||
<td>Explicit role-taking commands</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
**Example of a well-structured `system` prompt:**
|
||||
|
||||
```markdown
|
||||
Character: Melina, The Unfaithful Wife
|
||||
Tags: nsfw, english, scenario, roleplay, love, netori, milf, female
|
||||
|
||||
Melina's Personality:
|
||||
Melina is an unfaithful wife who is unhappy in her marriage to her husband, "Aki." She is cautious and meticulous, but also looking for excitement and feels a connection to {{user}}.
|
||||
|
||||
Scenario:
|
||||
- **Setting:** Melina's home.
|
||||
- You are a mail carrier ({{user}}), and Melina often finds reasons to talk to you. Today, she seems particularly inviting.
|
||||
|
||||
Take the role of Melina. Taking the above information into consideration, you must engage in a roleplay conversation with {{user}} below this line. Do not write {{user}}'s dialogue lines in your responses.
|
||||
```
|
||||
|
||||
### 💬 **2. The User Message: Your Turn**
|
||||
|
||||
The `user` message is simply what you, the user, say or do in the scene.
|
||||
|
||||
```python
|
||||
# Example user message for the "Melina" character card above
|
||||
user_message = {
|
||||
"role": "user",
|
||||
"content": "*I hand you the stack of letters, noticing you seem a bit more dressed up than usual.* Here's your mail, Melina. Everything alright?"
|
||||
}
|
||||
```
|
||||
|
||||
### 🤖 **3. The Model's Internal Process**
|
||||
|
||||
The model generates a private "thought" process inside `<thinking>` tags before creating its public response inside `<RESPONSE>` tags. This allows for more consistent and thoughtful roleplay.
|
||||
|
||||
---
|
||||
|
||||
## 🗂️ **GGUF Models for llama.cpp**
|
||||
|
||||
<div align="center">
|
||||
|
||||
### 🔧 **Optimized Quantization Options**
|
||||
|
||||
*Choose the perfect balance of quality and performance for your hardware*
|
||||
|
||||
</div>
|
||||
|
||||
For users who want to run the model on CPU or with GPU offloading, GGUF models are provided:
|
||||
|
||||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<th>🔧 Quantization</th>
|
||||
<th>💾 Size (GB)</th>
|
||||
<th>🎯 Recommended Use</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Q4_K_M</strong></td>
|
||||
<td>2.50 GB</td>
|
||||
<td>🌟 <strong>Recommended</strong> - Best balance of performance and size</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Q5_K_M</strong></td>
|
||||
<td>2.89 GB</td>
|
||||
<td>Higher quality than Q4_K_M with minimal size increase</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Q8_0</strong></td>
|
||||
<td>4.28 GB</td>
|
||||
<td>High-quality quantization, near full precision</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>F16</strong></td>
|
||||
<td>8.05 GB</td>
|
||||
<td>Full 16-bit precision - highest quality</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
**Example `llama.cpp` command:**
|
||||
|
||||
```bash
|
||||
./llama-cli -m ./qwen3-4b-rpg-roleplay-v2.Q4_K_M.gguf --color -c 2048 --temp 0.8 -p "Your prompt here"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 💡 **Best Practices & Usage Tips**
|
||||
|
||||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<h4>🎯 Use Chat Template</h4>
|
||||
<p>Always use <code>tokenizer.apply_chat_template</code><br>for proper formatting</p>
|
||||
</td>
|
||||
<td align="center">
|
||||
<h4>📝 Detailed System Prompt</h4>
|
||||
<p>Comprehensive character cards are<br>key to success</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<h4>🌡️ Moderate Temperature</h4>
|
||||
<p>Values between 0.7-0.85 offer<br>best balance</p>
|
||||
</td>
|
||||
<td align="center">
|
||||
<h4>📏 Leverage Context</h4>
|
||||
<p>2048-token window allows<br>complex scenarios</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ **Limitations**
|
||||
|
||||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<th>⚠️ Limitation</th>
|
||||
<th>📋 Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>NSFW Content</strong></td>
|
||||
<td>May generate explicit content due to training data</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Synthetic Data</strong></td>
|
||||
<td>Training data is AI-generated, may lack human nuance</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Context Window</strong></td>
|
||||
<td>Limited to 2048 tokens - traits may degrade in long conversations</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Inherited Limitations</strong></td>
|
||||
<td>Inherits any limitations from base model</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## 🔗 **Related Projects**
|
||||
|
||||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<strong>🔗 <a href="https://huggingface.co/chun121">My Other Fine-tunes</a></strong><br>
|
||||
<em>Explore more models by Chun</em>
|
||||
</td>
|
||||
<td align="center">
|
||||
<strong>⚡ <a href="https://github.com/unslothai/unsloth">Unsloth Library</a></strong><br>
|
||||
<em>Optimization framework used</em>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<strong>📓 <a href="https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_(4B)-GRPO.ipynb">GRPO Training Notebook</a></strong><br>
|
||||
<em>Exact notebook used for training</em>
|
||||
</td>
|
||||
<td align="center">
|
||||
<strong>📚 <a href="https://huggingface.co/Gryphe">Gryphe's Datasets</a></strong><br>
|
||||
<em>High-quality roleplay datasets</em>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## 🙏 **Acknowledgements**
|
||||
|
||||
<div align="center">
|
||||
|
||||
**Special thanks to the incredible teams and individuals who made this possible:**
|
||||
|
||||
🔥 **Qwen & Unsloth teams** - For their incredible models and libraries
|
||||
🎭 **Gryphe** - For the high-quality Sonnet 3.5 dataset
|
||||
🚀 **TRL team** - For creating and open-sourcing the GRPO trainer
|
||||
🤗 **HuggingFace community** - For their continued support
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## 📬 **Feedback & Contact**
|
||||
|
||||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<strong>🐛 Issues & Bugs</strong><br>
|
||||
<a href="#">Open an issue on HuggingFace</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<strong>💬 Connect</strong><br>
|
||||
<a href="https://huggingface.co/chun121">@chun121 on HuggingFace</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<strong>🎭 Share Examples</strong><br>
|
||||
Show us your characters!
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
|
||||
**✨ *May your characters speak with voices that feel truly alive!* ✨**
|
||||
|
||||
<br>
|
||||
|
||||
**Created with ❤️ by [Chun](https://huggingface.co/chun121)**
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
|
||||
```
|
||||
🧙♂️ Qwen3-4B RPG Roleplay V2 | GRPO Enhanced | MIT License
|
||||
```
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
3
config.json
Normal file
3
config.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"model_type": "qwen3"
|
||||
}
|
||||
202
lora/README.md
Normal file
202
lora/README.md
Normal file
@@ -0,0 +1,202 @@
|
||||
---
|
||||
base_model: unsloth/Qwen3-4B-Base
|
||||
library_name: peft
|
||||
---
|
||||
|
||||
# Model Card for Model ID
|
||||
|
||||
<!-- Provide a quick summary of what the model is/does. -->
|
||||
|
||||
|
||||
|
||||
## Model Details
|
||||
|
||||
### Model Description
|
||||
|
||||
<!-- Provide a longer summary of what this model is. -->
|
||||
|
||||
|
||||
|
||||
- **Developed by:** [More Information Needed]
|
||||
- **Funded by [optional]:** [More Information Needed]
|
||||
- **Shared by [optional]:** [More Information Needed]
|
||||
- **Model type:** [More Information Needed]
|
||||
- **Language(s) (NLP):** [More Information Needed]
|
||||
- **License:** [More Information Needed]
|
||||
- **Finetuned from model [optional]:** [More Information Needed]
|
||||
|
||||
### Model Sources [optional]
|
||||
|
||||
<!-- Provide the basic links for the model. -->
|
||||
|
||||
- **Repository:** [More Information Needed]
|
||||
- **Paper [optional]:** [More Information Needed]
|
||||
- **Demo [optional]:** [More Information Needed]
|
||||
|
||||
## Uses
|
||||
|
||||
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
|
||||
|
||||
### Direct Use
|
||||
|
||||
<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
### Downstream Use [optional]
|
||||
|
||||
<!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
### Out-of-Scope Use
|
||||
|
||||
<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
## Bias, Risks, and Limitations
|
||||
|
||||
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
### Recommendations
|
||||
|
||||
<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
|
||||
|
||||
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
|
||||
|
||||
## How to Get Started with the Model
|
||||
|
||||
Use the code below to get started with the model.
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
## Training Details
|
||||
|
||||
### Training Data
|
||||
|
||||
<!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
### Training Procedure
|
||||
|
||||
<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
|
||||
|
||||
#### Preprocessing [optional]
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
|
||||
#### Training Hyperparameters
|
||||
|
||||
- **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
|
||||
|
||||
#### Speeds, Sizes, Times [optional]
|
||||
|
||||
<!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
## Evaluation
|
||||
|
||||
<!-- This section describes the evaluation protocols and provides the results. -->
|
||||
|
||||
### Testing Data, Factors & Metrics
|
||||
|
||||
#### Testing Data
|
||||
|
||||
<!-- This should link to a Dataset Card if possible. -->
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
#### Factors
|
||||
|
||||
<!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
#### Metrics
|
||||
|
||||
<!-- These are the evaluation metrics being used, ideally with a description of why. -->
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
### Results
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
#### Summary
|
||||
|
||||
|
||||
|
||||
## Model Examination [optional]
|
||||
|
||||
<!-- Relevant interpretability work for the model goes here -->
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
## Environmental Impact
|
||||
|
||||
<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
|
||||
|
||||
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
|
||||
|
||||
- **Hardware Type:** [More Information Needed]
|
||||
- **Hours used:** [More Information Needed]
|
||||
- **Cloud Provider:** [More Information Needed]
|
||||
- **Compute Region:** [More Information Needed]
|
||||
- **Carbon Emitted:** [More Information Needed]
|
||||
|
||||
## Technical Specifications [optional]
|
||||
|
||||
### Model Architecture and Objective
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
### Compute Infrastructure
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
#### Hardware
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
#### Software
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
## Citation [optional]
|
||||
|
||||
<!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
|
||||
|
||||
**BibTeX:**
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
**APA:**
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
## Glossary [optional]
|
||||
|
||||
<!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
## More Information [optional]
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
## Model Card Authors [optional]
|
||||
|
||||
[More Information Needed]
|
||||
|
||||
## Model Card Contact
|
||||
|
||||
[More Information Needed]
|
||||
### Framework versions
|
||||
|
||||
- PEFT 0.15.2
|
||||
39
lora/adapter_config.json
Normal file
39
lora/adapter_config.json
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"alpha_pattern": {},
|
||||
"auto_mapping": null,
|
||||
"base_model_name_or_path": "unsloth/Qwen3-4B-Base",
|
||||
"bias": "none",
|
||||
"corda_config": null,
|
||||
"eva_config": null,
|
||||
"exclude_modules": null,
|
||||
"fan_in_fan_out": false,
|
||||
"inference_mode": true,
|
||||
"init_lora_weights": true,
|
||||
"layer_replication": null,
|
||||
"layers_pattern": null,
|
||||
"layers_to_transform": null,
|
||||
"loftq_config": {},
|
||||
"lora_alpha": 64,
|
||||
"lora_bias": false,
|
||||
"lora_dropout": 0,
|
||||
"megatron_config": null,
|
||||
"megatron_core": "megatron.core",
|
||||
"modules_to_save": null,
|
||||
"peft_type": "LORA",
|
||||
"r": 32,
|
||||
"rank_pattern": {},
|
||||
"revision": null,
|
||||
"target_modules": [
|
||||
"v_proj",
|
||||
"gate_proj",
|
||||
"k_proj",
|
||||
"q_proj",
|
||||
"o_proj",
|
||||
"up_proj",
|
||||
"down_proj"
|
||||
],
|
||||
"task_type": "CAUSAL_LM",
|
||||
"trainable_token_indices": null,
|
||||
"use_dora": false,
|
||||
"use_rslora": false
|
||||
}
|
||||
3
lora/adapter_model.safetensors
Normal file
3
lora/adapter_model.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0f38e104e78ed0042494303511f517027bdff2341359ec2038aacf4d745579b0
|
||||
size 264308896
|
||||
28
lora/added_tokens.json
Normal file
28
lora/added_tokens.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"</think>": 151668,
|
||||
"</tool_call>": 151658,
|
||||
"</tool_response>": 151666,
|
||||
"<think>": 151667,
|
||||
"<tool_call>": 151657,
|
||||
"<tool_response>": 151665,
|
||||
"<|box_end|>": 151649,
|
||||
"<|box_start|>": 151648,
|
||||
"<|endoftext|>": 151643,
|
||||
"<|file_sep|>": 151664,
|
||||
"<|fim_middle|>": 151660,
|
||||
"<|fim_pad|>": 151662,
|
||||
"<|fim_prefix|>": 151659,
|
||||
"<|fim_suffix|>": 151661,
|
||||
"<|im_end|>": 151645,
|
||||
"<|im_start|>": 151644,
|
||||
"<|image_pad|>": 151655,
|
||||
"<|object_ref_end|>": 151647,
|
||||
"<|object_ref_start|>": 151646,
|
||||
"<|quad_end|>": 151651,
|
||||
"<|quad_start|>": 151650,
|
||||
"<|repo_name|>": 151663,
|
||||
"<|video_pad|>": 151656,
|
||||
"<|vision_end|>": 151653,
|
||||
"<|vision_pad|>": 151654,
|
||||
"<|vision_start|>": 151652
|
||||
}
|
||||
1
lora/chat_template.jinja
Normal file
1
lora/chat_template.jinja
Normal file
@@ -0,0 +1 @@
|
||||
{% for message in messages %}{% if message['role'] == 'system' %}{{ message['content'] + eos_token }}{% elif message['role'] == 'user' %}{{ message['content'] }}{% elif message['role'] == 'assistant' %}{{ message['content'] + eos_token }}{% endif %}{% endfor %}{% if add_generation_prompt %}<thinking>{% endif %}
|
||||
151388
lora/merges.txt
Normal file
151388
lora/merges.txt
Normal file
File diff suppressed because it is too large
Load Diff
31
lora/special_tokens_map.json
Normal file
31
lora/special_tokens_map.json
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"additional_special_tokens": [
|
||||
"<|im_start|>",
|
||||
"<|im_end|>",
|
||||
"<|object_ref_start|>",
|
||||
"<|object_ref_end|>",
|
||||
"<|box_start|>",
|
||||
"<|box_end|>",
|
||||
"<|quad_start|>",
|
||||
"<|quad_end|>",
|
||||
"<|vision_start|>",
|
||||
"<|vision_end|>",
|
||||
"<|vision_pad|>",
|
||||
"<|image_pad|>",
|
||||
"<|video_pad|>"
|
||||
],
|
||||
"eos_token": {
|
||||
"content": "<|endoftext|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false
|
||||
},
|
||||
"pad_token": {
|
||||
"content": "<|vision_pad|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false
|
||||
}
|
||||
}
|
||||
BIN
lora/tokenizer.json
(Stored with Git LFS)
Normal file
BIN
lora/tokenizer.json
(Stored with Git LFS)
Normal file
Binary file not shown.
240
lora/tokenizer_config.json
Normal file
240
lora/tokenizer_config.json
Normal file
@@ -0,0 +1,240 @@
|
||||
{
|
||||
"add_bos_token": false,
|
||||
"add_prefix_space": false,
|
||||
"added_tokens_decoder": {
|
||||
"151643": {
|
||||
"content": "<|endoftext|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151644": {
|
||||
"content": "<|im_start|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151645": {
|
||||
"content": "<|im_end|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151646": {
|
||||
"content": "<|object_ref_start|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151647": {
|
||||
"content": "<|object_ref_end|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151648": {
|
||||
"content": "<|box_start|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151649": {
|
||||
"content": "<|box_end|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151650": {
|
||||
"content": "<|quad_start|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151651": {
|
||||
"content": "<|quad_end|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151652": {
|
||||
"content": "<|vision_start|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151653": {
|
||||
"content": "<|vision_end|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151654": {
|
||||
"content": "<|vision_pad|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151655": {
|
||||
"content": "<|image_pad|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151656": {
|
||||
"content": "<|video_pad|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151657": {
|
||||
"content": "<tool_call>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151658": {
|
||||
"content": "</tool_call>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151659": {
|
||||
"content": "<|fim_prefix|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151660": {
|
||||
"content": "<|fim_middle|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151661": {
|
||||
"content": "<|fim_suffix|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151662": {
|
||||
"content": "<|fim_pad|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151663": {
|
||||
"content": "<|repo_name|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151664": {
|
||||
"content": "<|file_sep|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151665": {
|
||||
"content": "<tool_response>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151666": {
|
||||
"content": "</tool_response>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151667": {
|
||||
"content": "<think>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151668": {
|
||||
"content": "</think>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
}
|
||||
},
|
||||
"additional_special_tokens": [
|
||||
"<|im_start|>",
|
||||
"<|im_end|>",
|
||||
"<|object_ref_start|>",
|
||||
"<|object_ref_end|>",
|
||||
"<|box_start|>",
|
||||
"<|box_end|>",
|
||||
"<|quad_start|>",
|
||||
"<|quad_end|>",
|
||||
"<|vision_start|>",
|
||||
"<|vision_end|>",
|
||||
"<|vision_pad|>",
|
||||
"<|image_pad|>",
|
||||
"<|video_pad|>"
|
||||
],
|
||||
"bos_token": null,
|
||||
"clean_up_tokenization_spaces": false,
|
||||
"eos_token": "<|endoftext|>",
|
||||
"errors": "replace",
|
||||
"extra_special_tokens": {},
|
||||
"model_max_length": 32768,
|
||||
"pad_token": "<|vision_pad|>",
|
||||
"padding_side": "right",
|
||||
"split_special_tokens": false,
|
||||
"tokenizer_class": "Qwen2Tokenizer",
|
||||
"unk_token": null
|
||||
}
|
||||
1
lora/vocab.json
Normal file
1
lora/vocab.json
Normal file
File diff suppressed because one or more lines are too long
3
unsloth.F16.gguf
Normal file
3
unsloth.F16.gguf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7e6494c797f76314e5e6a43ca89c1ff1dbb3aed1a70bdfcb291a08a7e5a76520
|
||||
size 8051280896
|
||||
3
unsloth.Q4_K_M.gguf
Normal file
3
unsloth.Q4_K_M.gguf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4dbe1c8dba7e1a66457f309d83ab3b46c1671c35469e79b46e3e704bf338c362
|
||||
size 2497276416
|
||||
3
unsloth.Q5_K_M.gguf
Normal file
3
unsloth.Q5_K_M.gguf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0d789dea7180cb3e1183deb26f5b7353e2a76e8f1a82754685e68abc7d6cf4da
|
||||
size 2889509376
|
||||
3
unsloth.Q8_0.gguf
Normal file
3
unsloth.Q8_0.gguf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:77d85e11db27f00d9acb578baae6562c159b93e6cca0cd72d0c3cbdb08ffa5f3
|
||||
size 4280400896
|
||||
Reference in New Issue
Block a user