# 🧪 Quick Test Commands for Single Training Sample ## Method 1: Using the Test Script (Easiest) ```bash cd /workspace/ftt/codellama-migration source /venv/main/bin/activate python3 test_single_sample.py ``` This will: - Load the first sample from `datasets/processed/split/train.jsonl` - Show the instruction and expected response - Load the fine-tuned model - Generate and display the output --- ## Method 2: Direct Inference Command ### Test with a specific prompt from training data: ```bash cd /workspace/ftt/codellama-migration source /venv/main/bin/activate python3 scripts/inference/inference_codellama.py \ --mode local \ --model-path training-outputs/codellama-fifo-v1 \ --base-model-path models/base-models/CodeLlama-7B-Instruct \ --prompt "You are Elinnos RTL Code Generator v1.0, a specialized Verilog/SystemVerilog code generation agent. Your role: Generate clean, synthesizable RTL code for hardware design tasks. Output ONLY functional RTL code with no \$display, assertions, comments, or debug statements. Generate a synchronous FIFO with 8-bit data width, depth 4, write_enable, read_enable, full flag, empty flag, write_err flag (pulses if write when full), and read_err flag (pulses if read when empty)." \ --max-new-tokens 800 \ --temperature 0.3 ``` --- ## Method 3: Extract Sample and Test ### Extract a specific sample by line number: ```bash cd /workspace/ftt/codellama-migration source /venv/main/bin/activate # Extract sample 1 (first line) SAMPLE=$(sed -n '1p' datasets/processed/split/train.jsonl) INSTRUCTION=$(echo $SAMPLE | python3 -c "import sys, json; print(json.load(sys.stdin)['instruction'])") python3 scripts/inference/inference_codellama.py \ --mode local \ --model-path training-outputs/codellama-fifo-v1 \ --prompt "$INSTRUCTION" \ --max-new-tokens 800 \ --temperature 0.3 ``` ### Or use Python one-liner: ```bash cd /workspace/ftt/codellama-migration source /venv/main/bin/activate python3 -c " import json from pathlib import Path # Load first training sample with open('datasets/processed/split/train.jsonl', 'r') as f: sample = json.loads(f.readline()) instruction = sample['instruction'] print('Testing with instruction:') print(instruction[:200] + '...') print() # Now run inference import sys sys.path.insert(0, 'scripts/inference') from inference_codellama import load_local_model, generate_with_local_model model, tokenizer = load_local_model( 'training-outputs/codellama-fifo-v1', 'models/base-models/CodeLlama-7B-Instruct' ) response = generate_with_local_model( model, tokenizer, instruction, max_new_tokens=800, temperature=0.3, stream=False ) print('=' * 80) print('GENERATED OUTPUT:') print('=' * 80) print(response) " ``` --- ## Method 4: Interactive Mode Test interactively with your own prompts: ```bash cd /workspace/ftt/codellama-migration source /venv/main/bin/activate python3 scripts/inference/inference_codellama.py \ --mode local \ --model-path training-outputs/codellama-fifo-v1 ``` Then type your prompt when prompted. --- ## Method 5: Test Specific Sample Number To test sample N from training data: ```bash cd /workspace/ftt/codellama-migration source /venv/main/bin/activate # Test sample 2 (change N=2 to any sample number) N=2 INSTRUCTION=$(sed -n "${N}p" datasets/processed/split/train.jsonl | python3 -c "import sys, json; print(json.load(sys.stdin)['instruction'])") python3 scripts/inference/inference_codellama.py \ --mode local \ --model-path training-outputs/codellama-fifo-v1 \ --prompt "$INSTRUCTION" \ --max-new-tokens 800 \ --temperature 0.3 ``` --- ## Quick Reference **Model Path:** `training-outputs/codellama-fifo-v1` **Base Model:** `models/base-models/CodeLlama-7B-Instruct` **Training Data:** `datasets/processed/split/train.jsonl` **Test Data:** `datasets/processed/split/test.jsonl` **Recommended Parameters:** - `--max-new-tokens 800` (for longer code) - `--temperature 0.3` (deterministic code generation) - `--temperature 0.1` (very deterministic, try if getting text instead of code)