【Datawhale AI夏令营第四期】 浪潮源大模型应用开发方向笔记 Task04 RAG模型 人话八股文Bakwaan_Buddy项目创空间部署
【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调参的论文试试:
北大巨佬的学术成果,瞻仰一下。
啊这……?????
整不会了,先放放。停机的时候都给网站卡出彩花了。
相关文章:
![](https://i-blog.csdnimg.cn/direct/0dd2ae1a8bc7456f9c13a0f318d77dc6.png)
【Datawhale AI夏令营第四期】 浪潮源大模型应用开发方向笔记 Task04 RAG模型 人话八股文Bakwaan_Buddy项目创空间部署
【Datawhale AI夏令营第四期】 浪潮源大模型应用开发方向笔记 Task04 RAG模型 人话八股文Bakwaan_Buddy项目创空间部署 什么是RAG: 我能把这个过程理解为Kimi.ai每次都能列出的一大堆网页参考资料吗?Kimi学了这些资料以后,根据这里面的信息综…...
![](https://www.ngui.cc/images/no-images.jpg)
PyTorch 基础学习(10)- Transformer
系列文章: 《PyTorch 基础学习》文章索引 介绍 Transformer模型是近年来在自然语言处理(NLP)领域中非常流行的一种模型架构,尤其是在机器翻译任务中表现出了优异的性能。与传统的循环神经网络(RNN)不同&a…...
![](https://i-blog.csdnimg.cn/direct/2696fdb5b4b1400f8c8c6f74f6867a65.jpeg)
mybatis-plus使用
目录 1. 快速开始 1. 创建user表 2. 插入几条数据 3. 创建一个新的springboot项目 4. 导入mybatis-plus依赖 5. 在配置文件中进行配置 6. 编写实体类 7. 编写Mapper 接口类 8. 添加 MapperScan 注解 9. 测试 编辑2. CRUD 1. 插入一条语句 2. 根据主键id删除一条记录 3. 根据…...
![](https://www.ngui.cc/images/no-images.jpg)
ant-design-vue快速上手指南及排坑攻略
前言 ant-design-vue是Ant Design的Vue实现,旨在为Vue用户提供一套企业级的UI设计语言。本文将带你快速上手ant-design-vue,并在实践中分享一些常见的坑及解决方法。遵循本文档,让你轻松搭建优雅的Vue应用。 一、环境准备 在开始之前&…...
![](https://i-blog.csdnimg.cn/direct/8e64fab0f076420088b63f2695369151.png)
【GitLab】使用 Docker 安装 3:gitlab-ce:17.3.0-ce.0 配置
参考阿里云的教程docker的重启 sudo systemctl daemon-reload sudo systemctl restart docker配置 –publish 8443:443 --publish 8084:80 --publish 22:22 sudo docker ps -a 當容器狀態為healthy時,說明GitLab容器已經正常啟動。 root@k8s-master-pfsrv:~...
![](https://i-blog.csdnimg.cn/direct/8a9292840ec94feb9b6f43d820ffd410.png)
多线程(4)——单例模式、阻塞队列、线程池、定时器
1. 多线程案例 1.1 单例模式 单例模式能保证某个类在程序中只存在唯一一份实例,不会创建出多个实例(这一点在很多场景上都需要,比如 JDBC 中的 DataSource 实例就只需要一个 tip:设计模式就是编写代码过程中的 “软性约束”&am…...
![](https://img-blog.csdnimg.cn/img_convert/a3fef49d7bc86b6dee724494717e4e7f.png)
告别电量焦虑,高性能65W PD快充芯片HUSB380A打造梦中情【头】
市面上的充电器越来越卷,让人眼花缭乱。压力同样也给到了快充芯片行业,要在激烈的市场竞争中脱颖而出,快充芯片必须集高功率、高性价比与广泛的兼容性等于一身。 基于此,慧能泰推出了新一代高性能PD Source产品——HUSB380A。 图…...
![](https://i-blog.csdnimg.cn/direct/5dc54937dd734ec29f7ab057052192a1.png)
vulnhub靶场 — NARAK
下载地址:https://download.vulnhub.com/ha/narak.ova Description:Narak is the Hindu equivalent of Hell. You are in the pit with the Lord of Hell himself. Can you use your hacking skills to get out of the Narak? Burning walls and demons are around every cor…...
![](https://i-blog.csdnimg.cn/direct/66672baa8b144f4295eb207a4b0d5b84.png)
RabbitMQ如何保证消息不丢失
RabbitMQ消息丢失的三种情况 第一种:生产者弄丢了数据。生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题啥的,都有可能。 第二种:RabbitMQ 弄丢了数据。MQ还没有持久化自己挂了。 第三种…...
![](https://i-blog.csdnimg.cn/direct/abe98c388596471990a0e98719fc9f81.png)
(亲测有效)SpringBoot项目集成腾讯云COS对象存储(1)
目录 一、腾讯云对象存储使用 1、创建Bucket 2、使用web控制台上传和浏览文件 3、创建API秘钥 二、代码对接腾讯云COS(以Java为例) 1、初始化客户端 2、填写配置文件 3、通用能力类 文件上传 测试 一、腾讯云对象存储使用 1、创建Bucket &am…...
![](https://i-blog.csdnimg.cn/direct/a7960e672f25463da6ab3981fb8b4cc6.jpeg)
无人机之故障排除篇
一、识别故障 掌握基本的无人机系统知识,遵循“先易后难、先外后内、先软件后硬件”的原则进行故障识别。一旦发现故障,立即停止飞行,避免进一步损坏。 二、机械部件维修 对于机身裂痕、螺旋桨损坏等情况,根据损坏程度更换相应部…...
![](https://www.ngui.cc/images/no-images.jpg)
深入理解Python常见数据类型处理
目录 概述数字类型 整数(int)浮点数(float)复数(complex) 字符串(str) 字符串基本操作字符串方法 列表(list) 列表基本操作列表方法列表推导式 元组…...
![](https://img-blog.csdnimg.cn/img_convert/38b0187afe4489bcbaf5cd6bdedac97c.png)
最佳实践:CI/CD交付模式下的运维展望丨IDCF
李洪锋 启迪万众数字技术(广州)有限公司 ,产品研发中心-系统运维部、研发效能(DevOps)工程师(中级)课程学员 一、DevOps现状 据云计算产业联盟《中国DevOps现状调查报告2023》显示,国内DevOps 落地成熟度…...
![](https://img-blog.csdnimg.cn/img_convert/d7429aed5304b090f6a1ce1c96d1deb1.png)
Flat Ads:开发者如何应对全球手游市场的洗牌与转型
2023年下半年至2024年上半年,中国手游的海外市场表现经历了显著变化,开发者要如何应对全球手游市场的洗牌与转型?本篇文章我们将结合相关行业白皮书的最新数据对中国手游出海表现进行分析与洞察。 一、中国手游海外市场表现 根据Sensor Tower《2024年海外手游市场洞察》最新…...
![](https://img-blog.csdnimg.cn/img_convert/384ed1e1fb0c55967558bd55b3fc0c18.jpeg)
ai取名软件上哪找?一文揭秘5大ai取名生成器
在这个世界上,每一个新生命的到来都是一份奇迹,无论是一个新生儿的第一声啼哭,还是一只宠物的第一次摇尾巴,都充满了无限的希望和喜悦。 然而,给这个小生命起一个响亮、独特且富有意义的名字,往往让人煞费…...
![](https://i-blog.csdnimg.cn/direct/7549a9c15e0d4920bd37658648cc9182.png)
ppt转换成pdf文件,这5个方法一键搞定!小白也能上手~
不管是工作上还是学习上,我们都会遇到转换文档格式的问题。比如常见的pdf转word,ppt转pdf,图片转pdf等。 很多软件都有自带的转换功能可以实现,但是需要保证转换后不乱码,且清晰度足够的方法还是少见的。本文整理了几个…...
![](https://img-blog.csdnimg.cn/8d79dbf3a2b74d378c6ddd8befa5f7a1.png)
中国每个软件创业者都是这个时代的“黑悟空”
作者 | 白鲸开源CEO 郭炜 我作为一个具有30游龄而20年都不碰游戏的游戏玩家,最近为了《黑神话:悟空》(简称,黑悟空),不但花重金更新了显卡,还第一次下载了Steam并绑定了支付,为的就是支持这个第…...
![](https://i-blog.csdnimg.cn/direct/de3a98da19c24442bda424208f0089ea.png)
解决Qt多线程中fromRawData函数生成的QByteArray数据不一致问题
解决Qt多线程中fromRawData函数生成的QByteArray数据不一致问题 目录 🔔 问题背景📄 问题代码❓ 问题描述🩺 问题分析✔ 解决方案 🔔 问题背景 在开发一个使用Qt框架的多线程应用程序时,我们遇到了一个棘手的问题&…...
![](https://i-blog.csdnimg.cn/direct/4db1bb8cb73c4b44badd847ce14f0f3b.png)
datax关于postsql数据增量迁移的问题
看官方文档是不支持的 数据源及同步方案_大数据开发治理平台 DataWorks(DataWorks)-阿里云帮助中心 (aliyun.com) 看了下源码有个postsqlwriter 看了下也就拼接sql 将 PostgresqlWriter中的不允许更新先注释了 让他过去先 然后看到 WriterUtil中的对应方法 getWriteTemplat…...
![](https://i-blog.csdnimg.cn/direct/48f08c2c6d42480aa32fb59fbaba8b19.png)
【Go】实现字符切片零拷贝开销转为字符串
package mainimport ("fmt""unsafe" )func main() {bytes : []byte("hello world")s : *(*string)(unsafe.Pointer(&bytes))fmt.Println(s)bytes[0] Hfmt.Println(s) }slice的底层结构是底层数组、len字段、cap字段。string的底层结构是底层…...
![](https://www.ngui.cc/images/no-images.jpg)
[sqlserver][sql]sqlserver查询执行过的历史sql
SQL是一个针对SQL Server数据库的查询执行过的历史 select * from (SELECT *FROM sys.dm_exec_query_stats QS CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) ST ) a where a.creation_time >2018-07-18 17:00:00 and charindex(delete from ckcdlist ,text)>0 an…...
![](https://img-blog.csdnimg.cn/img_convert/e23c3116f07dcc5ab68a1b45def11317.jpeg)
python中n次方怎么表示
Python中的n次方用pow()方法来表示,pow()方法返回 xy(x的y次方)的值。 语法 以下是 math 模块 pow() 方法的语法: import math math.pow( x, y ) 内置的 pow() 方法 pow(x, y[, z]) 函数是计算x的y次方,如果z在存在&…...
![](https://i-blog.csdnimg.cn/direct/4697573aae0e42c8aa4c7f7ecdbdfa2d.png)
Java数组怎么转List,Stream的基本方法使用教程
Stream流 Java 的 Stream 流操作是一种简洁而强大的处理集合数据的方式,允许对数据进行高效的操作,如过滤、映射、排序和聚合。Stream API 于 Java 8 引入,极大地简化了对集合(如 List、Set)等数据的处理。 一、创建 Stream 从集合创建: List<String> list = Ar…...
![](https://www.ngui.cc/images/no-images.jpg)
2024-07-12 - 基于 sealos 部署高可用 K8S 管理系统
摘要 Sealos 是一款以 Kubernetes 为内核的云操作系统发行版。它以云原生的方式,抛弃了传统的云计算架构,转向以 Kubernetes 为云内核的新架构,使企业能够像使用个人电脑一样简单地使用云。 操作实践 1、服务器规划 kubernetes集群大体上…...
![](https://img-blog.csdnimg.cn/img_convert/4cf6e25d92e11afef4e7772a69d96e10.jpeg)
Ps:首选项 - 单位与标尺
Ps菜单:编辑/首选项 Edit/Preferences 快捷键:Ctrl K Photoshop 首选项中的“单位与标尺” Units & Rulers选项卡允许用户根据工作需求定制 Photoshop 的测量单位和标尺显示方式。这对于保持工作的一致性和精确性,尤其是在跨设备或跨平台…...
![](https://i-blog.csdnimg.cn/direct/505285e09d914efea4c984658f076dbd.png)
DiskDigger(文件恢复工具) v2.0.3 中文授权版
DiskDigger中文版是一款实用文件恢复工具,它能从任何媒介中恢复误删除的文件。支持硬盘、USB 闪存盘、闪存卡(SD/CF/MMS)、CD、DVD 和软盘等。支持恢复任何格式的文件。DiskDigger 能彻底的扫描每个扇区来跟踪文件,从而最大限度恢复挽回文件信息。 软件…...
![](https://i-blog.csdnimg.cn/direct/8a7bed2559af49baa9b1658e775783d4.png)
C/C++逆向:x96dbg(x64dbg/x86dbg)的使用
这篇文章主要来说一下x96dbg(x64/x86)的基本使用,这里还是使用上篇文章中的简单程序用来作为本篇文章的实例,因为上篇文章再生成程序时选用的解决方案平台为x86所以生成的程序则需要我们使用x32dbg来进行分析。 这边与IDA一样,我们可以将程序…...
![](https://img-blog.csdnimg.cn/img_convert/df0a8f855a18e22f59774ef83e7ed717.png)
超声波清洗机是智商税吗?专业博主分享四大必买超声波清洗机款式
有些人觉得超声波清洗机不过是个“智商税”,花几百块买个小盒子不值当,毕竟自己用手也能清洗。但这种看法过于片面。事实上,超声波清洗已经有几十年的历史,随着科技的发展,现代超声波清洗机不仅能够批量、自动清洁&…...
![](https://i-blog.csdnimg.cn/direct/e95abfb3086d451f8dc4e5e241f95a49.png#pic_left)
TIM输出比较
文章目录 前言一、TIM输出比较简介二、PWM简介2.1 PWM基本概念2.2 PWM参数2.3 PWM波形2.4 PWM基本结构2.5 PWM参数计算 三、舵机简介3.1 舵机的工作原理3.2 输入PWM信号的要求3.3 硬件电路 四、直流电机及驱动简介4.1 直流电机4.2 TB6612电机驱动芯片 前言 提示:本…...
![](https://csdnimg.cn/release/blog_editor_html/release2.3.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=N7T8)
JNPF 5.0升级钜惠,感恩回馈永远在路上
尊敬的JNPF用户们: 经过引迈团队数月的辛勤努力和不断的技术创新,JNPF快速开发平台迎来全新升级——5.0版本!此次5.0版本的迭代革新,不仅代表着我们技术实力的进一步提升,是我们对用户需求的深度理解和积极回应。为了…...
![](/images/no-images.jpg)
烟台市政府网站集约化建设方案/全国最大的关键词挖掘
一、构造方法 作用:在new的同时对成员变量赋值,给对象的属性初始化赋值格式:权限 方法名(参数列表){}方法的名字,必须和类的名字完全一致,大小写一致构造方法不许写返回值类型,如void,int 构造方法在new时自…...
![](https://img2018.cnblogs.com/blog/1444822/201812/1444822-20181201194918980-548154810.jpg)
建设企业网站新闻开发的意义/百度通用网址
*独立冗余磁盘阵列---RAID0* RAID0: 把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起, 组成 一个大的卷组,并将数据依次…...
![](https://img-blog.csdnimg.cn/img_convert/b17124e7396fd116a5cc896a72523237.png)
房产网站建设机构/网页开发教程
DB的连接模式及优缺点应用程序对DB的连接,分为两种模式:短连接直连:应用程序在操作DB的时候,新建DB连接,SQL操作完毕后,关闭连接。连接池:应用程序在启动时,由连接池组件预先按照配置的规则,缓存一定量的DB…...
![](https://img-blog.csdnimg.cn/20191021203408785.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3OTk2NjMy,size_16,color_FFFFFF,t_70)
委托别人做网站侵权了/注册一个域名需要多少钱
软件质量是指软件产品中能满足给定需求的各种特性的综合。这些特性称作质量特性,它包括功能性、可靠性、易使用性、时间经济性、资源经济性、可维护性和可移植性等。具体地说,软件质量是软件与明确叙述的功能和性能需求、文档中明确揩述的开发标准,以及任何专业开发的软件产品都…...
![](http://baike.so.com/resource/img/quot.png)
关于幼儿建设网站ppt模板/seo实战技术培训
简介 在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为…...
![](https://img-blog.csdnimg.cn/20191206172520911.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zNjQ3NDgwOQ==,size_16,color_FFFFFF,t_70)
怎样做淘宝网站/google框架三件套
论文地址: https://arxiv.org/abs/1906.04358 项目及代码地址: https://weightagnostic.github.io/ 目录 一、概览 1.1 贡献点 1.2 背景 二、方法 2.1 本文做法 2.2 相关工作 2.3 方法 网络结构搜寻 结构搜索 Topology search 2.4 性能与复…...