Which method to choose for a chat bot that answers questions about a specific service?

Let’s imagine that there is Bank X. I want to create a chatbot that should answer user questions about this bank. How to get a loan, what are the conditions, why is my card blocked, and so on.
What’s the best approach?

  1. Prepare a dataset in advance with detailed information about this bank x. Split documents, tokenize each part and store it in a vector database. After a request from the user, I use semantic search to find the most suitable document, then extract and generate a response from the document using language models (for example Mistral or Llama)

  2. From a pre-prepared dataset, generate a new dataset that will consist of a question and an answer. For example, for document 1, generate 5 questions and answers that refer to this document and create a dataset in the format context(document) : question : answer
    Then take Mistral and train this model based on this dataset and create a model that will subsequently generate answers to user questions

Please give me advice on which option is the most optimal in terms of costs, accuracy, response speed, scalability, and so on