【Datawhale AI夏令营第四期】 魔搭-大模型应用开发方向笔记 Task04 RAG模型 人话八股文Bakwaan_Buddy项目创空间部署

news2024/11/15 11:20:41

【Datawhale AI夏令营第四期】 魔搭-大模型应用开发方向笔记 Task04 RAG模型 人话八股文Bakwaan_Buddy项目创空间部署

什么是RAG:

在这里插入图片描述
在这里插入图片描述
我能把这个过程理解为Kimi.ai每次都能列出的一大堆网页参考资料吗?Kimi学了这些资料以后,根据这里面的信息综合还生成的答案,而不是仅仅基于自己的现有知识库回答。在这里插入图片描述
Kimi本体认证:差不多就是这个意思!RAG=AI自己的知识库+现成输入/网上现找的,现学提炼信息回答在这里插入图片描述

一个完整的RAG链路:

在这里插入图片描述
有道截屏翻译一下:在这里插入图片描述
在这里插入图片描述
也就是说,我们传给AI解析的东西都会塞进数据库?那是不是机密的东西(比如未发表的自己的论文)就不能给AI纠错了?、

遗憾的是,确实是这样。

Kimi的后半段说的也很对,需要充分披露AI的使用情况。想之前我港硕在读的时候,我们有门课的老师就允许我们用AI,但是必须在作业开头声明使用的AI及其具体用途,比如翻译润色、资料收集等。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
想起来之前一个很常见的例子:好像是词向量空间里面,男人到国王的距离与女人到女王的距离差不多。
在这里插入图片描述
之前在Youtube看推荐算法网课的时候,记得很对推荐的选项也是离线完成的。在这里插入图片描述
RAG的在线计算过程和推荐算法感觉有很多相似之处。
在这里插入图片描述
说到推荐系统,Youtube上有一个推荐系统网课挺不错,是基于小红书的技术路线做的剖析。B站上好像也有。
https://www.youtube.com/watch?v=5dTOPen28ts&list=PLvOO0btloRntAi-VnV06M1Bu0X1xljUUP
传送门(需要科学上网)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

现有的开源框架:

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我猜这里是RAG的关键?让模型学到知识库里面的东西。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码当中这个get_similarity函数就是在算余弦相似度:
在这里插入图片描述在这里插入图片描述
这段RAG代码定义了两个主要的类,VectorStoreIndex 和 LLM。
VectorStoreIndex负责管理文档、找相似的。在这里插入图片描述
LLM类型要常见一些,之前其他大模型应用里面也有差不多的类,在这负责查询文档生成文本。在这里插入图片描述
那么,RAG的核心是否就依赖于这个额外输入的knowledge.txt呢?
在这里插入图片描述
知识库的文本数据被读取,生成向量表示,和模型的其他自有知识库里面的知识一起参与余弦相似度匹配(计算问题向量与知识库中每个文档向量之间的余弦相似度),如果最相似,知识库就发挥了作用,与模型现有的其他知识一起参与生成回答。

RAG模型的两个主要组件:检索组件用来管理和检索文档向量,生成组件用于生成回答。
在这里插入图片描述

项目开发遇到的BUG:

说回项目开发这块,我之前用的DeepSeek的模型,现在按照Task03的案例换回浪潮大模型,但是遇到一个很致命的问题——运行模型弹出的俩浏览器网页我的电脑都打不开。
在这里插入图片描述
在这里插入图片描述
一位群友提供了一个解决方案:
在这里插入图片描述
我尝试了但是还是不行。
在这里插入图片描述
然后另一位大佬说要做端口转发,但我完全没听过这是啥……
在这里插入图片描述
于是我又继续在群里厚脸皮请教,刚刚那位大佬表示:我没把命令形式写对。
在这里插入图片描述
以防万一,我这次直接让Kimi帮我写了一段规范的:
在这里插入图片描述

streamlit run app.py --server.address 127.0.0.1 --server.port 6006

