网站取消备案,一级a做爰片免费视频网站,大尺度做爰网站,如何创建一个软件CSDIY#xff1a;这是一个非科班学生的努力之路#xff0c;从今天开始这个系列会长期更新#xff0c;#xff08;最好做到日更#xff09;#xff0c;我会慢慢把自己目前对CS的努力逐一上传#xff0c;帮助那些和我一样有着梦想的玩家取得胜利#xff01;#xff01;这是一个非科班学生的努力之路从今天开始这个系列会长期更新最好做到日更我会慢慢把自己目前对CS的努力逐一上传帮助那些和我一样有着梦想的玩家取得胜利 第一弹Cpp零基础学习【30 DAYS 从0到1】 第二弹Cpp刷题文档【LeetCode】 第三弹Go开发入门【字节后端青训营】 第四弹Cpp简单项目开发【黑马Rookie】 第五弹数据结构绪论【数据结构与算法】 第六弹Go工程实践【字节后端青训营】 第七弹高质量编程和性能调优【字节后端青训营】 第八弹Linux 基础知识【书生大模型训练营】 第九弹Python 基础知识【书生大模型训练营】 第十弹Git 基础知识【书生大模型训练营】 第十一弹玩转HF/魔搭/魔乐社区【书生大模型训练营】 第十二弹书生大模型全链路开源体系【书生大模型训练营】 第十三弹玩转书生「多模态对话」与「AI搜索」产品【书生大模型训练营】 第十四弹浦语提示词工程实践【书生大模型训练营】 第十五弹HTTP 框架修炼之道【字节后端青训营】 第十六弹打开抖音会发生什么【字节后端青训营】 第十七弹将我的服务开放给用户【字节后端青训营】 第十八弹InternLM LlamaIndex RAG 实践【书生大模型训练营】 第4关L1G4000InternLM LlamaIndex RAG 实践
1. 前置知识
正式介绍检索增强生成Retrieval Augmented GenerationRAG技术以前大家不妨想想为什么会出现这样一个技术。 给模型注入新知识的方式可以简单分为两种方式一种是内部的即更新模型的权重另一个就是外部的方式给模型注入格外的上下文或者说外部信息不改变它的的权重。 第一种方式改变了模型的权重即进行模型训练这是一件代价比较大的事情大语言模型具体的训练过程可以参考InternLM2技术报告。 第二种方式并不改变模型的权重只是给模型引入格外的信息。类比人类编程的过程第一种方式相当于你记住了某个函数的用法第二种方式相当于你阅读函数文档然后短暂的记住了某个函数的用法。
对比两种注入知识方式第二种更容易实现。RAG 正是这种方式。它能够让基础模型实现非参数知识更新无需训练就可以掌握新领域的知识。本次课程选用了 LlamaIndex 框架。LlamaIndex 是一个上下文增强的 LLM 框架旨在通过将其与特定上下文数据集集成增强大型语言模型LLMs的能力。它允许您构建应用程序既利用 LLMs 的优势又融入您的私有或领域特定信息。
RAG 效果比对
由于xtuner是一款比较新的框架 InternLM2-Chat-1.8B 训练数据库中并没有收录到它的相关信息。左图中问答均未给出准确的答案。右图未对 InternLM2-Chat-1.8B 进行任何增训的情况下通过 RAG 技术实现的新增知识问答。
2. 闯关
2.1 任务一浦语 APILlamaIndex 实践
2.1.1 不使用 LlamaIndex RAG仅API 可见GPT不具备相关知识
2.1.2 使用 APILlamaIndex 可见RAG库使得GPT具有回答问题的能力了
2.1.3 LlamaIndex web
添加可视化网页功能…毕竟终端是有点丑的。 换个问题发现仍然具有回答能力。 2.2 任务二本地部署InternLMLlamaIndex实践
2.2.1 LlamaIndex HuggingFaceLLM 回答的效果并不好并不是我们想要的 xtuner。
2.2.2 LlamaIndex RAG 借助 RAG 技术后就能获得我们想要的答案了。
2.2.3 LlamaIndex web 碎碎念大部分时间都在 Debug…做一些开源项目我觉得大多数时候也不是在写代码而是在Debug真的很清楚感受到 GPT带来的便利…以及Debug的恼火…看来也有必要买一些哲学的书看一看…很多时候还是会崩溃…心态这方面还得练 与君共勉。