How to communicate with a knowledge base in natural language using LLM and objectively evaluate the performance of the resulting system