RAG Is Simpler Than You Think

(lighthousenewsletter.com)

68 points | by j0selit0 2 hours ago

11 comments

  • usernametaken29 28 minutes ago
    I worked on large scale RAG systems before and can say people vastly underestimate full text search and vastly overestimate embeddings. FTS is really easy, portable and scalable and gets you very far, the 80/20 rule applies. Embeddings appear to be nice and magic but when you really get into them you notice: semantic similarity isn’t as good as you think and certainly it won’t make everyone happy. You will inevitably end up having to re-embed more or different chunks of your text to accommodate more and more precise embedding search - at which point you’ll go the last mile and do reranking etc etc all the while having to support the operational burden of vector search. Then you turn around and build a search query with 500 keywords and sure it’s painful but it just works, accommodates all use cases, scales and is overall less annoying to maintain.
    • kaon_2 16 minutes ago
      Can you elaborate? We have technicians searching in different languages. Also our knowledge base is often in different languages. I just don't see how full text search can work? Maybe in a problem space like a wiki where people always know what to search for?
      • jon-wood 4 minutes ago
        Instinctively this feels like a two phase problem - start with some machine translation into a single spoken language and index that, then when people are querying do the same thing. When returning search results show them in the original language.
    • lacedeconstruct 22 minutes ago
      I thought text search was always the first thing you try, then fuzzy search, then you go for RAG
  • Angostura 1 hour ago
    I have a particular antipathy for articles too lazy to spell out acronyms on first use.

    So: https://en.wikipedia.org/wiki/Retrieval-augmented_generation

    • dotancohen 33 minutes ago
      The audience for this piece is already very familiar with RAG. I don't want articles discussing e.g. OLED screens telling me what the acronym is - that would be a sign that the article is far below the level that I need.
      • vaylian 17 minutes ago
        A hyperlink to Wikipedia would have solved that issue.
        • Lorean1 2 minutes ago
          Maybe if a person can't even google RAG they are not the intended audience of that article.
        • redsocksfan45 14 minutes ago
          [dead]
    • _joel 51 minutes ago
      For those times you need to Red Amber Green your BM25
  • refactor_master 50 minutes ago
    Here’s an even simpler take: just embed everything the first time, then track what was changed. Use a cheap model to summarize and clean up the documents/chats with summary and keywords. Unless you have entire libraries of books to embed it’s going to be a few hundred dollars of API calls.

    Then, 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.

    • usernametaken29 23 minutes ago
      > embed everything the first time

      This assumes your text is small. Try embedding pdf reports - though luck. It surely won’t fit into most embeddings. I can think of many more examples: books, news articles, medical reports, insurance claims etc. they’re all too big to “index it all at once”

    • cpursley 40 minutes ago
      Yep, lock into some vendor from day 1. Great idea!
      • orisho 39 minutes ago
        Vendor lock in is 2025. Porting became trivial with LLMs advancing like they have.
  • 7734128 1 hour ago
    There 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 anticipate it.

    • petesergeant 57 minutes ago
      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/
      • dotancohen 24 minutes ago
        This is terrific, thank you! There's a typo in the following sentence:

          > we don’t especially want to say that books on forestry and similar to books on puppies
        
        ^and^are
      • dizhn 51 minutes ago
        This is very good. Thanks.
  • bob1029 49 minutes ago
    Agentic query rewrite on top of good old fashioned Lucene is the end game. This is effectively providing a lot of the same magic you get with the semantic approach. Allowing the agent to query the document store iteratively is where the capabilities become unbounded.

    Embeddings 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.

  • jankovicsandras 47 minutes ago
    If someone has a Postgres db and want very simple RAG:

    https://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.

  • nilirl 1 hour ago
    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 queries. Does every LLM task need a full blown search engine? Why not a tightly scoped domain API for data retrieval?

    • brabel 54 minutes ago
      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.
      • triangle 45 minutes ago
        Vector embeddings predate LLMs. They have been used as far back as the early 2000s. They are a general machine learning technique, rather than LLM specific
      • nilirl 41 minutes ago
        Sure and that's a new technique for indexing and querying.

        Where's the new design tension? Indexes always had to be monitored for freshness and queries have always needed cleaning or parsing.

      • ewidar 34 minutes ago
        not really, vectorising text/books is old school ML by this point.

        at least to me that seems the same as https://en.wikipedia.org/wiki/Word2vec for e.g.

    • TudorAndrei 1 hour ago
      It's just information retrieval packaged as something new.
      • kachnuv_ocasek 57 minutes ago
        And you can't fundraise on some old "information retrieval".
    • MacketSWE 45 minutes ago
      [flagged]
  • apavlinovic 1 hour ago
    The article sounds like AI slop with some predictable tells like short punctual sentences, bizarre jargon, and titles like "Recipe 4: On-The-Fly Embedding (The Fresh Data Play)"

    Can we not reward junk like this? Most of the sentences are incomprehensible and provide zero actual argumentation, it's just a list of "whats" with no "whys"

    • dsego 40 minutes ago
      You are right, now I noticed "Real talk" and "Why this is underrated" and I can't unsee it.
  • khalic 56 minutes ago
    > Why this is more flexible than embeddings

    Oh boy...

  • simianwords 46 minutes ago
    OT but its interesting that none of the harnesses today use embeddings but just simple grep. I would not have predicted this
    • imtringued 29 minutes ago
      Ok? I'm not seeing how that is interesting, you're exclusively focusing on coding which requires precise substring locations. Google is basically almost entirely driven by embedding models now.
      • simianwords 22 minutes ago
        And why do you think coding didn’t benefit from embeddings? It was attempted many times and the industry gave up.

        I find this interesting because practically no one is doing RAG on thier personal data which is something I wouldn’t have expected.

  • cloudoora 1 hour ago
    [dead]