Limboy
Building search-based RAG using Claude, Datasette and Val Town

Retrieval Augmented Generation (RAG) is a technique for adding extra “knowledge” to systems built on LLMs, allowing them to answer questions against custom information not included in their training data. …

这篇文章 详细阐述了如何用 Anthropic 结合 SQLite 的 full-text search 来实现 RAG,流程如下:

  1. 通过 Anthropic 的 tools 功能,将用户的搜索拆分为查询关键字。
  2. 通过这些关键字对 SQLite 进行全文检索得到按 rank 排序的匹配结果。
  3. 将匹配结果作为 assistant 的内容(即私有数据)结合用户的初始问题发送给 Anthropic。
  4. 返回的结果即包含了私有数据集的 LLM 回答结果。

主要使用到了 tools 将语义化的内容结构化,然后用了 full-text search 而不是 vector search,相对其他的 RAG 实现,这种方式好像更简单,不知道效果怎么样。(中文的效果一定不太好,因为 SQLite 的全文索引对中文不友好)。