Maybe I'm old but where exactly are the "dragons"? How is RAG any different from the search systems we've been building before LLMs? Is it the sudden need for everyone to design a search API and engine that's driven this trend? If so, I'd like to see more design patterns around existing search problems: - Correcting or backtracking based on feedback. - Measuring relevance. - Comparison with task-based pre-written que…
RAG Is Simpler Than You Think
11–20 of 144 posts
Re: RAG Is Simpler Than You Think
#12There have been many blogs like this over the last years. Yes, embeddings are computationally heavy, but they are not at all complicated and they provide a lot of benefit. 90% of "document" based RAG projects should view semantic search with embeddings as their primary method. It's very powerful and so easy to implement that you could try it out and discover whether performance would be an issue rather than trying to…
Embeddings are reasonably simple, but it’s a journey to get there, and I am very proud of the dog-heavy explainer I wrote on them: https://sgnt.ai/p/embeddings-explainer/
Re: RAG Is Simpler Than You Think
#13I have a particular antipathy for articles too lazy to spell out acronyms on first use. So: https://en.wikipedia.org/wiki/Retrieval-augmented_generation
Re: RAG Is Simpler Than You Think
#14Then, throw it all in BigQuery. Handles all the vector stuff natively.
Sprinkle an agentic bot UI thing on top to make it appear all-knowing and magical.
I assume other vendors than Google have a similar batteries-included approach you can just plug in.
Re: RAG Is Simpler Than You Think
#15Embeddings and semantic search add non determinism on top of non determinism. This seems fundamentally cursed. Lexical is much easier to control, iterate and debug. The tools are incredibly mature. Your users will probably prefer it as well.
Re: RAG Is Simpler Than You Think
#16https://github.com/jankovicsandras/plpgsql_bm25 BM25 search implemented in PL/pgSQL ( Unlicense / Public domain )
The repo includes also plpgsql_bm25rrf.sql : PL/pgSQL function for hybrid search ( plpgsql_bm25 + pgvector ) with Reciprocal Rank Fusion; and Jupyter notebook examples.
Re: RAG Is Simpler Than You Think
#17Re: RAG Is Simpler Than You Think
#18Maybe I'm old but where exactly are the "dragons"? How is RAG any different from the search systems we've been building before LLMs? Is it the sudden need for everyone to design a search API and engine that's driven this trend? If so, I'd like to see more design patterns around existing search problems: - Correcting or backtracking based on feedback. - Measuring relevance. - Comparison with task-based pre-written que…
Re: RAG Is Simpler Than You Think
#19Maybe I'm old but where exactly are the "dragons"? How is RAG any different from the search systems we've been building before LLMs? Is it the sudden need for everyone to design a search API and engine that's driven this trend? If so, I'd like to see more design patterns around existing search problems: - Correcting or backtracking based on feedback. - Measuring relevance. - Comparison with task-based pre-written que…
The whole embedding thing which converts “tokens” to vectors, which you then store in a vector database so that you can later query by vector distance, seems to be LLM specific technology, no? As far as I know the vectors look a lot like the weights in a LLM itself which is why the vector search also works with some level of intelligence.
Re: RAG Is Simpler Than You Think
#20Maybe I'm old but where exactly are the "dragons"? How is RAG any different from the search systems we've been building before LLMs? Is it the sudden need for everyone to design a search API and engine that's driven this trend? If so, I'd like to see more design patterns around existing search problems: - Correcting or backtracking based on feedback. - Measuring relevance. - Comparison with task-based pre-written que…
The whole embedding thing which converts “tokens” to vectors, which you then store in a vector database so that you can later query by vector distance, seems to be LLM specific technology, no? As far as I know the vectors look a lot like the weights in a LLM itself which is why the vector search also works with some level of intelligence.
Where's the new design tension? Indexes always had to be monitored for freshness and queries have always needed cleaning or parsing.