Don't tell your dog "no" for growling. Growling is good, it is a warning. If you correct your dog for growling, you might teach your dog to skip the growl and go right for the bite.

Work with your dog on her basic training (sit, down, stay, etc.). My lab is like your chi. She might be fine while people are sitting, but when they move she barks. This means she is feeling threatened by them. It'll take time, but if you do what the others said about giving your chi treats when people come over (when she is obeying you and acting calm, otherwise she'll think is GOOD to go bats when people come over) she'll learn to behave. I'm currently working on this with my lab and she is getting a little better all the time.