import sys
from pathlib import Path

sys.path.insert(0, str(Path(__file__).parent.parent.parent.parent.parent))
from app.services.training_platform.qwen.config import TrainingConfig
from app.services.training_platform.qwen.sft_trainer import SFTTrainer
from common_logging import get_logger

logger = get_logger(__name__)

job_dir = Path('app/services/training_platform/models/jobs/smoke_sft')
job_dir.mkdir(parents=True, exist_ok=True)
model_dir = Path('app/services/training_platform/models/base_models/Qwen/Qwen3___5-9B')
config = TrainingConfig(num_epochs=1, logging_steps=1)
dataset = [{'prompt': '你是谁？', 'completion': '我是一个用于测试本地训练链路的模型。'}, {'prompt': '今天天气怎么样？', 'completion': '这是一个训练样本回复。'}]
trainer = SFTTrainer(str(model_dir), config, job_dir)
trainer.train(dataset)
logger.info('SMOKE_TRAIN_OK')
print('SMOKE_TRAIN_OK')
