2 phases system:
- Generate a hypothetical answer (from user query):
- Something like
write a document to answer {user_query}, utilizing a LLM. - The answer may not be factually accurate, but it serves as an example of what a relevant document could look like.
- Something like
- Encoding and Retrieval:
- The hypothetical answer is then processed by an unsupervised contrastive encoder
- Retrieve most similar document to the hypothetical answer’s embedding.