A puppy should be an absolute MINIMUM of 8 weeks old.
Many breeders keep their puppies until between 10 and 14 weeks. During this time, the puppy is still learning different social behaviors from the mother and the rest of the litter. I recommend waiting to at least 12 weeks to separate the puppy from it's mother and the rest of the litter.
www.ddfl.org