Instructions to use LoNebula/jarvis-moe-v1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use LoNebula/jarvis-moe-v1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="LoNebula/jarvis-moe-v1") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("LoNebula/jarvis-moe-v1") model = AutoModelForCausalLM.from_pretrained("LoNebula/jarvis-moe-v1", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use LoNebula/jarvis-moe-v1 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "LoNebula/jarvis-moe-v1" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "LoNebula/jarvis-moe-v1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/LoNebula/jarvis-moe-v1
- SGLang
How to use LoNebula/jarvis-moe-v1 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 "LoNebula/jarvis-moe-v1" \ --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": "LoNebula/jarvis-moe-v1", "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 "LoNebula/jarvis-moe-v1" \ --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": "LoNebula/jarvis-moe-v1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use LoNebula/jarvis-moe-v1 with Docker Model Runner:
docker model run hf.co/LoNebula/jarvis-moe-v1
My-Jarvis MoE v1
A bilingual (Japanese / English) personal assistant model fine-tuned from Qwen3-30B-A3B, a Mixture-of-Experts model with 30.5B total parameters and 3.3B active parameters per token. This is a public, merged, ready-to-use model that adapts to whoever uses it: it learns the user's name, preferences, tone, and routines from the conversation instead of shipping with any single owner's personal data. It answers in whichever language you write in.
Model overview
| Property | Details |
|---|---|
| Base model | Qwen3-30B-A3B (MoE: 30.5B total / 3.3B active, Apache-2.0) |
| Method | 4-bit QLoRA (NF4 + double quant, bf16 compute) on attention + MoE expert projections, then merged into the base |
| Languages | Japanese, English |
| License | Apache-2.0 (merged weights; subject to the base model license) |
| Author | LoNebula (ๅฏๅใญใฑใใ / Nebou Rocket) |
| Weights format | Merged bfloat16, sharded safetensors (5GB shards), loads directly with transformers |
Training data
This model is trained only on public data and contains no single owner's personal information. It is designed so each user can personalize it through conversation or their own local fine-tune, rather than inheriting someone else's identity.
- Aya Dataset (CohereLabs/aya_dataset): Japanese and English instruction rows from the training split (the full dataset has ~202,362 examples across 65 languages; this model uses the JA/EN subset, capped for a single-GPU job). Apache-2.0.
- Japanese instruction corpus (izumi-lab/llm-japanese-dataset): a capped sample of Japanese instruction/response pairs, used to strengthen Japanese instruction-following. CC BY-SA 4.0.
- Persona seed: none. No persona examples are baked into the weights, so personalization can only start after each user loads the model. The model learns the user's name and style from post-load onboarding and local memory.
No owner-curated identity corpus is used. Each user brings their own context at inference time.
Use
The repository contains merged sharded weights, a tokenizer, and a generation_config.json, so it loads directly and generates with sensible defaults. Use a GPU with enough memory for the half-precision MoE weights (active 3.3B parameters per token, 30.5B total in memory).
Learn the user locally (no personal data leaves the machine)
The weights contain no personal data. Personalization happens on the user's own machine with scripts/my_jarvis_pipeline.py:
- Copy
data/my-jarvis-profile.example.jsonto~/.my-jarvis/profile.json. It starts empty -- personalization begins after you load the model. - On first run the assistant asks 3 onboarding questions (name, interests, preferred tone) and saves the answers locally.
- Chat history is appended to
~/.my-jarvis/memory.jsonl(local only, git-ignored). - Each turn builds
system(profile) + recent memory + user messageโ no retraining needed for basic adaptation. - Optional: export local LoRA rows with
export_lora_rows()and fine-tune privately. Never upload~/.my-jarvis/to the Hub.
from my_jarvis_pipeline import load_profile, load_memory, build_messages
profile = load_profile("~/.my-jarvis/profile.json")
memory = load_memory("~/.my-jarvis/memory.jsonl", limit=6)
messages = build_messages(profile, memory, "ไปๆฅใฎ่ชฟๅญใฏใฉใ๏ผ")
Or just chat locally (onboards on first run, remembers on device):
python scripts/my_jarvis_chat.py --dry-run # no weights needed
python scripts/my_jarvis_chat.py --model LoNebula/jarvis-moe-v1
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "LoNebula/jarvis-moe-v1"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
messages = [
{"role": "system", "content": "You are My-Jarvis, a bilingual (Japanese/English) personal assistant. Learn the user's name and style, and answer in the user's language."},
{"role": "user", "content": "้ฃใใใใฐใซใถใคใใฃใใจใใใฉใ้ฒใใใฐใใ๏ผ"},
]
inputs = tokenizer.apply_chat_template(
messages, add_generation_prompt=True, return_tensors="pt",
chat_template_kwargs={"enable_thinking": False}, # Qwen3: non-thinking chat mode
).to(model.device)
output = model.generate(inputs, max_new_tokens=512)
print(tokenizer.decode(output[0][inputs.shape[-1]:], skip_special_tokens=True))
Install the runtime with pip install torch transformers accelerate. The generation_config.json sets temperature=0.7, top_p=0.8, top_k=20; override as needed. This model was fine-tuned with the Qwen3 chat template in non-thinking mode (enable_thinking=False), so pass the same chat_template_kwargs at inference; if your transformers version does not recognize the kwarg, drop it and the template falls back to its default.
Limitations
- This is an experimental assistant, not a benchmarked or production-ready system. It may be inaccurate, reproduce training text, or drift from its intended tone.
- It starts without any user's personal knowledge. Personalization happens per user at inference time (conversation memory or a local adapter), not from baked-in owner data.
- Japanese and English coverage depends on the public corpora above; specialized or low-resource domains may be weak.
- MoE routing means per-token compute is small, but the full 30.5B weights must fit in memory (quantize for smaller GPUs).
- Review outputs before relying on them for important decisions.
License
Apache-2.0, subject to the base model license (Qwen3-30B-A3B, Apache-2.0) and the licenses of the public training data (Aya: Apache-2.0; izumi-lab Japanese corpus: CC BY-SA 4.0). Review source terms before redistribution.
- Downloads last month
- 38