这次就没问题啦!耶!!!
在这里插入图片描述
但是我的程序还是跑不起来,不知道为什么老找不到模型……
在这里插入图片描述
我看了一下被我模仿……哦不借鉴的Task03的AI科研助手,原来他这里专门定义的模型路径跟我那个不一样,有个“-”和“_”的区别,怪不得我打不开!!
在这里插入图片描述
我的代码:在这里插入图片描述
果然不报这个错误了!!
经过我的一番操作和通义千问不厌其烦地努力,手工删除了很多借鉴,咳咳,别人模型引入的一些莫名其妙不需要的多余变量,现在总算是迁移模型成功了!
在这里插入图片描述
人话:能跑了。
但是显而易见,这个迁移后的效果不怎么好……
在这里插入图片描述
增加了随机种子以后好了一些,但是显然回答的质量远不如之前DeepSeek的模型高。
在这里插入图片描述
而且整个【换一换】按钮老重复出现,我暂时还不知道该怎么改掉。在这里插入图片描述
效果不算太让我满意,但是就我目前水平来说感觉一下子也提不起来,而且确实这个夏令营的进度太!赶!了!我还同时参加了AIGC方向的夏令营,两边都在猛追进度。我决定先看看部署如何是好,之前看了Streamlit好像就有这个功能。
看起来还不算太难?
在这里插入图片描述
注意这个注册邮箱不能是QQ邮箱,否则显示不出校验码。
但是我换了港硕邮箱,发现他认不出我是真人……163邮箱也不行。
在这里插入图片描述
另一个部署平台也注册不了……
在这里插入图片描述
这就有点尴尬了……

创空间部署装环境

我试了AI给我建议的部署平台,俩都不行,后面我找到了ModelScope的疑似部署地址创空间,下面这个是教程:https://www.modelscope.cn/docs/%E5%88%9B%E7%A9%BA%E9%97%B4%E5%88%9B%E5%BB%BA%E4%B8%8E%E6%90%AD%E5%BB%BA
传送门
我创空间部署的时候遇到了一个奇葩问题:环境没对——No Module named ‘langchain’。
在这里插入图片描述
问了热心群友,终于搞明白了应该怎么给创空间装环境让他不要报错“缺少模块”。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
这个问题解决了以后,后面又遇到Torch和CUDA不配合的问题:
在这里插入图片描述
还是这位好心的大佬,教我把调用了GPU的代码让AI改CPU!

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
然后果然代码没再报错了。但我感觉CPU好像不太聪明的样子,看不到运行结果??
群里这位大佬摸索的这个部署逻辑基本对。
要有个app.py,requirements.txt库写上所有依赖的环境包,创空间会自动读取这俩运行装库,跑代码,没报错=部署成功一大半了(环境没挂),后续就是功能测试和代码内部逻辑问题。
在这里插入图片描述

Task03AI科研助手案例:

我第一次运行装环境也报错。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
大佬说更新pip和改一下传参的写法。
在这里插入图片描述
我再跑了一次装环境的命令发现报错消失了,但是始终提示找不到他这代码文件。确实看只装了环境,也没有拉代码库下来的命令,我就自己建了个.py代码跑。
中间报错我问通义千问也是半懂不懂的,反正缺啥库就装,一顿操作猛如虎。
在这里插入图片描述
然后莫名其妙就跑起来了,AMAZING!
在这里插入图片描述
喂它一个之前实习公司讲座介绍的关于AI调参的论文试试:
北大巨佬的学术成果,瞻仰一下。
在这里插入图片描述
啊这……?????
在这里插入图片描述
整不会了,先放放。停机的时候都给网站卡出彩花了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2053433.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

期权有指定的交易场所吗?

在当前的金融市场环境下,设立专门的股票期权交易所,比如上交所,深交所和中金所,都是国内出门的交易场所,不过期权交易都是在券商和期货开通账户买卖,但这并不妨碍投资者通过其他途径参与期权投资&#xff0…

DHCP原理及实验

目录 1.基础知识 (1)基本概念 (2)DHCP优点 2.工作原理 3.私接路由器解决方法 4.实验搭建 (1)实验top (2)实验概述 5.配置命令 (1)基础配置 &#…

音境剧场:开启声学体验的全新纪元—轻空间

在现代建筑和空间设计中,声学环境越来越受到重视。一个好的声学空间,不仅能提升使用者的感受,还能为各种活动提供最优质的音效体验。作为创新声学空间的代表作,“音境剧场”应运而生,它不仅是一个多功能场馆&#xff0…

FunHPC算力平台评测

作为内测老用户,已经用DeepLn平台(现改名为FunHPC平台)好久了,一路见证了平台从最初100多人的小群到现在满群的状态,FunHpc平台确实在一步步的走向成熟,一步步的变大。趁着现在活动的时间,发篇文…

ant design pro 中用户的表单如何控制多个角色

ant design pro 如何去保存颜色ant design pro v6 如何做好角色管理ant design 的 tree 如何作为角色中的权限选择之一ant design 的 tree 如何作为角色中的权限选择之二ant design pro access.ts 是如何控制多角色的权限的 看上面的图片 当创建或编辑一个用户时,…

vue3里面的组件实例类型(包括原生的html标签类型)

