I've had the same problem with my spirited dd, now 5 months, since she was 3 months old!
She likes looking at our tv remote (it has different coloured buttons on it) so I hold it in front of her face and sometimes that keeps her from coming off the breast during feeds. But this only helps a little.
I also got professional advice from a nurse - first we tried feeding her more often, with the aim of ensuring she gets enough calories during the day, but that didn't work. Now we're going to try stretching out her feeds to 4-hourly in the hope that when she does feed, she feeds properly.
Good luck for both of us!
Violet from NZ.