How is the application initialized?
Let's say the user launched the application using the REPL, i.e., by executing:
source venv/bin/activate
python3 -m aurora
Now, they want to just enter questions, which we shall answer.
But: A lot of stuff has to happen in between:
- We need to establish a connection to Ollama (under which URL?)
- We need to establish a connection to the vector database (where is it? which one?)
- Maybe there is no vector database yet, then we need to create it (how?)
- To do so, we need the data (where is it?)
- Then we need to load the model (which one?), system prompt etc.
Some of these things might be dynamically configured via config files. Others are okay to hard-code, but they still need to be hard coded somewhere.
Ultimately, the app needs an instance of KnowledgeBase and Assistant, so this question boils (from a technical perspective) down to: Where (which module, method, ...) do these instances come from?
Edited by Jakob Moser