Jet: Production fine-tuning SDK with Unsloth/HF engines, vLLM serving, and REST API
Project description
Jet AI 🚀
Democratize AI model ownership - Build your own custom models for the price of a meal
Stop being a "wrapper" business. Own your AI models instead of paying thousands in API fees to Big Tech.
⚡ Quick Start
from jet import quick_train
# Train your own model in 3 lines
trainer = quick_train(
model_name="microsoft/Phi-3-mini-4k-instruct",
dataset_name="databricks/databricks-dolly-15k"
)
# Chat with your model
response = trainer.chat("Hello, how are you?")
print(response)
🎯 Why Jet AI?
The Problem:
- API Dependency: Most AI startups are just OpenAI/Anthropic wrappers
- Expensive: $1000s/month in API costs for heavy usage
- No Control: Vendor lock-in, rate limits, unpredictable costs
- Generic Models: One-size-fits-all, not tailored to your data
Our Solution:
- Own Your Models: Complete control and independence
- Affordable: $30-100 per custom model (one-time cost)
- Custom Training: Models tailored to your specific data
- No Vendor Lock-in: Deploy anywhere, anytime
🚀 Features
Smart Model Selection
- Curated Catalog: Phi-3, Phi-4, GPT-OSS models optimized for 1-GPU training
- Auto-Detection: Automatically selects the best model for your GPU
- Size Validation: Warns if model won't fit on your hardware
Intelligent Dataset Handling
- Auto-Formatting: Works with any HuggingFace dataset format
- Field Detection: Automatically finds the right text fields
- Smart Preprocessing: Combines instruction/response pairs intelligently
Optimized Training
- Unsloth Engine: 2-4x faster training with FlashAttention2
- QLoRA: 4-bit quantization for memory efficiency
- Mixed Precision: FP16/BF16 for optimal performance
- Auto-Scaling: Automatically uses available GPU resources
Production Ready
- MLflow Integration: Track experiments and model versions
- Easy Deployment: Deploy with vLLM for high-throughput serving
- Comprehensive Testing: 100% test coverage, production-grade reliability
📦 Installation
pip install jet-ai-sdk
💻 Usage Examples
Quick Training (One-Liner)
from jet import quick_train
# Train and test in one line
trainer = quick_train(
"microsoft/Phi-3-mini-4k-instruct",
"databricks/databricks-dolly-15k",
test_prompts=["What is AI?", "Explain machine learning"]
)
Advanced Training
from jet import JetTrainer
# Create trainer with custom settings
trainer = JetTrainer(
model_name="microsoft/Phi-3-mini-4k-instruct",
dataset_name="databricks/databricks-dolly-15k",
output_dir="./my_model"
)
# Train with custom parameters
trainer.train(
epochs=3,
learning_rate=1e-4,
batch_size=2,
merge_weights=True # Merge LoRA weights after training
)
# Evaluate your model
results = trainer.evaluate(
test_prompts=["Test prompt 1", "Test prompt 2"],
references=["Expected answer 1", "Expected answer 2"]
)
# Chat with your model
response = trainer.chat("Hello, how are you?")
Model Management
# Get model information
info = trainer.get_model_info()
print(f"Model: {info['parameters']} parameters")
print(f"GPU Memory: {info['gpu_memory_gb']}GB")
# Save model to specific location
trainer.save_model("./my_saved_model")
🎯 Pricing
| Tier | Price | Models | Datasets | Use Case |
|---|---|---|---|---|
| Starter | $30 | 3B-20B params | Up to 50K examples | Small businesses, experiments |
| Pro | $50 | 20B-70B params | Up to 200K examples | Growing companies, production |
| Enterprise | $100 | 70B+ params | Up to 1M examples | Large organizations, complex tasks |
Compare to API costs:
- OpenAI API: $1000s/month for heavy usage
- Jet AI: $30-100 one-time for your own model
- ROI: Break even in days, not months
🔧 Available Models
Small Models (3B-20B)
microsoft/Phi-3-mini-4k-instruct- 3.8B params, 4GB GPUmicrosoft/Phi-3-mini-128k-instruct- 3.8B params, 6GB GPUmicrosoft/Phi-3-small-8k-instruct- 7B params, 6GB GPU
Medium Models (20B-70B)
microsoft/Phi-3-medium-4k-instruct- 14B params, 8GB GPUmicrosoft/Phi-4-mini- 12B params, 8GB GPUmicrosoft/Phi-3-large-4k-instruct- 28B params, 12GB GPU
Large Models (70B+)
microsoft/Phi-4- 20B params, 16GB GPUgpt-oss:20b- 20B params, 16GB GPU
📊 Available Datasets
- Conversational: Databricks Dolly, OpenAssistant
- Code: The Stack, Code Alpaca
- General: WikiText, BookCorpus
- Custom: Upload your own data
🚀 Deployment
Python SDK
# Deploy with vLLM for production
from jet.service.app import deploy_model
deploy_spec = {
"model": "./my_trained_model",
"api_key": "your-api-key",
"port": 8000
}
deploy_model(deploy_spec)
REST API
# Start the API server (for frontend integration)
jet api
# API Documentation: http://localhost:8000/docs
🧪 Testing
# Run the test suite
pytest tests/ -v
# Run the demo
python examples/demo.py
📚 Documentation
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
📄 License
Apache 2.0 - see LICENSE for details.
🎯 Mission
Democratize AI model ownership - Make custom AI models accessible to everyone, not just Big Tech.
Ready to own your AI future?
pip install jet-ai-sdk
Start building today! 🚀
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jet_ai_sdk-0.2.0.tar.gz.
File metadata
- Download URL: jet_ai_sdk-0.2.0.tar.gz
- Upload date:
- Size: 27.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4fdb0affae481bfc3a5be9d887b6bc88229d0cd34174c858030d1f2617a720a
|
|
| MD5 |
2e7eef808d5693979f8e864eb5bb1ff0
|
|
| BLAKE2b-256 |
5c9a1d77262ee1b9e6f3d65fcfa50e9f95eae0689a483006ca30d64dfb7078a9
|
File details
Details for the file jet_ai_sdk-0.2.0-py3-none-any.whl.
File metadata
- Download URL: jet_ai_sdk-0.2.0-py3-none-any.whl
- Upload date:
- Size: 27.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f5efeeff44445effd5f2c4c632ad4ff1509791ca4107b853c78868287fc4935
|
|
| MD5 |
dbf18b34c2ce6401c4e77f42d6ea776c
|
|
| BLAKE2b-256 |
ffd27a0887a2331a1bc0f7786fc527b8b1a6e70572dc25df208175182729e695
|