Understanding these fundamental concepts will help you make the most of LangTrain's platform for training and deploying AI models.
1import langtrain23client = langtrain.LangTrain()45# Create a text classification model6model = client.models.create(7 name="email-classifier",8 type="text-classification",9 description="Classify emails as spam or not spam",10 labels=["spam", "not_spam"]11)1213print(f"Created model: {model.id}")
1# Upload training data2dataset = client.datasets.upload(3 name="email-training-data",4 file_path="./email_data.json",5 format="json"6)78# Preview dataset9preview = dataset.preview(n_samples=5)10print("Sample data:")11for sample in preview:12 print(f"Text: {sample['text'][:50]}...")13 print(f"Label: {sample['label']}")1415# Get dataset statistics16stats = dataset.get_stats()17print(f"Total samples: {stats['total_samples']}")18print(f"Label distribution: {stats['label_distribution']}")
1# Start training with automatic evaluation2training_job = model.train(3 dataset_id=dataset.id,4 validation_split=0.2,5 auto_tune=True,6 evaluation_metrics=["accuracy", "f1", "precision", "recall"]7)89# Monitor training progress10for update in training_job.stream_progress():11 print(f"Step {update.step}: Loss={update.loss:.4f}, Accuracy={update.accuracy:.3f}")1213# Get final evaluation results14results = training_job.get_results()15print(f"Final accuracy: {results.metrics['accuracy']:.3f}")16print(f"F1 score: {results.metrics['f1']:.3f}")
1# Fine-tune from a pre-trained model2model = client.models.create(3 name="custom-sentiment-model",4 type="text-classification",5 base_model="bert-base-uncased", # Start from pre-trained BERT6 fine_tuning_config={7 "learning_rate": 2e-5,8 "num_epochs": 3,9 "strategy": "full" # or "lora" for efficient tuning10 }11)1213# Train on your specific data14training_job = model.fine_tune(15 dataset_id=your_dataset.id,16 validation_split=0.1517)1819print(f"Fine-tuning started: {training_job.id}")