Agent should be trained on the documents provided as source and able to answer to the questions
Agent should not answer any irrelevant questions outside of the document , it should not go beyond the source document it should respond that the "it is not relevant question to answer "
Document search, Vector DB, Simple LLM to be used internally
Use any of the Vector DB
use the long term memory memory with BM25 indexing for improved accuracy
use short term memory for current interactions
Context should be stored externally with redis cache to save that in the session and user can comeback and start the chat
Read the question from user, plan the question to make it better retrieve from the Vector DB , see if the relevant information is there in the question, if so get the results if not throw a message that ask question about relevant information
Don't use LLM to answer any question irrelevant, Only users who are authenticated with OKTA should use this agent. Any modification should be permitted explicitly by user, The agent should not go to open internet to answer the questions it should always reference to the Vector DB provided