Let’s say you would want to create an AI bot on topic X. So that if you would ask it in-depth questions about that topic, it is able to understand you and answer you in natural language.
There are two ways to do it (that I know of):
- You fine-tune an existing model with lots of examples
- You use an external vector db with embeddings of the knowledge and you just semantic search and return it
What would be the differences between these two approaches?
Let’s give an example of creating a legal AI bot:
- It seems that with fine-tuning, you are mostly tuning the model to do the right kind of reasoning and “how to” respond to queries, as oppose to actually feeding the complete knowledge of the law plus the lawsuit at hand.
- So you will need to store all the law knowledge plus the lawsuit data into an external vector db to be queried.
If you just do the vector embeddings, it will be able to return the information you need very well, but it probably won’t be very good at using those pieces of information in their reasoning, is that right? Or the base model would be smart enough already to handle that?
And if you only do fine-tuning, honestly I wouldn’t even know how you would fine-tune a model on a huge corpus of new information. Could someone explain how that would work?
Is my understanding correct?