From previous messages from the original poster, they use semantic search which consists of finding the most relevant looking parts of the stored text. To do that you encode parts of the text as vectors and finding similar parts of the stored text means finding vectors in the same direction (if the vectors are normalized and point in exactly the same direction it means they are the same). These are high-dimensional vectors.
After the semantic search is performed, These bits of plain text are given to ChatGPT to make a synthesis of the information to provide a likely answer to the query.
The information is fed to chatgpt in plain text but searching for the information required embedding the text in a high dimensional vector space.
There are limitations to this approach.
-
The semantic search might not find bits of information that require some level of thinking or/and imagination to know that they are relevant,
-
Some queries require a global understanding of the document/documents and how parts of the document are connected. A simple search for the most relevant-looking parts of the text is not enough in some cases. Maybe an example could be questions about the development of a character in a story which could require understanding the logic of events that happened and how they influence the character and in what order they happened.
Basically, some queries require a sort of knowledge graph of the document(s) that would provide information about how parts of the document are connected. This is somewhat in contrast with breaking down the document into pieces of seemingly relevant text.
A theoretical AI language model with very large memory and thorough analysis skills might be able to answer most questions on most documents but that is not the current situation and so we will have to implement partial solutions for the moment.