The essential Retrieval-Augmented Technology (RAG) pipeline makes use of an encoder mannequin to seek for related 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) during which semantically related texts are shut collectively.
Earlier than we had Massive Language Fashions (LLMs) to create these vector embeddings, the BM25 algorithm was a very fashionable search algorithm. BM25 focuses on vital 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 subsequent degree, you would possibly 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
·…