Instructions to use meadbee/Yuna-130M-Conversation with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use meadbee/Yuna-130M-Conversation with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="meadbee/Yuna-130M-Conversation") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("meadbee/Yuna-130M-Conversation") model = AutoModelForCausalLM.from_pretrained("meadbee/Yuna-130M-Conversation", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use meadbee/Yuna-130M-Conversation with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "meadbee/Yuna-130M-Conversation" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "meadbee/Yuna-130M-Conversation", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/meadbee/Yuna-130M-Conversation
- SGLang
How to use meadbee/Yuna-130M-Conversation 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 "meadbee/Yuna-130M-Conversation" \ --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": "meadbee/Yuna-130M-Conversation", "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 "meadbee/Yuna-130M-Conversation" \ --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": "meadbee/Yuna-130M-Conversation", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use meadbee/Yuna-130M-Conversation with Docker Model Runner:
docker model run hf.co/meadbee/Yuna-130M-Conversation
YunaGPT-124M V1 Conversation
A compact, single-turn conversation and character role-play model.
Important: This model was trained to produce one assistant or character reply from one user turn. It has no built-in memory and is not a reliable factual or safety-aligned assistant.
Run on google Colab for free online:
Overview
YunaGPT-124M V1 Conversation continues from the final Story checkpoint and adds response-only conversation SFT. Its specialty is short dialogue and character role-play: an optional character description and one user message are provided as context, and the model generates one assistant reply.
The training data was deliberately flattened into independent user/assistant exchanges. The model was not trained to predict both sides of an ongoing transcript, and it does not remember earlier calls unless an application supplies context manually.
Project background
Yuna began as a 30M-parameter educational language-model project inspired by Sebastian Raschka's Build a Large Language Model (From Scratch). It later moved to Hugging Face's native LLaMA implementation and became a home-hardware experiment using an RTX 3090. The broader project explores instruction following, creative writing, role-play, synthetic Final Fantasy X knowledge, and preference optimization.
The model may write plausible franchise dialogue or lore while inventing details. Do not rely on it as a factual source.
Model summary
| Item | Value |
|---|---|
| Parameters | 124,445,376 |
| Model class | LlamaForCausalLM |
| Training stage | Character/conversation SFT |
| Lineage | Base โ Story โ Conversation |
| Training exchanges | 47,625 |
| Validation exchanges | 5,298 |
| Recorded conversation tokens | Approximately 3.79 million |
| Context length | 2,048 tokens |
| Maximum trained user turn | 600 tokens |
| Maximum trained response | 512 tokens |
| Vocabulary | 24,000 tokens |
| Tokenizer | Byte-level BPE |
| Weight format | safetensors, FP32 |
| Primary language | English |
Prompt format
This checkpoint uses a custom role-play format, not the instruction format used by the Instruct and Story variants.
With a character description:
### Character:
{character_or_persona}
### User:
{message}
### Assistant:
Without a character description:
### User:
{message}
### Assistant:
The headings and blank lines are part of the training format. A standard tokenizer.apply_chat_template(...) call is not equivalent for this release.
Run it yourself
pip install torch transformers
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "YOUR_USERNAME/YunaGPT-124M-V1-Conversation"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="auto")
model.eval()
def format_conversation_prompt(message: str, character: str = "") -> str:
parts = []
if character.strip():
parts.append(f"### Character:\n{character.strip()}")
parts.append(f"### User:\n{message.strip()}")
parts.append("### Assistant:\n")
return "\n\n".join(parts)
prompt = format_conversation_prompt(
message="I found this strange key outside the library. Do you recognize it?",
character=(
"Mira is a friendly village librarian who is curious, patient, "
"and fond of old adventure stories."
),
)
inputs = tokenizer(prompt, return_tensors="pt")
with torch.no_grad():
output = model.generate(
**inputs,
max_new_tokens=220,
do_sample=True,
temperature=0.8,
top_p=0.9,
repetition_penalty=1.1,
pad_token_id=tokenizer.pad_token_id,
eos_token_id=tokenizer.eos_token_id,
)
new_tokens = output[0, inputs["input_ids"].shape[1]:]
print(tokenizer.decode(new_tokens, skip_special_tokens=True).strip())
Replace the placeholder repository name with the final model ID or a local folder. Keeping replies below roughly 512 new tokens is closest to the response lengths seen during training.
Architecture
| Component | Configuration |
|---|---|
| Architecture | Decoder-only Transformer |
| Attention | Grouped-Query Attention (GQA) |
| Hidden size | 576 |
| Intermediate size | 2,048 |
| Layers | 25 |
| Attention heads | 9 |
| Key/value heads | 3 |
| Activation | SiLU / SwiGLU feed-forward blocks |
| Normalization | RMSNorm, epsilon 1e-6 |
| Position encoding | RoPE, theta 10,000 |
| Maximum positions | 2,048 |
| Input/output embeddings | Tied |
Conversation training
This checkpoint was fine-tuned for one epoch on youndukn/ROLE_PLAY_INSTRUCT using:
- 47,625 flattened training exchanges;
- 5,298 held-out test exchanges;
- optional character/persona context;
- one user turn followed by one assistant response;
- response-only loss with an explicit EOS target;
- a learning rate of
2.5e-5and batch size 1.
The run recorded approximately 3.79 million processed tokens. Internal validation loss reached approximately 1.65 near the end of training. This is a dataset-specific next-token metric, not evidence of general conversational quality or safety.
The uploaded weights exactly match the final epoch-1 conversation checkpoint. Source dataset terms and attribution requirements remain applicable.
Intended uses
- Single-turn character and role-play responses.
- Short conversational experiments with human supervision.
- Educational study of response-only dialogue fine-tuning.
- Local prototyping of character interfaces.
Limitations and safety
Expected limitations include:
- no persistent memory and limited multi-turn consistency;
- character drift, repetition, role-label leakage, or speaking for the user;
- hallucinated facts and unreliable real-world advice;
- weak reasoning and instruction following outside role-play dialogue;
- sensitivity to persona wording and sampling settings;
- generation of stereotypes, manipulative dialogue, sexual content, offensive language, or other unsafe material inherited from training data;
- possible reproduction of phrases or information from source data.
Do not use this model for emotional dependency, impersonation, medical or mental-health support, high-impact advice, moderation, surveillance, or unsupervised public deployment. Make fictional framing clear to users and provide human oversight.
Evaluation status
No standardized dialogue, role-play, factuality, bias, toxicity, privacy, or safety benchmarks are included. The internal validation loss only measures prediction on the held-out source split.
Related variants
- Base: raw next-token completion checkpoint.
- Instruct: general single-turn instruction SFT branch with a different prompt wrapper.
- Story: creative-writing checkpoint that directly precedes this variant.
License and attribution
No model-weight license was declared in the project metadata when this card was prepared. Add an explicit license before public distribution. A model license does not override the source datasets' licenses, terms, or attribution requirements.
YunaGPT-124M V1 Conversation is an experimental role-play model. Keep its use fictional, supervised, and transparent.
- Downloads last month
- -