Initial commit
This commit is contained in:
92
skills/modal/references/getting-started.md
Normal file
92
skills/modal/references/getting-started.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# Getting Started with Modal
|
||||
|
||||
## Sign Up
|
||||
|
||||
Sign up for free at https://modal.com and get $30/month of credits.
|
||||
|
||||
## Authentication
|
||||
|
||||
Set up authentication using the Modal CLI:
|
||||
|
||||
```bash
|
||||
modal token new
|
||||
```
|
||||
|
||||
This creates credentials in `~/.modal.toml`. Alternatively, set environment variables:
|
||||
- `MODAL_TOKEN_ID`
|
||||
- `MODAL_TOKEN_SECRET`
|
||||
|
||||
## Basic Concepts
|
||||
|
||||
### Modal is Serverless
|
||||
|
||||
Modal is a serverless platform - only pay for resources used and spin up containers on demand in seconds.
|
||||
|
||||
### Core Components
|
||||
|
||||
**App**: Represents an application running on Modal, grouping one or more Functions for atomic deployment.
|
||||
|
||||
**Function**: Acts as an independent unit that scales up and down independently. No containers run (and no charges) when there are no live inputs.
|
||||
|
||||
**Image**: The environment code runs in - a container snapshot with dependencies installed.
|
||||
|
||||
## First Modal App
|
||||
|
||||
Create a file `hello_modal.py`:
|
||||
|
||||
```python
|
||||
import modal
|
||||
|
||||
app = modal.App(name="hello-modal")
|
||||
|
||||
@app.function()
|
||||
def hello():
|
||||
print("Hello from Modal!")
|
||||
return "success"
|
||||
|
||||
@app.local_entrypoint()
|
||||
def main():
|
||||
hello.remote()
|
||||
```
|
||||
|
||||
Run with:
|
||||
```bash
|
||||
modal run hello_modal.py
|
||||
```
|
||||
|
||||
## Running Apps
|
||||
|
||||
### Ephemeral Apps (Development)
|
||||
|
||||
Run temporarily with `modal run`:
|
||||
```bash
|
||||
modal run script.py
|
||||
```
|
||||
|
||||
The app stops when the script exits. Use `--detach` to keep running after client exits.
|
||||
|
||||
### Deployed Apps (Production)
|
||||
|
||||
Deploy persistently with `modal deploy`:
|
||||
```bash
|
||||
modal deploy script.py
|
||||
```
|
||||
|
||||
View deployed apps at https://modal.com/apps or with:
|
||||
```bash
|
||||
modal app list
|
||||
```
|
||||
|
||||
Stop deployed apps:
|
||||
```bash
|
||||
modal app stop app-name
|
||||
```
|
||||
|
||||
## Key Features
|
||||
|
||||
- **Fast prototyping**: Write Python, run on GPUs in seconds
|
||||
- **Serverless APIs**: Create web endpoints with a decorator
|
||||
- **Scheduled jobs**: Run cron jobs in the cloud
|
||||
- **GPU inference**: Access T4, L4, A10, A100, H100, H200, B200 GPUs
|
||||
- **Distributed volumes**: Persistent storage for ML models
|
||||
- **Sandboxes**: Secure containers for untrusted code
|
||||
Reference in New Issue
Block a user