RagFlow + Docker Desktop + Ollama + DeepSeek-R1本地部署自己的本地AI大模型工具

前期准备

首先,我们需要下载 Ollama 以及配置相关环境。

Ollama 的 GitHub仓库 (https://github.com/ollama/ollama)中提供了详细的说明,简单总结如下:

Step1:下载 Ollama

下载(https://ollama.com/download)并双击运行 Ollama 应用程序。

Step2:验证安装

在命令行输入 ollama,如果出现以下信息,说明 Ollama 已经成功安装。

Step3:拉取模型
从命令行,参考 Ollama 模型列表 (https://ollama.com/library)和 文本嵌入模型列表 (https://python.langchain.com/v0.2/docs/integrations/text_embedding/)拉取模型。在该教程中,我们以 deepseek-r1:1.5b 和 nomic-embed-text 为例:

命令行输入 ollama pull deepseek-r1:1.5b,拉取通用的开源大语言模型 deepseek-r1:1.5b;(拉取模型时,可能比较缓慢。如果出现拉取错误,可以重新输入指令拉取)
命令行输入 ollama pull nomic-embed-text 拉取 文本嵌入模型 (https://ollama.com/search?c=embedding)nomic-embed-text。
当应用运行时,所有模型将自动在 localhost:11434 上启动。

注意,你的模型选择需要考虑你的本地硬件能力,该教程的参考显存大小 CPU Memory > 8GB。

Step4:部署模型

命令行窗口运行以下命令,部署模型。

ollama run deepseek-r1:1.5b

也可以从命令行直接运行部署模型,例如 ollama run deepseek-r1:1.5b。

 注意如果只想使用 Ollama 部署 DeepSeek R1 模型则无需进行以下步骤。

# langchain_community
pip install langchain langchain_community# Chroma
pip install langchain_chroma# Ollama
pip install langchain_ollama

安装Ollama和deepseek大模型,完成前期准备工作后,让我们开始逐步构建基于 RagFlow + Docker Desktop + Ollama + DeepSeek-R1 的本地 RAG 应用。下面将详细介绍具体实现步骤。

本地 RAG 应用实现

 一、下载、安装Docker Desktop

地址:Docker Desktop | Docker Docs

下载完成后 双击安装

 

注意:安装成功后 点击确定会重启电脑   注意保存自己未保存的文件 

重启电脑后

如果安装成功后打开界面显示   Docker Engine stopped  说明缺少依赖  可能是缺少wsl    一般会自动弹框提示你安装适用于Linux的window子系统  安装一下就行了
如果没有自动弹框 执行  wsl --update安装一下

安装成功后再启动docker Desktop,就可以了!

 二、安装RAGFlow

在开始安装 RAGFlow 之前,请确保您的系统满足以下基本要求:

  • CPU 核心数:至少 2 核

  • 内存大小:至少 8 GB

克隆 RAGFlow 存储库

git clone https://github.com/infiniflow/ragflow.git

如果git 克隆报错 就去https://github.com/infiniflow/ragflow.git  下载zip版本

构建 Docker 镜像并启动服务器

cd ragflow/docker
docker compose up -d

核心映像大小约为 9 GB,加载可能需要一些时间。

检查服务器状态

docker logs -f ragflow-server

如果系统成功启动,您将看到确认消息。

    ____                 ______ __/ __ \ ____ _ ____ _ / ____// /____  _      __/ /_/ // __ `// __ `// /_   / // __ \| | /| / // _, _// /_/ // /_/ // __/  / // /_/ /| |/ |/ /
/_/ |_| \__,_/ \__, //_/    /_/ \____/ |__/|__//____/* Running on all addresses (0.0.0.0)* Running on http://127.0.0.1:9380* Running on http://172.22.0.5:9380INFO:werkzeug:Press CTRL+C to quit
配置选项

①、选择 LLM 工厂:在 service_conf.yaml 文件中的 user_default_llm 部分选择所需的 LLM 工厂。

②、API 密钥设置:使用相应的 API 密钥更新 service_conf.yaml 文件中的 API_KEY 字段。更多信息请参阅 /docs/llm_api_key_setup.md。

③、要更新默认 HTTP 服务端口 (80),请转到 docker-compose.yml 并将 80:80 更改为 <YOUR_SERVING_PORT>:80 。

所有系统配置的更新需要重新启动系统才能生效:docker-compose up -d

 访问 RAGFlow 界面

 一旦服务器启动并运行,您可以通过浏览器访问 RAGFlow 界面。在默认配置下,您可以省略默认 HTTP 服务端口 80。只需在浏览器中输入 RAGFlow 服务器的 IP 地址即可。

通过上述步骤,您可以成功设置和运行 RAGFlow。确保遵循所有配置指南,并在启动服务器后检查其状态以确认一切正常。通过选择适当的 LLM 工厂和设置 API 密钥,您可以确保 RAGFlow 与您的业务需求无缝集成。最后,通过简单的浏览器操作,您就可以开始使用 RAGFlow 强大的文档理解和问答功能了。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

变分边界详解

起因 当时看VAE论文时有这么一段&#xff0c;但是看完直接一头雾水&#xff0c;这都那跟哪&#xff0c;第一个公式咋做的变换就变出那么一堆。网上搜了很多博客都语焉不详&#xff0c;只好自己来写一篇&#xff0c;希望能解答后来人的疑惑。 公式1 参考文章&#xff1a;证据…

云消息队列 ApsaraMQ Serverless 演进:高弹性低成本、更稳定更安全、智能化免运维

如今&#xff0c;消息队列已成为分布式架构中不可或缺的关键服务&#xff0c;为电商、物联网、游戏和教育等行业&#xff0c;提供了异步解耦、集成、高性能和高可靠的核心价值。 过去一年&#xff0c;我们发布了云消息队列 ApsaraMQ 全系列产品 Serverless 化&#xff0c;面向…

【蓝桥杯嵌入式】8_IIC通信-eeprom读写

全部代码网盘自取 链接&#xff1a;https://pan.baidu.com/s/1PX2NCQxnADxYBQx5CsOgPA?pwd3ii2 提取码&#xff1a;3ii2 1、电路图 这个电路允许通过I2C总线与EEPROM(M24C02-WMN6TP)和数字电位器(MCP4017T-104ELT)进行通信。EEPROM用于存储数据&#xff0c;而数字电位器可以用…

DeepSeek处理自有业务的案例:让AI给你写一份小众编辑器(EverEdit)的语法着色文件

1 DeepSeek处理自有业务的案例&#xff1a;让AI给你写一份小众编辑器(EverEdit)的语法着色文件 1.1 背景 AI能力再强&#xff0c;如果不能在企业的自有业务上产生助益&#xff0c;那基本也是一无是处。将企业的自有业务上传到线上训练&#xff0c;那是脑子进水的做法&#xff…

Java常用设计模式面试题总结(内容详细,简单易懂)

设计模式的分类 创建型模式&#xff1a;通过隐藏对象创建的细节&#xff0c;避免直接使用 new 关键字实例化对象&#xff0c;从而使程序在判断和创建对象时更具灵活性。常见的模式包括&#xff1a; 工厂模式抽象工厂模式单例模式建造者模式原型模式 结构型模式&#xff1a;通…

使用HX搭建UNI-APP云开发项目(适合新手小白与想学云开发的宝子)

什么是uni-app云开发 uni-app云开发是uni-app提供的一套后端服务,它可以帮助开发者快速搭建起一个完整的后端服务,包括数据库、云函数、存储等。开发者只需要关注前端页面的开发,后端服务由uni-app云开发提供。 uni-app云开发的优势: 快速搭建后端服务:uni-app云开发提供了…

零基础学CocosCreator·第九季-网络游戏同步策略与ESC架构

课程里的版本好像是1.9&#xff0c;目前使用版本为3.8.3 开始~ 目录 状态同步帧同步帧同步客户端帧同步服务端ECS框架概念ECS的解释ECS的特点EntityComponentSystemWorld ECS实现逻辑帧&渲染帧 ECS框架使用帧同步&ECS 状态同步 一般游戏的同步策略有两种&#xff1a;…

最新版Edge浏览器集成ActiveX控件之金山WpsDocFrame控件

背景 WpsDocFrame控件‌是由金山公司开发的ActiveX控件&#xff0c;主要用于OA系统中&#xff0c;支持在浏览器中嵌入WPS文档的查看和编辑功能。 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品&#xff0c;致力于将浏览器插件重新应用到所有…

Win10系统IP地址修改_出现了一个意外的情况不能完成所有你在设置中所要求的更改---Windows工作笔记001

今天在修改win10系统中的ip地址的时候报错了 来看看如何解决吧,挺简单,简单记录一下 这个时候就需要使用cmd命令来修改 一定要使用,管理员权限,运行cmd才可以 然后首先: 输入 netsh 然后输入 ip 然后输入: set address "以太网" 172.19.126.199 255.255.255.0…

算法 ST表

目录 前言 一&#xff0c;暴力法 二&#xff0c;打表法 三&#xff0c;ST表 四&#xff0c;ST表的代码实现 总结 前言 ST表的主要作用是在一个区间里面寻找最大值&#xff0c;具有快速查找的功能&#xff0c;此表有些难&#xff0c;读者可以借助我的文章和网上的课程结…

node.js+兰空图床实现随机图

之前博客一直用的公共的随机图API&#xff0c;虽然图片的质量都挺不错的&#xff0c;但是稳定性都比较一般&#xff0c;遂打算使用之前部署的兰空图床&#xff0c;自己弄一个随机图 本文章服务器操作基于雨云——新一代云服务提供商的云服务器进行操作&#xff0c;有兴趣的话可…

CNN|ResNet-50

导入数据 import matplotlib.pyplot as plt # 支持中文 plt.rcParams[font.sans-serif] [SimHei] # 用来正常显示中文标签 plt.rcParams[axes.unicode_minus] False # 用来正常显示负号import os,PIL,pathlib import numpy as npfrom tensorflow import keras from tensor…

基于微型5G网关的石化厂区巡检机器人应用

石化工业属于高风险产业&#xff0c;由于涉及易燃易爆、有毒有害工业原料&#xff0c;为了保障企业的安全生产与持续运营&#xff0c;因此相比其它行业需要进行更高频次、更全面细致的安全巡检和监测。由于传统的人工巡检监测存在诸多不便&#xff0c;例如工作强度大、现场环境…

Docker+Jenkins自动化部署SpringBoot项目【详解git,jdk,maven,ssh配置等各种配置,附有示例+代码】

文章目录 DockerJenkins部署SpringBoot项目一.准备工作1.1安装jdk111.2安装Maven 二.Docker安装Jenkins2.1安装Docker2.2 安装Jenkins2.3进入jenkins 三.Jenkins设置3.1安装jenkins插件3.2全局工具配置全局配置jdk全局配置maven全局配置git 3.3 系统配置安装 Publish Over SSH …

知识图谱数据库 Neo4j in Docker笔记

下载 docker pull neo4j:community官方说明 https://neo4j.com/docs/operations-manual/2025.01/docker/introduction/ 启动 docker run \--restart always \--publish7474:7474 --publish7687:7687 \--env NEO4J_AUTHneo4j/your_password \--volumeD:\files\knowledgegrap…

前缀和算法篇:解决子数组累加和问题

1.前缀和原理 那么在介绍前缀和的原理之前&#xff0c;那么我们先来说下前缀和最基本的一个应用场景&#xff0c;那么就是如我们标题所说的子数组累加和问题&#xff0c;那么假设我们现在有一个区间为[L,R]的数组&#xff0c;那么我们要求的其中子数组比如[L,i]或者[i,m] (L&l…

Notepad++ 中删除所有以 “pdf“ 结尾的行

Notepad 中删除所有以 “pdf” 结尾的行 操作步骤 1.打开文件&#xff1a; 在 Notepad 中打开你需要处理的文本文件。 2.打开查找和替换对话框&#xff1a; 按快捷键 Ctrl F&#xff0c;打开“查找和替换”对话框。 3.启用正则表达式模式&#xff1a; 在对话框的底部&#xf…

知识管理成功:关键指标和策略,研究信息的投资回报率

信息过载会影响生产力。没有人工智能的帮助&#xff0c;信息过载会影响生产力。大量的可用信息&#xff0c;知识工作者不仅仅是超负荷工作&#xff1b;他们感到不知所措&#xff0c;他们倾向于浪费时间&#xff08;和脑细胞&#xff09;来应付他们被大量的数据抛向他们&#xf…

Golang 进阶训练营

一、Golang 的 slice、map、channel 1.1 slice vs array a : make([]int, 100) //切片 b : [100]int{} //数组array需指明长度&#xff0c;长度为常量且不可改变 array长度为其类型中的组成部分&#xff08;给参数为长度100的数组的方法传长度为101的会报错&#xff09; array在…

Oracle临时表空间(基础操作)

临时表空间 临时表空间&#xff1a;用来存放用户的临时数据&#xff0c;临时数据在需要时被覆盖&#xff0c;关闭数据库后自动删除&#xff0c;其中不能存放永久性数据。 用户进程和服务器进程是一对一的叫做专用连接。 任何一个用户连到oracle数据库&#xff0c;oracle都会…