def METHOD_NAME(self, prompt):
    """
    Get a response from the LLM server for the given npc.
    Args:
        prompt (str or list): The prompt to send to the LLM server. If a list,
            this is assumed to be the chat history so far, and will be added to the
            prompt in a way suitable for the api.
    Returns:
        str: The generated text response. Will return an empty string
            if there is an issue with the server, in which case the
            the caller is expected to handle this gracefully.
    """
    status_code, response = yield self._get_response_from_llm_server(prompt)
    if status_code == 200:
        if settings.DEBUG:
            logger.log_info(f"LLM response: {response}")
        return json.loads(response)["results"][0]["text"]
    else:
        logger.log_err(f"LLM API error (status {status_code}): {response}")
        return ""