Quick Reference Guide¶
Interactive Model Selection¶
All model-related make commands now feature interactive selection menus. No need to remember or type long paths!
Chat with a Model¶
make chat
What happens:
1. Shows numbered list of all available models
2. You select which model to chat with
3. Starts an interactive chat session
4. Type messages and get responses
5. Use /bye or Ctrl+D to exit
Example output:
๐ฌ Chat with a model
๐ฆ Available models:
[1] llama3.2:1b (1.3 GB)
[2] mistral:7b (4.1 GB)
[3] my-chatbot (1.3 GB) โญ
[4] my-code-helper (1.3 GB) โญ
[0] Cancel
Select a model to chat with [0-4]: 3
๐ Starting chat with: my-chatbot
๐ก Tips:
- Type your messages and press Enter
- Use /bye to exit the chat
- Use Ctrl+D to exit
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
>>> Hello! How are you?
I'm doing great, thanks for asking! How can I help you today?
>>> Tell me a joke
Why don't scientists trust atoms? Because they make up everything!
>>> /bye
๐ Chat ended
Create a Custom Model¶
make create-model
What happens:
1. Shows numbered list of all Modelfiles in models/examples/ and models/custom/
2. You select by number
3. You enter a name for your new model
4. Model is created
Example output:
๐จ Create a custom model
๐ Available Modelfiles:
[1] examples/chatbot/Modelfile
[2] examples/code-assistant/Modelfile
[3] examples/creative-writer/Modelfile
[4] examples/personal-assistant/Modelfile
[5] examples/translator/Modelfile
[6] custom/my-custom-bot/Modelfile
[0] Enter custom path
Select a Modelfile [0-6]: 2
Enter name for the new model: my-code-helper
Save a Model for Deployment¶
make save-model
What happens:
1. Shows numbered list of all models in your Ollama instance
2. You select which model to save
3. Saves Modelfile to models/saved/
Example output:
๐พ Save a model for deployment
๐ฆ Available models:
[1] llama3.2:1b
[2] mistral:7b
[3] my-chatbot
[4] my-code-helper
[5] production-assistant
[0] Enter custom name
Select a model [0-5]: 3
๐พ Saving model: my-chatbot
Output: ./models/saved/my-chatbot.Modelfile
โ
Model saved successfully!
Deploy a Saved Model¶
make deploy-model
What happens:
1. Shows numbered list of saved Modelfiles in models/saved/
2. You select which one to deploy
3. Optionally rename it during deployment
4. Model is created in your Ollama instance
Example output:
๐ Deploy a saved model
๐พ Available saved models:
[1] my-chatbot.Modelfile
[2] production-bot.Modelfile
[3] team-assistant.Modelfile
[0] Enter custom path
Select a saved model [0-3]: 1
Enter model name (press Enter to use filename):
๐ Deploying model: my-chatbot
โ
Model deployed successfully!
Direct Script Usage¶
If you prefer command-line arguments, you can still use the scripts directly:
# Create model (specify path)
bash scripts/create-custom-model.sh my-bot ./models/examples/chatbot/Modelfile
# Save model (specify name)
bash scripts/save-model.sh my-chatbot
# Deploy model (specify path)
bash scripts/deploy-model.sh ./models/saved/my-chatbot.Modelfile
# Or deploy with custom name
bash scripts/deploy-model.sh ./models/saved/my-chatbot.Modelfile renamed-bot
Cheat Sheet¶
| Task | Command | Interactive? |
|---|---|---|
| Check requirements | make preflight |
No |
| Start all services (Ollama + Chat UI) | make up |
No |
| Start Ollama only (no web UI) | make up-core |
No |
| Start with NVIDIA GPU | make up-gpu |
No |
| Stop services | make down |
No |
| View logs | make logs |
No |
| Shell access | make shell |
No |
| Pull base models | make pull-base |
No |
| List models | make list-models |
No |
| Create custom model | make create-model |
Yes - select Modelfile |
| Chat with model | make chat |
Yes - select model |
| Save model | make save-model |
Yes - select model |
| Deploy model | make deploy-model |
Yes - select saved file |
| Publish model to registry | make publish-model |
Yes - select model |
| Export model + weights (tar) | make export-full |
Yes - select model |
| Import full model archive | make import-full |
Yes - select archive |
| Backup all models | make backup-models |
No |
| Quick test | make quick-test |
Yes - confirmation |
| Validation tests | make test |
No |
| Clean up | make clean |
Yes - confirmation |
Choosing a Base Model (2026)¶
The project's examples default to the lightweight llama3.2:1b โ keep using it for learning and quick iteration. Modern lightweight alternatives worth trying with ollama pull:
| Model | Approx. size | Approx. RAM needed | Notes |
|---|---|---|---|
llama3.2:1b |
~1.3 GB | ~4 GB | Project default |
qwen3:0.6b / qwen3:1.7b |
~0.5 / ~1.4 GB | ~2 / ~4 GB | Small, strong; optional thinking mode |
gemma3:1b |
~815 MB | ~4 GB | Very compact |
gemma3:4b |
~3.3 GB | ~8 GB | Multimodal, 128K context |
phi4-mini |
~2.5 GB | ~8 GB | Compact and efficient |
qwen3:8b |
~5 GB | ~16 GB | Heavier, for capable machines |
gpt-oss:20b |
~13 GB | ~16 GB | Heavier, for capable machines |
See Essential Concepts - Choosing a Base Model for details.
Directory Structure¶
models/
โโโ examples/ # Pre-configured example Modelfiles
โ โโโ chatbot/
โ โ โโโ Modelfile
โ โโโ code-assistant/
โ โ โโโ Modelfile
โ โโโ ...
โโโ custom/ # Your custom Modelfiles
โ โโโ my-bot/
โ โโโ Modelfile
โโโ saved/ # Saved models ready for deployment
โโโ my-chatbot.Modelfile
โโโ production-bot.Modelfile
Tips¶
- Option [0] in any selection menu lets you enter a custom path/name
- Saved models are stored in
models/saved/by default - Backups include timestamps:
backups/models/YYYYMMDD_HHMMSS/ - You can still use scripts directly with paths if you prefer
- All interactive commands can be cancelled with Ctrl+C
Common Workflows¶
Quick Test of Example Model¶
make up # Start Ollama
make pull-base # Get base models
make create-model # Select example, name it
make chat # Select your model and start chatting!
Deploy to Production¶
# On dev server:
make save-model # Select your model
# Transfer file:
scp ./models/saved/my-model.Modelfile user@prod:/opt/ollama/models/saved/
# On prod server:
make deploy-model # Select the transferred file
Regular Backup¶
make backup-models # Backs up all custom models
# Files saved to: ./backups/models/YYYYMMDD_HHMMSS/
Quick Test¶
Test the complete workflow:
make quick-test
What happens: 1. Asks for confirmation 2. Creates a temporary test model 3. Sends a test prompt: "Hello! Can you introduce yourself in one sentence?" 4. Displays the response 5. Deletes the test model 6. Shows success summary
Example output:
๐งช Quick Model Test
This will:
1. Create a test model from an example
2. Send a test prompt to it
3. Delete the test model
Continue? (y/N): y
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Step 1/3: Creating test model 'test-chatbot-1701234567'
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Test Details:
Base Model: llama3.2:1b
Modelfile: ./models/examples/chatbot/Modelfile
Test Model: test-chatbot-1701234567
๐จ Creating custom model: test-chatbot-1701234567
โ
Model created successfully!
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฌ Step 2/3: Testing model with a prompt
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Sending test prompt: 'Hello! Can you introduce yourself in one sentence?'
Response:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
I'm a helpful AI assistant designed to provide accurate and
clear answers to your questions.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐๏ธ Step 3/3: Cleaning up test model
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
deleted 'test-chatbot-1701234567'
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
Quick test completed successfully!
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Summary:
โ Model creation works (base: llama3.2:1b)
โ Model responds to prompts
โ Model cleanup works
You can now create your own models with:
make create-model
Note: Output is automatically cleaned for readability (ANSI escape codes removed).