This is anecdotal but maybe it can help:
It was very rude of me and I am not proud of it, but when in that situation, I let the person down.
Literally, I played "stupid". I pretended to not get what he was asking and don't know the answer. So, to use your image: I dried out the food source. He went elsewhere and partly learned to find out things himself.
Mind that this was also after trying everything else. When it started to get me into trouble because I wasn't able to finish my work on time, I decided to go a***ole about it.
Today, I would try and speak to her team lead and suggest to get some training or dedicated counselor for her *). At least make someone else aware that she is distracting you from your actual work in an unpleasant manner. As Timmetje points out: don't make it personal. Keep things "grown up" and professional. Point out the practical implications instead of your "being annoyed".
Especially if you are not "hard" enough to just "let her down", you may be better off sharing the weight on your shoulders. If she fails in trainings and it gets her fired, well it's not your fault - she probably shouldn't have been hired in the first place.
Again: should it turn out her behavior gets her into trouble, well - it is not your fault. At the end of the day it may be it's not the right career choice for her. Not everyone can be a developer.
Mind, that I did never give a wrong answer on purpose. All I did was not giving an answer at all. Deceiving the vampire or trying to get him/her into trouble by giving false info will backfire, especially in software development.
*) EDIT: After getting to know that training is all she does: She definitely needs a "godfather" or supervisor to go to. It's absolutely outrageous if she has to bother any (random) co-worker just because she doesn't know whom to ask.
Until she has such a person: Maybe try to "reduce" your help instead of refusing it completely. This would seem unfair to me, now.
If she has some "light" supervision like you had yourself (as you write in comments), then maybe it is helpful to talk to her supervisor about the situation. Not accusingly, not like "she so annoying" but professionally. Maybe the supervisor just needs to supervise her a little more than they did you. Not every person can handle "self-learning" equally well.
And there's also the cultural component I mentioned in comments: Maybe she feels intimidated or embarrassed or otherwise refrains from asking her supervisor directly (I won't speculate about reasoning because that would be irrelevant to you).
My experience with some Asian workers was that I asked "Did you understand what I told you?" , answer was "Yes,sir. No problm [sic]." and they turned around and nearly killed themselves. So maybe the supervisor should be a little more insisting ... of course she can't kill herself ( except she gets you annoyed enough ;D ) but you could save the company dollars wasted on her education and as a side-effect clear the situation between the two of you ...
Disclaimer: No disrespect to Asian workers. They were really nice, intelligent people and fun to work with and be around. However, if I had known their cultural specifics better in the first place, the described situations could have been avoided.