The essential Retrieval-Augmented Technology (RAG) pipeline makes use of an encoder mannequin to seek for comparable paperwork when given a question.
That is additionally referred to as semantic search as a result of the encoder transforms textual content right into a high-dimensional vector illustration (referred to as an embedding) through which semantically comparable texts are shut collectively.
Earlier than we had Massive Language Fashions (LLMs) to create these vector embeddings, the BM25 algorithm was a highly regarded search algorithm. BM25 focuses on essential key phrases and appears for actual matches within the accessible paperwork. This strategy known as key phrase search.
If you wish to take your RAG pipeline to the following stage, you may need to attempt hybrid search. Hybrid search combines the advantages of key phrase search and semantic search to enhance search high quality.
On this article, we’ll cowl the speculation and implement all three search approaches in Python.
Desk of Contents
· RAG Retrieval
∘ Key phrase Search With BM25
∘ Semantic Search With Dense Embeddings
∘ Semantic Search or Hybrid Search?
∘ Hybrid Search
∘ Placing It All Collectively
·…