TerryStewart commited on
Commit
de9fc7b
·
verified ·
1 Parent(s): 4552ca6

Delete README.md

Browse files
Files changed (1) hide show
  1. README.md +0 -92
README.md DELETED
@@ -1,92 +0,0 @@
1
- # 🚀 Example Chute for Turbovision 🪂
2
-
3
- This repository demonstrates how to deploy a **Chute** via the **Turbovision CLI**, hosted on **Hugging Face Hub**.
4
- It serves as a minimal example showcasing the required structure and workflow for integrating machine learning models, preprocessing, and orchestration into a reproducible Chute environment.
5
-
6
- ## Repository Structure
7
- The following two files **must be present** (in their current locations) for a successful deployment — their content can be modified as needed:
8
-
9
- | File | Purpose |
10
- |------|----------|
11
- | `miner.py` | Defines the ML model type(s), orchestration, and all pre/postprocessing logic. |
12
- | `config.yml` | Specifies machine configuration (e.g., GPU type, memory, environment variables). |
13
-
14
- Other files — e.g., model weights, utility scripts, or dependencies — are **optional** and can be included as needed for your model. Note: Any required assets must be defined or contained **within this repo**, which is fully open-source, since all network-related operations (downloading challenge data, weights, etc.) are disabled **inside the Chute**
15
-
16
- ## Overview
17
-
18
- Below is a high-level diagram showing the interaction between Huggingface, Chutes and Turbovision:
19
-
20
- ![](../../../../images/miner.png)
21
-
22
- ## Local Testing
23
- After editing the `config.yml` and `miner.py` and saving it into your Huggingface Repo, you will want to test it works locally.
24
-
25
- 1. Copy the file `scorevision/miner/open_source/chute_template/turbovision_chute.py.j2` as a python file called `my_chute.py` and fill in the missing variables:
26
- ```python
27
- HF_REPO_NAME = "{{ huggingface_repository_name }}"
28
- HF_REPO_REVISION = "{{ huggingface_repository_revision }}"
29
- CHUTES_USERNAME = "{{ chute_username }}"
30
- CHUTE_NAME = "{{ chute_name }}"
31
- ```
32
-
33
- 2. Run the following command to build the chute locally (Caution: there are known issues with the docker location when running this on a mac)
34
- ```bash
35
- chutes build my_chute:chute --local --public
36
- ```
37
-
38
- 3. Run the name of the docker image just built (i.e. `CHUTE_NAME`) and enter it
39
- ```bash
40
- docker run -p 8000:8000 -e CHUTES_EXECUTION_CONTEXT=REMOTE -it <image-name> /bin/bash
41
- ```
42
-
43
- 4. Run the file from within the container
44
- ```bash
45
- chutes run my_chute:chute --dev --debug
46
- ```
47
-
48
- 5. In another terminal, test the local endpoints to ensure there are no bugs
49
- ```bash
50
- curl -X POST http://localhost:8000/health -d '{}'
51
- curl -X POST http://localhost:8000/predict -d '{"url": "https://scoredata.me/2025_03_14/35ae7a/h1_0f2ca0.mp4","meta": {}}'
52
- ```
53
-
54
- ## Live Testing
55
- 1. If you have any chute with the same name (ie from a previous deployment), ensure you delete that first (or you will get an error when trying to build).
56
- ```bash
57
- chutes chutes list
58
- ```
59
- Take note of the chute id that you wish to delete (if any)
60
- ```bash
61
- chutes chutes delete <chute-id>
62
- ```
63
-
64
- You should also delete its associated image
65
- ```bash
66
- chutes images list
67
- ```
68
- Take note of the chute image id
69
- ```bash
70
- chutes images delete <chute-image-id>
71
- ```
72
-
73
- 2. Use Turbovision's CLI to build, deploy and commit on-chain (Note: you can skip the on-chain commit using `--no-commit`. You can also specify a past huggingface revision to point to using `--revision` and/or the local files you want to upload to your huggingface repo using `--model-path`)
74
- ```bash
75
- sv -vv deploy-os-miner --element-id <element_id>
76
- ```
77
-
78
- 3. When completed, warm up the chute (if its cold 🧊). (You can confirm its status using `chutes chutes list` or `chutes chutes get <chute-id>` if you already know its id). Note: Warming up can sometimes take a while but if the chute runs without errors (should be if you've tested locally first) and there are sufficient nodes (i.e. machines) available matching the `config.yml` you specified, the chute should become hot 🔥!
79
- ```bash
80
- chutes warmup <chute-id>
81
- ```
82
-
83
- 4. Test the chute's endpoints
84
- ```bash
85
- curl -X POST https://<YOUR-CHUTE-SLUG>.chutes.ai/health -d '{}' -H "Authorization: Bearer $CHUTES_API_KEY"
86
- curl -X POST https://<YOUR-CHUTE-SLUG>.chutes.ai/predict -d '{"url": "https://scoredata.me/2025_03_14/35ae7a/h1_0f2ca0.mp4","meta": {}}' -H "Authorization: Bearer $CHUTES_API_KEY"
87
- ```
88
-
89
- 5. Test what your chute would get on a validator (this also applies any validation/integrity checks which may fail if you did not use the Turbovision CLI above to deploy the chute)
90
- ```bash
91
- sv -vv run-once
92
- ```