一个数字阅读平台,正在被改造成能对话的书库。开发者给 GetMyEBook-Web 增加了一个名为 Chat with Book AI 的功能,核心思路是让读者直接向一本书提问,而不是在几百页里手动翻找。
这个功能基于检索增强生成(RAG)实现。按项目描述,读者选中一本书、提出一个问题,系统会先从书的内容里检索出相关段落,再把这些段落作为上下文交给语言模型,由模型基于这些内容生成回答。整个链路是:选书、提问、检索相关段落、生成回答、显示结果。
RAG 管线的七个环节
项目把这条管线拆成了具体步骤:
- 书籍处理:从选定的电子书中提取可读文本。
- 文本分块:把提取出的文本切成更小、有意义的片段。
- 嵌入生成:用嵌入模型把片段转成向量表示。
- 向量存储:把嵌入存进向量数据库或向量索引。
- 问题处理:把读者的问题也转成嵌入。
- 相关检索:找出与问题最相关的书中段落。
- 回答生成:把检索到的段落作为上下文交给语言模型,由它基于这些内容生成答案。
项目方的说法是,在检索与提示词实现得当的前提下,这种做法能让回答更贴合所选书籍,并减少缺乏依据的回复。至于具体用哪个语言模型、哪个嵌入模型、哪个向量数据库和应用框架,会在实际实现后按真实情况记录。
目标不是替代阅读
平台本身已有的能力包括数字图书馆、书籍发现与阅读资源浏览。新增的对话功能被定位为辅助:帮助读者理解概念、概括章节、定位相关信息,减少在长篇书籍中查找特定内容的精力消耗。
项目明确表示,目标不是取代阅读,而是让阅读、学习和探索书籍的过程更具互动性。一个被举出的场景是:读一本很长的技术书时,只需要弄懂某一个概念,读者可以直接提问,拿到基于书中相关段落的回答,而不必反复翻章节。实际能省下多少时间、回答质量如何,要在实现和测试之后才能评估。
目前该功能仍在开发中,网站已上线,对话功能待实现完成后演示。后续计划包括:完成整条 RAG 管线、接入合适的语言模型与嵌入模型、补齐可靠的书籍文本提取与分块、构建面向书籍问题的语义检索、改进回答的依据性并尽可能给出源页码或段落引用、用不同的书和问题做测试,以及把架构文档化以便其他开发者参与。
项目同时列出了开放创新的几项潜在好处:能看清检索与回答生成管线如何运作的透明度、可试验不同模型与检索策略的灵活性、对 RAG 与向量检索的实践学习、邀请贡献者改进文档处理与检索质量的社区协作,以及让 AI 辅助阅读触达更多读者的可及性。
热门跟贴