当前位置: 首页 > news >正文

【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调参的论文试试:
北大巨佬的学术成果,瞻仰一下。
在这里插入图片描述
啊这……?????
在这里插入图片描述
整不会了,先放放。停机的时候都给网站卡出彩花了。
在这里插入图片描述

相关文章:

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

【Datawhale AI夏令营第四期】 魔搭-大模型应用开发方向笔记 Task04 RAG模型 人话八股文Bakwaan_Buddy项目创空间部署 什么是RAG: 我能把这个过程理解为Kimi.ai每次都能列出的一大堆网页参考资料吗?Kimi学了这些资料以后,根据这里面的信息综…...

CTF密码学小结

感觉没啥好总结的啊 基础的永远是RSA、流密码、哈希、对称密码、古典密码那一套(密码学上过课都会),其他的就是数论的一些技巧 似乎格密码也很流行,以及一些奇奇怪怪的性质利用也很多 1、random设置种子后随机的性质&#xff1a…...

Vue快速入门(七)——Vue3 状态管理 - Pinia(二)

目录 六、核心概念——Getter 1、基本操作 定义getter 访问getter 2、访问其他 getter 3、向 getter 传递参数 4、访问其他 store 的 getter 使用 setup() 时的用法 使用选项式 API 的用法 使用 setup() 不使用 setup() 七、核心概念——Action 1、基本操作 定义a…...

ZooKeeper集群环境部署

1. ZooKeeper安装部署 1.1 系统要求 1.1.1 支持的平台 ZooKeeper 由多个组件组成。一些组件得到广泛支持,而另一些组件仅在较小的一组平台上得到支持。 客户端是 Java 客户端库,由应用程序用于连接到 ZooKeeper 集群。 服务器是在 ZooKeeper 集群节点…...

10 个 C# 关键字和功能

在 Stack Overflow 调查中,C# 语言是排名第 5 位的编程语言。它广泛用于创建各种应用程序,范围从桌面到移动设备再到云原生。由于有如此多的语言关键字和功能,对于开发人员来说,要跟上新功能发布的最新信息将是一项艰巨的任务。本…...

贪心算法之重叠区间问题

以下四个题都是重叠区间问题 452. 用最少数量的箭引爆气球 为了让气球尽可能重叠,先按照气球起始位置由大到小排序tips:sort默认就可以实现以上排序,不需要写cmp重点:当下一个气球的左边界不小于上一个气球的右边界时(即有重叠的…...

Python爬虫入门教程(非常详细)适合零基础小白

一、什么是爬虫? 1.简单介绍爬虫 爬虫的全称为网络爬虫,简称爬虫,别名有网络机器人,网络蜘蛛等等。 网络爬虫是一种自动获取网页内容的程序,为搜索引擎提供了重要的数据支撑。搜索引擎通过网络爬虫技术,将…...

ArcGIS Pro基础:软件的常用设置:中文语言、自动保存、默认底图

上图所示,在【选项】(Options)里找到【语言】设置,将语言切换为中文选项,记得在安装软件时,需要提前安装好ArcGIS语言包。 上图所示,在【选项】里找到【编辑】设置,可以更改软件默认…...

依赖注入+中央事件总线:Vue 3组件通信新玩法

​🌈个人主页:前端青山 🔥系列专栏:Vue篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Vue篇专栏内容:Vue-依赖注入-中央事件总线 目录 中央事件总线使用 依赖注入使用 总结 中央事件总线 依赖注入…...

EasyCVR视频汇聚平台构建远程安防监控:5大亮点解析,助力安防无死角

随着科技的飞速发展,远程安防监控系统已经成为现代社会中不可或缺的一部分,无论是在小区、公共场所还是工业领域,安防监控都发挥着至关重要的作用。而EasyCVR作为一款功能强大的视频监控综合管理平台,其在构建远程安防监控系统方面…...

fastadmin安装插件报500的错误

项目场景: 项目新建后,想在本地项目中安装相关的插件,但是在插件管理页面点击安装的时候一直报500的错误。 问题描述 我们将项目中的调试打开,在application/config.php里修改 app_debug,将false改为true&#xff0c…...

速盾:为什么需要服务器和cdn?

在互联网时代,服务器和CDN(内容分发网络)起着非常重要的作用。它们是实现高效、稳定和可靠网络服务的关键组成部分。下面我将详细阐述为什么需要服务器和CDN。 首先,服务器是互联网上存储、处理和传输数据的中心枢纽。当我们在浏…...

十四、模拟实现 list 类

Ⅰ . list 基本框架的实现 01 结点的建立 为了实现链表&#xff0c;我们首先要做的应该是建立结点 为了和真正的 list 进行区分&#xff0c;我们仍然在自己的命名空间内实现 代码实现&#xff1a; namespace yxt {// 建立结点template<class T>struct ListNode{T _d…...

JavaScript简介之引入方式

JavaScript 引入方式 提问&#xff1a;CSS的引入方式&#xff1f;在学习 JavaScript 语法之前&#xff0c;我们首先要知道在哪里写 JavaScript 才行。想要在 HTML 中引入 JavaScript&#xff0c;一般有 3 种方式。 外部 JavaScript 内部 JavaScript 元素事件 JavaScript&#…...

同一台电脑上安装不同版本的nodejs(搭配VSCode)

今天拉取了一个前后端分离的项目&#xff0c;运行前端的时候&#xff0c;出现node版本不匹配的情况。 本文章将从安装node.js开始到VSCode使用进行讲解 1、去官网下载node版本 以16版本为例&#xff0c;需要哪个版本&#xff0c;就在网址上把版本号替换即可 https://nodejs.o…...

python小游戏之摇骰子猜大小

最近学习Python的随机数&#xff0c;逻辑判断&#xff0c;循环的用法&#xff0c;就想找一些练习题&#xff0c;比如小游戏猜大小&#xff0c;程序思路如下&#xff1a; 附上源代码如下&#xff1a; 摇骰子的函数&#xff0c;这个函数其实并不需要传任何参数&#xff0c;调用后…...

C++入门——12继承

1.继承 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许程序员在保持原有类特性的基础上进行扩展&#xff0c;增加功能&#xff0c;这样产生新的类&#xff0c;称派生类。继承呈现了面向对象程序设计的层次结构&#xff0c;体现了由简…...

Python做统计图之美

Python数据分析可视化 案例效果图 import pandas as pd import matplotlib.pyplot as plt import matplotlib# 数据 data {"房型": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],"住宅类型": ["普通宅", "普通宅", "普通宅", &q…...

激光雷达点云投影到图像平面

将激光雷达点云投影到图像平面涉及几何变换和相机模型的应用。以下是该过程的基本原理&#xff1a; 1. 坐标系转换 激光雷达生成的点云通常位于激光雷达的坐标系中&#xff0c;而图像则在相机坐标系中。为了将点云投影到图像上&#xff0c;首先需要将点云从激光雷达坐标系转换…...

[python]将anaconda默认创建环境python版本设置为32位的

首先看看gpt怎么回答的 装了Anaconda。如果尚未安装&#xff0c;可以从Anaconda官网下载适合你的操作系统的安装程序&#xff0c;并按照安装向导进行安装。 二、创建32位Python环境 在Anaconda中&#xff0c;你可以通过修改环境变量来尝试切换到32位模式&#xff08;尽管这并…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...