个人知识库&RAG&LLM

1,RAG是什么?

RAG(Retrieval-Augmented Generation),从字面意思来看,就是检索增强生成,这里断句可以为“检索增强”、“生成”。它是一个结合了检索和生成技术的人工智能模型。
本质是一种工程系统,结合了数据检索模块(如向量数据库)和数据生成模型。

检索的知识库内容:
文本 – 文档文字
图片 – OCR
视频 – 抽取视频字幕作为检索来源


检索 – 根据指定的知识库或者数据仓库去进行快速且精准地检索相关的信息;
生成 – 结合检索信息生成相关的结果内容;

RAG的作用:
1,将碎片化的知识进行整理检索;
2,将重复的只是进行整理检索;
3,信息的组织;
句子拼接:用规则合并检索结果的片段(如“根据知识库:1. A;2. B;总结:A+B”)。
模板填空:预定义模板(如复习提纲模板),用检索内容填充占位符。

RAG检索的优点:快速、精准(相关性、可靠)、不依赖模型内部知识而是外部知识库;
RAG生成的优点:符合自身偏好和风格(知识库)、总结(生成)纲要、给出建议、去重等。

RAG本身没有生成功能,只有信息检索、信息组织、信息总结的功能。还有一些RAG系统概念中是包含大模型的,所以它是可以进行信息生成的:

应用:检索内容、提炼总结

备注:RAG是一个系统,并不是一个工具,所以RAG系统需要多个工具去组成,个人知识库的数据向量化+数据检索+数据生成
推荐的框架:LangChainLlamaIndex

2,个人知识库的数据向量。
(1),收集知识;
(2),清洗数据(去重、打标签、分层);
(3),存储及向量化,便于RAG检索;

个人推荐工具Obsidian;

3,结合LLM的应用。

个人知识库结合LLM的核心流程:
1,数据存入个人知识库 → 2,RAG检索相关片段 → 3,问题+检索结果输入LLM生成答案

这里的LLM可以是云端API,也可以是本地部署的大模型;

具体流程:
数据层:
1,上传数据,个人文档(PDF、Word、Markdown)、网页存档、邮件、聊天记录、图片(需OCR识别)、音视频(需语音转文本)等;
2,数据处理,清洗与分段、格式化与标注、向量化存入向量数据库;
RAG检索
3, 用户提出问题;
4,RAG检索和生成;
生成阶段
5,将问题+RAG检索结果按预定格式组装成提示词发给大模型;
6,大模型输出,限制大模型,仅依赖检索内容生成答案要求大模型标明引用来源;

案例:
1,学习助手:学生上传教材、论文、笔记,RAG辅助整理知识框架、生成复习提纲,大模型解答复杂问题。
2,写作辅助:作者调用过往作品库,告诉大模型保持风格一致性,或避免重复观点,输出写作文案。

3,项目管理:关联任务记录、会议纪要,大模型自动生成进度报告或待办提醒。

例如:

/**
请基于以下上下文回答问题:
[检索到的文本片段1]  
[检索到的文本片段2]  
...
问题:如何设计分布式系统的容错机制?
/**

Leave a Reply

Required fields are marked *