Nigerian Bank Customer Service Assistant
Overview
This is a
Gemma-3-4B instruction-tuned model fine-tuned to handle customer service conversations for a Nigerian bank. The fine-tuning data reflects Nigerian customer-service interactions, so the model's responses are tuned to Nigerian tone and phrasing patterns as they appear in text (e.g. common Nigerian English expressions and code-switching seen in chat/support transcripts). It was trained with
Unsloth and Hugging Face's TRL library using parameter-efficient (LoRA) fine-tuning.
Training Details
| |
|---|
| Base model | unsloth/gemma-3-4b-it-unsloth-bnb-4bit (Gemma 3, 4B, 4-bit quantized) |
| Method | Supervised fine-tuning with LoRA (via Unsloth + Hugging Face TRL) |
| LoRA rank (r) | 8 |
| LoRA alpha | 8 |
| LoRA dropout | 0 |
| Target modules | Attention projections (q_proj, k_proj, v_proj, o_proj) and MLP projections (gate_proj, up_proj, down_proj) of the language model |
| Task type | Causal LM |
| Precision | float16 |
This repository hosts the full fine-tuned model weights (merged, fp16, split across two safetensors shards) as well as the standalone LoRA adapter (adapter_model.safetensors) used to produce them, so the adapter can also be applied on top of the base model directly if preferred.
Training data, dataset size, and number of training steps/epochs are not recorded in this repository's metadata and are not published here.
Intended Use
- Financial services customer support conversations
- Loan application assistance and status inquiries
- Chat-based customer interaction with Nigerian tone and accent patterns in text
This model is intended as a domain-specific assistant for Nigerian banking customer service scenarios rather than as a general-purpose chat model.
How to Use
The repository contains the full merged model, so it can be loaded directly with transformers (no separate adapter step required):
1import torch
2from transformers import AutoProcessor, Gemma3ForConditionalGeneration
3
4model_id = "Ephraimmm/customer-service"
5
6model = Gemma3ForConditionalGeneration.from_pretrained(
7 model_id,
8 device_map="auto",
9 torch_dtype=torch.float16,
10)
11processor = AutoProcessor.from_pretrained(model_id)
12
13messages = [
14 {"role": "user", "content": [{"type": "text", "text": "Good day, please I want to check on my loan application status."}]}
15]
16
17inputs = processor.apply_chat_template(
18 messages,
19 add_generation_prompt=True,
20 tokenize=True,
21 return_dict=True,
22 return_tensors="pt",
23).to(model.device)
24
25with torch.no_grad():
26 output_ids = model.generate(**inputs, max_new_tokens=256)
27
28response = processor.decode(
29 output_ids[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True
30)
31print(response)
Alternatively, load with Unsloth for faster inference:
1from unsloth import FastModel
2
3model, tokenizer = FastModel.from_pretrained(
4 model_name="Ephraimmm/customer-service",
5 max_seq_length=2048,
6 load_in_4bit=True,
7)
8FastModel.for_inference(model)
If you only want the LoRA weights, adapter_config.json / adapter_model.safetensors in this repo can be loaded on top of the base model unsloth/gemma-3-4b-it-unsloth-bnb-4bit with peft.
Limitations
- This is a domain-specific model tuned for a narrow use case (Nigerian bank customer service, loan-related queries); it has not been evaluated against standard NLP/LLM benchmarks.
- No formal evaluation metrics, accuracy figures, or benchmark scores are published for this model — do not assume performance figures not stated here.
- As with any fine-tuned LLM, outputs should be reviewed before use in a production financial-services context, particularly for compliance-sensitive communication.
- The base architecture (Gemma 3) supports multimodal (image+text) input, but this fine-tune was produced for text-based customer service interaction.
Author
This gemma3 model was trained 2x faster with
Unsloth and Hugging Face's TRL library.