在 通过 ref(null)获取组件的时候,我们想要为 组件标注组件类型,可以通过 any 类型来进行标注,但是很明显,这些的代码很不优雅,所以我们可以利用 vue3 里面的 InstanceType 来进行类型标注 这是…

基于STM32开发的智能窗帘控制系统

目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 系统初始化光照检测与窗帘控制手动控制与状态指示Wi-Fi通信与远程控制应用场景 家庭智能窗帘办公室环境控制常见问题及解决方案 常见问题解决方案结论 1. 引言 智能窗帘控制系统通过集成光照…

去中心的投票平台

项目介绍: 前端: vue3vant4 工具: vscode和vant在线平台:Vant - Mobile UI Components 交互: Web3.js库 工具:小狐狸钱包(MetaMask) 后端: solisity 工具&#xff1…

Java并发必杀技!线程池让你的程序速度飙升不止一点点!

文章目录 1 线程池的工作机制是什么?2 线程池的任务出现异常该怎么解决?3 线程池的内存泄露该如何解决? 近期迷上了举例子来结合知识点学习,尽量减少枯燥,如有错见谅哈~ 1 线程池的工作机制是什么? 线程池…

登录方式(c语言)

1.//描述 //有个软件系统登录的用户名和密码为(用户名:admin,密码:admin),用户输入用户名和密码,判断是否登录成功。 //输入描述: //多组测试数据,每行有两个用空格分开的…

Java语言程序设计——篇十五(1)

🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿 欢迎大家:这里是我的学习笔记、总结知识的地方,喜欢的话请三连,有问题可以私信🌳🌳&…

K8s节点状态 NotReady排查

k8s节点由 Ready变成 NotReady izbp12ghzy6koox6fqt0suz NotReady slave 97d v1.23.3 izbp12ghzy6koox6fqt0svz Ready control-plane,master 98d v1.23.3节点进入 NotReady 状态可能是由于多种原因引起的,尤其是在资源过量分配&am…

CSS+JS实现一个鼠标移动的高亮边框效果

一、过程分析 先上效果: 在Windows系统里有一个很棒的细节效果,元素的渐变高亮边框是可以感知鼠标的,边框的高亮部分会跟随鼠标的移动而移动。 这种效果也是比较常见的,但是实现起来还是需要一点时间和思路的。 首先&#xff0…

花裤衩 vue 前后端登录

从官网复制地址, idea中打开打开后输入 npm i 编译下载修改配置 找到 vue.config.js打开后,找到第39行 删除代码, 把可粘贴粘上 可粘贴: proxy: { [process.env.VUE_APP_BASE_API]: { target: http://127.0.0.1:18080, changeOrigin: true, pathRewrite…

使用托管竞价实例在Amazon SageMaker上运行机器学习训练

这是本系列文章的第二篇,旨在通过动手实践,帮助大家学习亚马逊云科技的生成式AI相关技能。通过这些文章,大家将掌握如何利用亚马逊云科技的各类服务来应用AI技术。 那么让我们开始今天的内容吧! 介绍 什么是Amazon SageMaker …

ant design pro access.ts 是如何控制多角色的权限的

ant design pro 如何去保存颜色ant design pro v6 如何做好角色管理ant design 的 tree 如何作为角色中的权限选择之一ant design 的 tree 如何作为角色中的权限选择之二 看上面的图片,在前端中如何控制这些权限,比如控制按钮的显示,还有菜单…

Stable diffusion模型分几种?一文详解,入门必看!

在Stable Diffusion中,模型并不只有一种,不同插件有不同的模型,分别作用于不同的功能。今天就带大家一起来学习一下~ 01 大模型 也就是stable diffusion模型,在默认界面中,它位于web页面的左上角&#x…

[数据结构] RBTree 模拟实现RBTree

标题:[数据结构] RBTree && 模拟实现RBTree 水墨不写bug 目录 一、红黑树的概念 二、map和set的封装 三、红黑树的实现 1、红黑树节点的定义 2、红黑树的结构 3、红黑树的插入 1.名称 2.插入节点的颜色 红黑树的insert 实现 情况一:不…

微信自动化管理了解下

微信作为一款广泛使用的社交软件,已经成为人们日常生活中不可或缺的通讯工具。不仅个人用户频繁使用,许多企业也依赖微信进行业务沟通和客户服务。 然而,对于企业用户来说,管理多个微信账户往往带来诸多繁琐和不便之处。这些问题…

Django+anaconda

一、搭建django虚拟环境 打开anaconda prompt 输入:conda create -n mydjango_env 判断(y/n):y 查看虚拟环境 conda env list *号表示当前使用的环境 激活创建的虚拟环境 activate mydjango_env 二、安装Django 在新环境激活的状态下安装…