--- title: code-chef ModelOps Trainer emoji: 🏗️ colorFrom: blue colorTo: purple sdk: docker app_port: 7860 pinned: false license: apache-2.0 hardware: t4-small --- # code-chef ModelOps Trainer AutoTrain-powered fine-tuning service for code-chef agents. ## Features - **AutoTrain Integration**: Simplified model training with auto-configuration - **REST API**: Submit and monitor training jobs programmatically - **Web UI**: Gradio interface for manual testing - **Multi-Method Support**: SFT, DPO, and Reward Modeling - **Demo Mode**: Quick validation runs (100 examples, 1 epoch) - **Production Mode**: Full training runs with optimal settings ## API Endpoints ### POST /train Submit a new training job **Request Body**: ```json { "agent_name": "feature_dev", "base_model": "Qwen/Qwen2.5-Coder-7B", "dataset_csv": "", "training_method": "sft", "demo_mode": false, "config_overrides": { "learning_rate": 2e-5, "num_train_epochs": 3 } } ``` **Response**: ```json { "job_id": "job_20251210_123456_feature_dev", "status": "pending", "message": "Training job submitted successfully" } ``` ### GET /status/{job_id} Get training job status **Response**: ```json { "job_id": "job_20251210_123456_feature_dev", "status": "running", "progress_pct": 45.0, "current_step": 850, "total_steps": 1200, "current_loss": 1.23, "hub_repo": "appsmithery/code-chef-feature-dev-20251210-123456", "tensorboard_url": "https://tensorboard.dev/experiment/xyz" } ``` ### GET /health Health check **Response**: ```json { "status": "healthy", "service": "code-chef-modelops-trainer", "autotrain_available": true, "hf_token_configured": true } ``` ## Environment Variables Set these in Space Settings > Variables and secrets: - `HF_TOKEN` or `HUGGINGFACE_TOKEN`: HuggingFace write access token (required) ## Dataset Format CSV with two columns: - `text`: Input prompt/instruction - `response`: Expected output Example: ```csv text,response "Add JWT auth to Express API","const jwt = require('jsonwebtoken');\n..." "Fix memory leak in React","Use useEffect cleanup function:\n..." ``` ## Usage from code-chef ```python import requests import base64 # Prepare dataset csv_content = dataset.to_csv(index=False).encode() encoded_csv = base64.b64encode(csv_content).decode() # Submit training job response = requests.post( "https://appsmithery-code-chef-modelops-trainer.hf.space/train", json={ "agent_name": "feature_dev", "base_model": "Qwen/Qwen2.5-Coder-7B", "dataset_csv": encoded_csv, "training_method": "sft", "demo_mode": False } ) job_id = response.json()["job_id"] # Monitor status status_response = requests.get( f"https://appsmithery-code-chef-modelops-trainer.hf.space/status/{job_id}" ) print(status_response.json()) ``` ## Hardware Default: `t4-small` GPU (good for models up to 3B) Upgrade to `a10g-large` for 3-7B models via Space Settings. ## Cost Estimates - **Demo run**: 100 examples, 1 epoch, ~5 minutes, ~$0.50 - **Production run**: Full dataset, 3 epochs, ~90 minutes, ~$3.50-$15 ## License Apache 2.0 ## Related - [code-chef GitHub](https://github.com/Appsmithery/Dev-Tools) - [AutoTrain Advanced](https://github.com/huggingface/autotrain-advanced) - [Linear Roadmap](https://linear.app/dev-ops/project/chef-210)