YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

Model Details

Model Name: Fine-Tuned BART for Customer Support Resolution Generation

Base Model: facebook/bart-base

Dataset: bitext/Bitext-customer-support-llm-chatbot-training-dataset

Training Device: CUDA (GPU)


Dataset Information

Dataset Structure: DatasetDict({ train: Dataset({ features: ['input_text', 'target_text'], num_rows: 24184 }) validation: Dataset({ features: ['input_text', 'target_text'], num_rows: 2688 }) })

Available Splits:

  • Train: 24,184 examples
  • Validation: 2,688 examples

Feature Representation:

  • input_text: Customer issue text (e.g., "Customer: How do I cancel my order?")
  • target_text: Resolution text (e.g., "Log into the portal and cancel it there.")

Training Details

Training Process:

  • Fine-tuned for 3 epochs
  • Loss reduced progressively across epochs

Hyperparameters:

  • Epochs: 3
  • Learning Rate: 2e-5
  • Batch Size: 8
  • Weight Decay: 0.01
  • Mixed Precision: FP16

Performance Metrics:

  • Final Training Loss: ~0.0140
  • Final Validation Loss: ~0.0121

Inference Example

import torch
from transformers import BartForConditionalGeneration, BartTokenizer

def load_model(model_path):
    tokenizer = BartTokenizer.from_pretrained(model_path)
    model = BartForConditionalGeneration.from_pretrained(model_path).half()  # FP16
    model.eval()
    return model, tokenizer

def generate_resolution(issue, model, tokenizer, device="cuda"):
    input_text = f"Customer: {issue}"
    inputs = tokenizer(
        input_text,
        max_length=512,
        padding="max_length",
        truncation=True,
        return_tensors="pt"
    ).to(device)
    outputs = model.generate(
        inputs["input_ids"],
        max_length=128,
        num_beams=4,
        early_stopping=True
    )
    return tokenizer.decode(outputs[0], skip_special_tokens=True)

# Example usage
if __name__ == "__main__":
    model_path = "your-username/bart-resolution-summarizer-fp16"  # Replace with your HF repo
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    model, tokenizer = load_model(model_path)
    model.to(device)

    issue = "How do I cancel my order?"
    resolution = generate_resolution(issue, model, tokenizer, device)
    print(f"Issue: {issue}")
    print(f"Resolution: {resolution}")
Expected Output:


Issue: How do I cancel my order?
Resolution: Log into the portal and cancel it there.

Limitations

Model may struggle with issues requiring specific resolutions not well-represented in the training data (e.g., time-related queries like "When can I call support?"). Resolution extraction relied on heuristics, potentially missing nuanced answers in verbose responses.

Future Improvements

Refine resolution extraction with more advanced NLP techniques or manual curation. Fine-tune on additional customer support datasets for broader coverage.

Downloads last month
16
Safetensors
Model size
0.1B params
Tensor type
F16
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Space using AventIQ-AI/bart_customer_ticket_raiser 1