Instructions to use nxvoy-labs/shasa-v0.3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use nxvoy-labs/shasa-v0.3 with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-3B-Instruct") model = PeftModel.from_pretrained(base_model, "nxvoy-labs/shasa-v0.3") - Notebooks
- Google Colab
- Kaggle
Shasa v0.3 β NxVoy's Travel-Native AI
The world's first travel-native foundation model
π Itinerary Generation Β· π¬ Travel Chat Β· π― Intent Classification Β· π Smart Clarification
Model Overview
Shasa is NxVoy's proprietary travel AI model, fine-tuned via QLoRA on curated travel data covering 6 specialized capabilities. Unlike API wrappers that call generic LLMs, Shasa is a domain-specific model with proprietary weights optimized for travel planning.
| Property | Value |
|---|---|
| Base Model | Qwen/Qwen2.5-3B-Instruct |
| Method | QLoRA (4-bit NF4 quantization) |
| LoRA Rank | 64 |
| LoRA Alpha | 128 |
| Target Modules | q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj |
| Trainable Params | ~80M / 3.1B (2.6%) |
| Training Data | 2,550 curated travel examples |
| Training Time | 3h 08m on NVIDIA L40S (48GB) |
| Epochs | 5 |
| Learning Rate | 2e-4 (cosine schedule with warmup) |
| Batch Size | 2 (gradient accumulation: 4) |
Training Metrics
Final Training Loss: 0.1575
Final Eval Loss: 0.2247
Token Accuracy (Train): 95.06%
Token Accuracy (Eval): 93.54%
Total Steps: 800
Training Time: 3h 08m 23s
GPU: NVIDIA L40S (48GB)
Loss Progression
| Epoch | Train Loss | Eval Loss | Token Accuracy |
|---|---|---|---|
| 1 | 0.3521 | 0.2891 | 88.2% |
| 2 | 0.2156 | 0.2445 | 92.1% |
| 3 | 0.1832 | 0.2301 | 93.8% |
| 4 | 0.1648 | 0.2259 | 94.7% |
| 5 | 0.1575 | 0.2247 | 95.1% |
6 Capabilities
Shasa handles 6 specialized travel tasks, each with a dedicated system prompt:
1. πΊοΈ Itinerary Generation
Generates complete trip itineraries as structured JSON with flights, hotels, day plans, activities, meals, and budget breakdowns.
2. π Itinerary Formatting
Converts itinerary JSON into beautiful, readable markdown with emojis and tables.
3. π― Intent Classification
Classifies user messages into 7 intents: new_trip, modify_itinerary, ask_question, select_option, greeting, farewell, off_topic.
4. π¬ Conversational Chat
Multi-turn travel planning conversations with destination recommendations and travel tips.
5. β Smart Clarification
Generates clarifying questions to gather missing trip details (dates, budget, preferences).
6. π·οΈ Thread Naming
Generates short, descriptive thread names for travel conversations (max 50 chars).
Usage
With PEFT + Transformers
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
# Load base model + adapter
base_model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen2.5-3B-Instruct",
torch_dtype="auto",
device_map="auto",
)
model = PeftModel.from_pretrained(base_model, "nxvoy-labs/shasa-v0.3")
tokenizer = AutoTokenizer.from_pretrained("nxvoy-labs/shasa-v0.3")
# Generate itinerary
messages = [
{"role": "system", "content": "You are Shasa, NxVoy's expert travel AI. Generate a complete trip itinerary as structured JSON."},
{"role": "user", "content": "Plan a 5-day trip to Tokyo for 2 adults, budget $3000 USD"}
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=4096, temperature=0.3)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
With vLLM (Production)
from vllm import LLM, SamplingParams
llm = LLM(
model="Qwen/Qwen2.5-3B-Instruct",
enable_lora=True,
max_lora_rank=64,
)
output = llm.generate(
prompts,
SamplingParams(temperature=0.3, max_tokens=4096),
lora_request=LoRARequest("shasa", 1, "nxvoy-labs/shasa-v0.3"),
)
Training Data
The model was trained on 2,550 curated examples across all 6 capabilities:
| Capability | Examples | Source |
|---|---|---|
| Itinerary Generation | ~400 | Gemini 2.5 Flash distillation |
| Intent Classification | ~400 | Synthetic + manual |
| Conversational Chat | ~400 | Travel conversations |
| Smart Clarification | ~400 | Question generation |
| Destination Knowledge | ~400 | Travel Q&A |
| Thread Naming | ~350 | Short text generation |
| Itinerary Formatting | ~200 | JSON β Markdown |
All data is in chat format with system/user/assistant messages following the Qwen chat template.
Architecture
NxVoy Production Stack:
ββββββββββββββββββββββββββββββββ
β NxVoy API (FastAPI) β
ββββββββββββββββββββββββββββββββ€
β NxVoy-FM Router β
β βββ Shadow / AB / Primary β
β βββ Shasa β Gemini fallback β
β βββ Schema validation β
ββββββββββββββββββββββββββββββββ€
β vLLM + LoRA hot-swap β
ββββββββββββββββββββββββββββββββ€
β GPU (L4/A10G, 4-bit GPTQ) β
ββββββββββββββββββββββββββββββββ
Version History
| Version | Base | Data | Key Change |
|---|---|---|---|
| v0.1 | Qwen 2.5 3B | 850 | Proof of concept |
| v0.2 | Qwen 2.5 3B | 2,550 | All 6 capabilities |
| v0.3 | Qwen 2.5 3B | 2,550 | Fixed training config, L40S GPU |
| v0.4 (planned) | Qwen 2.5 7B | 50K | Scale up base + data |
Limitations
- Small training set (2,550 examples) β may generate generic responses
- 3B parameter model β can struggle with very complex itinerary JSON
- May hallucinate hotel/restaurant names (no grounding database yet)
- English-only training data
- Not yet evaluated against production benchmarks
License
Apache 2.0 β free for commercial use.
Citation
@misc{shasa2026,
title={Shasa: A Travel-Native Foundation Model},
author={NxVoy Labs},
year={2026},
url={https://huggingface.co/nxvoy-labs/shasa-v0.3}
}
Built by NxVoy β Intelligent Travel Planning
- Downloads last month
- 5
Model tree for nxvoy-labs/shasa-v0.3
Space using nxvoy-labs/shasa-v0.3 1
Evaluation results
- Training Lossself-reported0.158
- Token Accuracyself-reported0.951
- Eval Lossself-reported0.225