提高分辨率网站,公司宣传册设计样本怎么排版,互联网创业项目方案,湖南营销型网站建设案例1、相关技术介绍
1.1、RAG RAG#xff08;Retrieval Augmented Generation#xff09;#xff0c;即“检索#xff0c;增强#xff0c;生成”#xff0c;用于提升自然语言处理任务的性能。其核心思想是通过检索相关信息来增强生成模型的能力#xff0c;具体步骤如下Retrieval Augmented Generation即“检索增强生成”用于提升自然语言处理任务的性能。其核心思想是通过检索相关信息来增强生成模型的能力具体步骤如下
1检索Retrieval当用户提出问题时系统会从外部的知识库中检索出与用户输入相关的内容。
2增强Augmented系统将检索到的信息与用户的输入结合扩展模型的上下文。然后再传给模型使模型得到增强。
3生成Generation生成模型基于增强后的输入生成最终的回答。由于这一回答参考了外部知识库中的内容因此更具有参考性。 1.2、微调技术 微调技术是指在预训练模型的基础上通过特定任务的数据进一步训练以提升模型在该领域中的表现具体步骤如下
1预训练在大规模数据集上训练模型学习通用特征。
2微调在预训练模型上通过特定任务的数据进一步训练。 RAG和微调技术的共同点都是用于赋予模型某个领域的特定知识解决大模型的幻觉问题。所谓大模型幻觉就是当大模型遇到一些不知道的问题时会输出一些错误的虚构的具有误导性内容的现象。 RAG和微调技术的区别RAG强调检索更准确但因为依赖于外部信息所以灵活性差一些。微调技术强调训练学习训练好的模型可以有自己的想法更灵活一些。 1.3、Embedding模型 Embedding 是一种将离散数据如单词、句子自然语言或图像转换为连续向量表示的技术。这些向量能够捕捉数据的语义信息使得机器可以更好地理解和处理这些数据。Embedding 在自然语言处理NLP和机器学习中广泛应用。 在RAG的检索步骤时会通过Embedding嵌入模型对知识库文件进行解析Embedding的主要作用是将自然语言转化为机器可以理解的高维向量并且通过这一过程捕获到文本背后的语义信息比如不同文本之间的相似度关系 通过Embedding嵌入模型。对用户的提问进行处理。用户的输入同样会经过嵌入Embedding处理生成一个高维向量。
拿用户的提问去匹配本地知识库使用由用户输入生成的高维向量去查询知识库中相关的文档片段在这个过程中系统会利用某些相似度度量去判断相似度。 Embedding模型可以对你上传的附件进行解析。 1.4、相似度度量 相似度度量是一种用于量化两个对象之间相似程度的方法。它在多个领域中广泛应用如自然语言处理NLP、信息检索、机器学习和数据挖掘等。相似度度量可以帮助我们理解和比较不同对象之间的关系。 相似度表示两个对象在某种特征或属性上的接近程度。 距离度量与相似度相对表示两个对象之间的差异程度。通常距离越小相似度越高。 常见相似度度量方法 1余弦相似度用于衡量两个向量之间的夹角余弦值。应用于文本相似度、推荐系统。 2欧式距离用于衡量两个点在欧氏空间中的直线距离。应用于聚类分析、图像识别。 3曼哈顿距离用于衡量两个点在网格路径上的距离。应用于路径规划、数据挖掘。 4杰卡德相似系数用于衡量两个集合的交集与并集的比值。应用于集合相似度、推荐系统。 5皮尔逊相关系数用于衡量两个变量之间的线性相关性。应用于统计分析、数据挖掘。 1.5、Chat模型Embedding模型 Chat模型是用于自然语言对话能够结合上下文理解和回应用户的输入能够进行多轮对话。 Embedding模型用于将文本映射为高维向量用这些高维向量和知识库的高维向量去进行匹配。 举个例子假设我们有一个 Embedding 模型将单词映射为 5 维向量。 单词 king 的向量表示可能是[0.25, -0.34, 0.12, 0.45, -0.67] 单词 queen 的向量表示可能是[0.23, -0.33, 0.11, 0.44, -0.66] 单词 man 的向量表示可能是[0.10, -0.20, 0.05, 0.30, -0.50] 单词 woman 的向量表示可能是[0.09, -0.19, 0.04, 0.29, -0.49] 通过分析这四个映射的向量我们可以看出在向量空间中语义相近的单词距离也较近。比如king 和 queen 的向量在空间中距离较近因为它们都是表示君主的词汇。man 和 woman 的向量在空间中距离较近因为它们都是表示性别的词汇。判断向量空间是否相近就会用到“相似度度量方法”。 在实际中Embedding 模型的向量维度通常较高例如Word2Vec通常使用 300 维向量GloVe通常使用 50、100、200、300 维向量BERT通常使用 768 维或 1024 维向量。 2、本地部署
2.1、先下载ollama
Download Ollama on Windows 2.2、通过Ollama下载模型到本地 Ollama会默认把模型下载到C盘如果想更换模型下载位置可以新增环境变量OLLAMA_MODELS变量值为模型下载到的路径。 先启动ollamacmd命令提示符输入ollama run 指定的模型ollama run deepseek-r1:1.5b
如果已下载则会直接启动该模型否则会去联网下载该模型。
deepseek-r1:1.5b 2.3、下载RAGFlow源代码
GitHub - infiniflow/ragflow: RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine based on deep document understanding. 2.4、下载安装docker
Docker: Accelerated Container Application Development
我这里选的是windows版的。 直接点击下载后的docker图标进行安装。安装完成后桌面上会出现一个docker的图标 注意windows安装docker desktop是默认安装在系统盘C盘的。不过这个可以改安装位置。 首先打开命令提示符。 切换到Docker Desktop Installer.exe安装包所在的目录。 输入以下命令
start /w Docker Desktop Installer.exe install -accept-license --installation-dirD:\SoftWare\Docker\install --wsl-default-data-rootD:\SoftWare\Docker\install\Data --windows-containers-default-data-rootD:\SoftWare\Docker\install D:\SoftWare\Docker\install为Docker安装的位置D:\SoftWare\Docker\install\Data用于存储镜像、容器、卷等数据的目录。 点击OK等待一会儿就安装完成了。 但是此时打开docker客户端会报这个问题。 解决方法cmd管理员模式运行以下代码bcdedit /set hypervisorlaunchtype auto 重启电脑后以管理员身份运行Docker Desktop 因此需要修改ragflow源代码下的.env文件。 配置环境变量OLLAMA_HOST 配置OLLAMA_HOST环境变量的作用是让虚拟机里的RAGFlow能够访问到本机上的Ollama因为这里RAGFlow要通过Docker部署默认情况下ollama只能允许本机访问的。默认情况下Ollama监听的是localhost:11434。通过设置成0.0.0.0这样Ollama就可以监听到本机所有的ip这样虚拟机就可以访问到本机上的Ollama了。 cmd进入ragflow目录下输入命令docker compose -f docker/docker-compose.yml up -d 注意如果镜像拉不下来则要配置国内的镜像源。 {builder: {gc: {defaultKeepStorage: 20GB,enabled: true}},experimental: false,registry-mirrors: [https://registry.docker-cn.com]
} Docker中国区官方镜像
https://registry.docker-cn.com中科大
https://docker.mirrors.ustc.edu.cn/网易
http://hub-mirror.c.163.com/腾讯
https://mirror.ccs.tencentyun.com 镜像源记得多试几个我最后是挂了梯子的。 最后总共花了一个多小时才把镜像下载下来下载过程中如果卡住不动了可以按一下回车键。 镜像下载成功后浏览器输入http://localhost:80 进入以下页面说明RAGFlow已经部署成功了。 3、在RAG中构建个人知识库
3.1、添加Ollama模型 3.2、系统模型设置 3.3、创建知识库 不过我的电脑本地解析pdf文档经常卡在那里不动了然后RAGFlow也卡住了然后就自动退出登录了。 后来我又把pdf转为word并把里面的所有图片都删除了结果还是解析到一半就卡住了然后自动跳出登录了。最后我把文档只保留了“前言”部分差不多一页文档的样子很快就解析成功了。 3.4、新建聊天助理 设置好聊天助理后与聊天助理对话出现了连接失败的问题。 出现这个问题是由于系统运行内存不足导致的。我本机的笔记本内存是16Gdocker启动后系统是分配了7.5G的内存内存显著不足导致elasticsearch无法正常运行显示为无法建立连接。 我参考了这位博主的文章Ragflow错误解决方案 Failed to establish a new connection: [Errno 111] Connection refused-CSDN博客 在windows下给docker desktop分配最大内存。 win r调出运行输入 %UserProfile%进入用户文件夹 在用户文件夹下创建一个新的文件改名为 .wslconfig内容如下
[wsl2]
memory16GB # 分配的内存
processors12 # 处理器核心数量考虑超线程
swap0
localhostForwardingtrue 保存文件后重启docker和WSL。 退出docker任务管理器中确保无docker相关进程。 winr调出运行输入cmd并回车在命令提示符中输入以下内容并回车。 wsl --shutdown 重新打开docker确保容器中所有的程序都运行重新在浏览器中连接ragflow进行尝试。 不过有时候和聊天助手对话也会报“ERROR: NotFoundError(404, index_not_found_exception, no such index [ragflow_c97380ccebb111ef951b0242ac120006], ragflow_c97380ccebb111ef951b0242ac120006, index_or_alias)”。这个问题其实就是elasticsearch应用启动的有问题。重启一下就行了。如果还有问题那就再把知识库的知识文档重新解析一遍。 最终可以顺利的和聊天助手聊天了。 但是AI把一段话重复了两遍。 4、调用外部大模型API 由于本地部署的话受限于个人电脑的配置所以很不好用。因此为了能更好的享受AI大模型带来的便利这里推荐直接调用外部大模型API。 我这里以“通义千问”大模型为例首先进入阿里云官网。
通义大模型_企业拥抱 AI 时代首选-阿里云 5、总结 上一次写文章还是2024年9月份已经半年没有写文章了。去年下半年平时上班周末上课忙忙碌碌的也没心思更不知道要写点啥。上班就那点东西天天业务搬砖增删改查越来越不想干了。但不干开发不写代码也不知道自己能干点啥原本是希望读个非全的研究生看看其他方向的真正读了半学期感觉下来就是脑子里被灌了一大堆有的没的的知识大脑还是懵逼的。学校的老师都在搞什么“量子计算、脑机接口、密码学、计算机图形、物联网、机器学习、海事遥感......”这些东西与我工作没有关系我也研究不了老师们的这些方向选了个导师还是放养的无课题无组会自己想办法毕业学校的学费还真好赚啊我还得为论文头疼。 通过本地部署大模型构建自己的知识库以聊天助理的方式呈现知识交互确实蛮令人震撼的。从今以后都是AI的天下了我经常用AI帮我改代码。不过由于我的笔记本是轻薄本受限于性能无法本地部署一个真正可用的大模型知识库还得去租个云主机或者购买外部提供的模型api。 6、参考资料
Windows Docker 配置国内镜像源的两种方法_docker desktop配置多个镜像源默认使用哪个镜像源-CSDN博客 【知识科普】【纯本地化搭建】【不本地也行】DeepSeek RAGFlow 构建个人知识库_哔哩哔哩_bilibili Windows装Docker至D盘/其他盘最新最准确直接装_docker安装到d盘-CSDN博客 Windows Docker安装当前计算机配置不支持 WSL2。.....问题已解决-CSDN博客
在 Windows 上配置 Ollama 服务并开放局域网访问_ollama局域网访问-CSDN博客
Ragflow错误解决方案 Failed to establish a new connection: [Errno 111] Connection refused-CSDN博客