Improvements:
- Use SystemMessage, HumanMessage, and AIMessage from langchain.schema instead of custom classes.
- To avoid dumb questions from users, add validators at each LLM call(or at-least at the vector search validator) to validate the input.
- Adjust the prompt to exclude the id columns(PK, FK) in the select query
- Once max revision is reached for the drafter, respond back to the user with Sorry message
