目录
1. 相关视频和文档
- 视频地址:茴香豆:搭建你的 RAG 智能助理_哔哩哔哩_bilibili
- 课程文档:Tutorial/huixiangdou/readme.md at camp2 · InternLM/Tutorial (github.com)
2. 视频学习笔记
2.1 RAG的原理、架构、数据库、评估与测试
2.1.1 RAG是什么?
** 在大模型中结合RAG技术会有什么效果,这里可以举个例子:
某大语言模型 A 在训练时用到了2023年12月31日之前的数据。使用者在跟 A 进行交互对话时,如果问到的问题不涉及2024年的信息,例如一些知识点或者科学原理,A 应该能较好地给出回答(如果 A 本身的性能还不错)。但是如果问的问题涉及到2024年的信息了,例如问 A 关于某件在24年发生的事情的看法,或者是让它介绍一个24年才造出来的方法,它一般会回答不知道,或者它的知识库没涉及到这些信息。如果再多问几遍这个问题,它可能就会开始自己编造一些虚假的回复内容(这种现象也被称为大模型的“幻觉”)
如果将 RAG 技术与大模型 A 结合起来,A 就能通过外部数据学到更多的新知识,在面临上述情况时,A 就可以通过信息检索等方式给出一个合理的回答。但具体回复效果跟 A 本身的性能也有关系的,如果 A 本身的性能就不太好,那就算结合了 RAG 技术也不能确保能有很好的效果
2.1.2 RAG的原理
其中,Vector-DB(向量数据库)是RAG技术中专门用于储存外部数据的地方,主要有三个功能:
- 数据存储:将文本及其他数据通过其他预训练的模型转换为固定长度的向量表示,这些向量能够捕捉文本的语义信息
- 相似性检索:根据用户的查询向量,使用向量数据库快速找出最相关的向量的过程。通常通过计算余弦相似度或其他相似性度量来完成。检索结果根据相似度得分进行排序,最相关的文档将被用于后续的文本生成
- 向量表示的优化:包括使用更高级的文本编码技术,如句子嵌入或段落嵌入,以及对数据库进行优化以支持大规模向量搜索
2.1.3 RAG技术与Fine-tuning的区别
- RAG技术具有非参数记忆,可以利用外部知识库提供实时更新的信息,通过检索增强,可以生成更多样化的内容,能够处理知识密集型任务,提供准确的事实性回答。适用于需要结合最新信息和实时数据的任务,例如开放域问答、实时新闻摘要等。可以做到动态知识更新是它的优势,但这也代表它会有相应的局限性,例如依赖外部知识库的质量和覆盖范围
- Fine-tuning,也就是微调,是具有参数记忆的,需要在特定的带标注数据上进行进一步训练以更好地适应特定任务,这也意味着微调有可能会使得模型的泛化性变差。适用于高度专业化的任务,例如特定领域的文本分类、文本生成等。可以针对特定任务进行优化是它的优势,但也具有一定局限性,例如微调过程需要大量带标注数据
2.1.4 RAG技术的评估框架和基准测试
2.2 茴香豆的介绍、特点、架构
2.2.1 茴香豆是什么
茴香豆是一个基于大语言模型的领域知识助手,由书生·浦语团队开发并开源。通过结合RAG技术,使得大模型能够理解问题并高效地给出准确的回答,满足特定知识领域相关的复杂查询要求。专门用于即时通讯工具中的群聊场景优化,可以提供及时准确的技术支持和自动化问答服务。(感觉可以类比购物APP中的AI客服?有时候经常会有买家问发什么快递、从哪里发货等高度重复性的问题,这个时候AI客服就可以派上用场了,可以比较快地响应回复。不过AI客服是一对一的交互,这里的茴香豆针对的是群聊中的问答场景)
2.2.2 茴香豆的架构
- 知识库:企业内部或个人所在领域的专有技术文档,目前支持markdown、word、pdf、txt、ppt等格式
- 前端:即获取用户问题以及做回复的平台,如微信、飞书等
- 后端:即大语言模型,目前支持本地调用大模型或远端调用大模型的API,如书生·浦语、通义千问、ChatGPT等
- 茴香豆本身,采用多来源检索,如向量数据库、网络搜索、知识图谱,支持混合大模型,会对回复内容进行安全检查和多重评分,确保回答内容合规有效,也有拒答工作流,避免信息泛滥
3. 课后作业
主要是涉及到茴香豆的部署,待完成作业后会尽快更新,感兴趣的也可以参考文首给出的视频和文档教程
标签:RAG,第二期,模型,茴香豆,文档,2.1,第三课,浦语,向量 From: https://blog.csdn.net/weixin_51447013/article/details/137497811