deepseek+ragflow本地部署私有智能问答系统,全程干货,零基础小白也能轻松掌握!!

前言

在安装docker和ragfllow的过程中遇到了2个问题,主要有:

  • ①wsl没有更新,需要根据提示更新wsl后才能完成docker desktop的安装;
  • ②docker Engine镜像仓库拉取到一半无法拉取的问题,由于ragfflow比较大,需要较好的网络,如无法拉取,多执行几次命令:
docker compose -f docker/docker-compose.yml up -d

ragfflow运行起来后,占用的资源如下图:

下文是关于如何在ragfflow中结合deepseek的具体使用实践:

一、修改docker的配置

1、docker运行起来后,需要修改国内可以下载的镜像源

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://hub.rat.dev",
    "https://docker.1ms.run",
    "https://docker.1panel.live/"
  ]
}

修改后点击右下角的apply & restart

二、执行命令启动ragfflow

进入到上一篇文章中下载的ragfflow目录:

D:\soft\DockerDesktop\ragflow

执行如下命令:

docker compose -f docker/docker-compose.yml up -d

启动成功如下图:

三、登录ragfflow创建知识库

1、打开浏览器,在浏览器中输入地址

http://localhost

如果是初次登录,则需要先注册;注册后用注册的账号进行登录;登录后,可看到如下页面

2、添加模型

点击头像->模型提供商->选择ollama图标,点击添加模型

模型类型,选择chat

模型名称,在cmd命令行窗口输入ollama list可以看到已安装的模型,复制模型名称

nezahatkorkmaz/deepseek-v3:latest

基础Url,输入本机的ip和ollama的默认端口

cmd命令窗口输入ipconfig,获取到ip:


默认端口为:11434

http://192.168.31.108:11434

最大token数为32768即可。

最终输入的内容如下图:

点击确定,可以看到添加了的模型:

3、系统模型设置

点击右上角的系统模型设置,在聊天模型中选择刚配置的模型,其他保持默认,点击确定,完成系统模型的设置。

4、创建知识库

点击顶部的知识库、创建知识库,输入知识库名称,点击确定。

这里以汪博士解读PMP为知识库名称进行演示

点击确定后,进入到知识库的配置页面,语言选择中文,其他保持默认

点击保存按钮,进入到知识库的数据集配置页面,点击新增文件

上传本地文件,点击确定

成功载入知识库,点击“动作”列的图标,对文件进行解析

等待片刻(具体时间得看电脑配置而定)

5、新建助理

点击聊天》新建助理,选择刚解析的知识库,点击确定

选中刚创建的助理,点击+号,新建会话

输入对话,例如:我想要考pm,需要怎么复习

以下是助理的回答

要准备 PM(Project Management)考试,以下是一些建议:
了解PM的基本概念:首先,要理解项目管理的基本原则、流程和工具。包括但不限于:
项目管理框架
任务分解
组织结构
时间表和进度控制
选择适合自己的学习资源:有很多PM考试 prep课程可供选择,例如:
PMI(Project Management Institute)认证的培训课程
Online 课程平台,如 Coursera、edX等
书籍或电子教材
掌握关键概念和术语:了解项目管理中的常用术语和概念,这些词汇在考试中会被问及。例如:
Project Management Body of Knowledge (PMBOK)
Agile方法论
Scrum框架
练习题目和模拟测试:通过练习题目和模拟测试来评估自己的理解程度,并找出自己需要更好地掌握的内容。
建立一个复习计划:制定一个详细的复习计划,包括每天或每周要学习什么样的内容。确保你有足够的时间来准备考试 
。
寻求帮助和支持:与朋友、家人或专业教练讨论你的目标,并获得他们的建议和支持。
以下是一些具体的PM考试 prep资源:
PMI(Project Management Institute)认证培训课程
Coursera - Project Management Specialization
edX - Project Management MicroMasters
"A Guide to the Project Management Body of Knowledge (PMBOK Guide)" by PMI
记住,准备PM考试需要时间和努力 
。保持积极的态度,并坚持复习计划,你一定能成功!
04. PMI 敏捷实践指南(看7-114页).pdf

以上就是本地部署deepseek+ragfllow构建私有知识库问答系统的完整使用。

最后

为什么要学AI大模型

当下,⼈⼯智能市场迎来了爆发期,并逐渐进⼊以⼈⼯通⽤智能(AGI)为主导的新时代。企业纷纷官宣“ AI+ ”战略,为新兴技术⼈才创造丰富的就业机会,⼈才缺⼝将达 400 万!

DeepSeek问世以来,生成式AI和大模型技术爆发式增长,让很多岗位重新成了炙手可热的新星,岗位薪资远超很多后端岗位,在程序员中稳居前列。

在这里插入图片描述

与此同时AI与各行各业深度融合,飞速发展,成为炙手可热的新风口,企业非常需要了解AI、懂AI、会用AI的员工,纷纷开出高薪招聘AI大模型相关岗位。
在这里插入图片描述
最近很多程序员朋友都已经学习或者准备学习 AI 大模型,后台也经常会有小伙伴咨询学习路线和学习资料,我特别拜托北京清华大学学士和美国加州理工学院博士学位的鲁为民老师给大家这里给大家准备了一份涵盖了AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频 全系列的学习资料,这些学习资料不仅深入浅出,而且非常实用,让大家系统而高效地掌握AI大模型的各个知识点。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

AI大模型系统学习路线

在面对AI大模型开发领域的复杂与深入,精准学习显得尤为重要。一份系统的技术路线图,不仅能够帮助开发者清晰地了解从入门到精通所需掌握的知识点,还能提供一条高效、有序的学习路径。

img

但知道是一回事,做又是另一回事,初学者最常遇到的问题主要是理论知识缺乏、资源和工具的限制、模型理解和调试的复杂性,在这基础上,找到高质量的学习资源,不浪费时间、不走弯路,又是重中之重。

AI大模型入门到实战的视频教程+项目包

看视频学习是一种高效、直观、灵活且富有吸引力的学习方式,可以更直观地展示过程,能有效提升学习兴趣和理解力,是现在获取知识的重要途径

在这里插入图片描述
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

海量AI大模型必读的经典书籍(PDF)

阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。
在这里插入图片描述

600+AI大模型报告(实时更新)

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
在这里插入图片描述

AI大模型面试真题+答案解析

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下
在这里插入图片描述

在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

<think>我们正在Ubuntu 22.04上部署Nominatim地图服务。Nominatim是一个用于OpenStreetMap数据的搜索引擎,它可以将地址转换为地理坐标(地理编码)以及将地理坐标转换为地址(反向地理编码)。部署过程包括多个步骤,每个步骤都有其具体作用。以下将详细解释每一步骤及其作用。 ### 步骤1: 更新系统并安装依赖 **作用**: 确保系统软件包是最新的,并安装编译和运行Nominatim所需的依赖库和工具。这包括构建工具、数据库客户端、地理空间库等,为后续步骤准备环境。 ```bash sudo apt update && sudo apt upgrade -y sudo apt install -y build-essential cmake g++ libboost-dev libboost-system-dev \ libboost-filesystem-dev libexpat1-dev zlib1g-dev libxml2-dev \ libbz2-dev libpq-dev libproj-dev python3-dev python3-pip \ postgresql postgresql-contrib postgis postgresql-14-postgis-3 \ apache2 php php-pgsql libapache2-mod-php ``` ### 步骤2: 创建Nominatim用户和数据库 **作用**: 为Nominatim服务创建一个专用的系统用户和PostgreSQL数据库用户,以及相应的数据库。这有助于隔离服务,提高安全性,并允许为数据库设置适当的权限。 ```bash sudo useradd -m -d /home/nominatim -s /bin/bash nominatim sudo -u postgres createuser -s nominatim sudo -u postgres createdb -O nominatim nominatim sudo -u postgres psql -d nominatim -c "CREATE EXTENSION postgis;" sudo -u postgres psql -d nominatim -c "CREATE EXTENSION hstore;" ``` ### 步骤3: 下载并编译Nominatim **作用**: 获取Nominatim的源代码,然后编译生成可执行文件。编译过程将配置Nominatim以使用已安装的依赖库,并优化软件以在特定系统上运行。 ```bash sudo -u nominatim git clone --recursive https://github.com/openstreetmap/Nominatim.git /home/nominatim/nominatim cd /home/nominatim/nominatim sudo -u nominatim mkdir build cd build sudo -u nominatim cmake .. sudo -u nominatim make ``` ### 步骤4: 下载地理数据并导入数据库 **作用**: 下载OpenStreetMap的地理数据(通常是一个PBF文件),然后使用Nominatim的工具将数据导入到PostgreSQL数据库中。这一步是构建地理编码数据库的核心,数据导入过程会解析原始地理数据并构建用于快速搜索的索引。 ```bash sudo -u nominatim wget -O /home/nominatim/nominatim/data.osm.pbf https://download.geofabrik.de/europe/monaco-latest.osm.pbf sudo -u nominatim ./utils/setup.php --osm-file /home/nominatim/nominatim/data.osm.pbf --all ``` ### 步骤5: 配置Apache Web服务器 **作用**: 设置Apache以提供Nominatim的Web服务接口。通过配置虚拟主机,使得外部可以通过HTTP请求访问Nominatim的API,进行地理编码和反向地理编码。 ```bash sudo tee /etc/apache2/sites-available/nominatim.conf <<EOF <VirtualHost *:80> ServerName nominatim.local DocumentRoot /home/nominatim/nominatim/build/website <Directory /home/nominatim/nominatim/build/website> Options FollowSymLinks MultiViews AddType text/html .php Require all granted </Directory> ErrorLog \${APACHE_LOG_DIR}/nominatim_error.log CustomLog \${APACHE_LOG_DIR}/nominatim_access.log combined </VirtualHost> EOF sudo a2ensite nominatim sudo systemctl reload apache2 ``` ### 步骤6: 配置Nominatim设置 **作用**: 调整Nominatim的配置文件(`settings/local.php`),设置数据库连接、API端点等参数,确保Nominatim服务能够正确连接到数据库并对外提供服务。 ```bash sudo -u nominatim tee /home/nominatim/nominatim/build/settings/local.php <<EOF <?php @define('CONST_Database_DSN', 'pgsql:dbname=nominatim;user=nominatim;host=/var/run/postgresql'); @define('CONST_Website_BaseURL', 'http://nominatim.local/'); EOF ``` ### 步骤7: 优化和更新 **作用**: 对数据库进行优化,以提高查询性能。此外,设置定期更新机制,以保持地图数据的最新状态(可选,但推荐用于生产环境)。 ```bash sudo -u nominatim ./utils/update.php --init-updates sudo -u nominatim ./utils/update.php --import-osmosis-all ``` ### 步骤8: 测试服务 **作用**: 通过发送HTTP请求测试Nominatim服务是否正常运行。例如,使用`curl`命令查询一个地址,验证是否返回正确的地理编码结果。 ```bash curl "http://nominatim.local/search.php?q=Monaco&format=json" ``` 以上步骤完成了Nominatim在Ubuntu 22.04上的基本部署。每个步骤都是构建完整服务的关键环节,确保数据正确导入、服务可访问以及性能优化。 §§相关问题§§ 1. 如何调整Nominatim的配置以支持更大的地理数据导入(如整个国家或大洲)? 2. Nominatim部署完成后如何更新地图数据? 3. 如何提高Nominatim地理编码查询的性能? 4. 如何配置Nominatim以使用HTTPS增强安全性? 5. 如何备份和恢复Nominatim数据库?</think>### 在 Ubuntu 22.04 上部署 Nominatim 的步骤详解 Nominatim 是 OpenStreetMap 的官方地理编码引擎,用于将地址转换为坐标(地理编码)和将坐标转换为地址(反向地理编码)。以下是部署过程的每个步骤及其技术作用: #### 1. **安装系统依赖** ```bash sudo apt install -y build-essential cmake libboost-dev libexpat1-dev \ zlib1g-dev libxml2-dev libbz2-dev libpq-dev libproj-dev \ postgresql postgresql-contrib postgis postgresql-14-postgis-3 \ apache2 php php-pgsql python3-dotenv python3-psycopg2 python3-requests ``` **作用**: - 安装编译工具链(`build-essential`, `cmake`) - 提供地理数据处理库(`libproj-dev`, `postgis`) - 配置数据库服务(`postgresql` 及空间扩展) - 设置 Web 服务器和 PHP 支持(`apache2`, `php-pgsql`) #### 2. **创建专用用户和数据库** ```bash sudo useradd -m -d /srv/nominatim -s /bin/bash nominatim sudo -u postgres createuser -s nominatim sudo -u postgres createdb -O nominatim nominatim ``` **作用**: - 隔离服务权限(专用 `nominatim` 系统用户) - 创建数据库用户并分配所有权(`-O nominatim`) - 避免使用 root 账户降低安全风险 #### 3. **初始化 PostgreSQL 空间扩展** ```bash sudo -u postgres psql -d nominatim -c "CREATE EXTENSION postgis;" sudo -u postgres psql -d nominatim -c "CREATE EXTENSION hstore;" ``` **作用**: - `postgis`:支持地理空间数据类型和查询 - `hstore`:启用键值对存储,用于处理 OSM 标签数据 - 为导入 OpenStreetMap 数据提供基础数据结构支持 #### 4. **编译 Nominatim 源码** ```bash sudo -u nominatim git clone --depth 1 https://github.com/osm-search/Nominatim.git cd Nominatim && mkdir build && cd build sudo -u nominatim cmake -DCMAKE_BUILD_TYPE=Release .. sudo -u nominatim make ``` **作用**: - `cmake` 配置:优化编译参数(`-DCMAKE_BUILD_TYPE=Release`) - 生成高效的地理编码处理二进制文件 - 编译过程包含 C++ 核心引擎(约 20-30 分钟) #### 5. **导入 OSM 数据** ```bash sudo -u nominatim ./utils/setup.php --osm-file /path/to/data.osm.pbf --all ``` **作用**: - 将 OSM 的 `.pbf` 格式数据解析为关系型结构 - 在 PostgreSQL 中构建: - 地址层级树(address hierarchy) - 空间索引(GiST 索引) - 分词搜索表(word table) - 过程可能持续数小时(取决于区域大小) #### 6. **配置 Apache** ```bash sudo tee /etc/apache2/sites-available/nominatim.conf <<EOF <VirtualHost *:8080> DocumentRoot /srv/nominatim/Nominatim/build/website <Directory "/srv/nominatim/Nominatim/build/website"> Require all granted AddType text/html .php </Directory> </VirtualHost> ``` **作用**: - 通过端口 8080 暴露 API 服务 - 允许 PHP 脚本执行地理编码查询 - 提供 RESTful 接口(如 `/search.php?q=Paris`) #### 7. **设置定期更新** ```bash sudo -u nominatim ./utils/update.php --init-updates crontab -e -u nominatim # 添加:0 * * * * cd /srv/nominatim/Nominatim && ./utils/update.php --import-osmosis-all ``` **作用**: - `--init-updates`:创建变更数据捕获目录 - Cron 作业:每小时增量更新 OSM 变更 - 保持数据库与 OpenStreetMap 同步 #### 8. **性能优化** ```postgresql ALTER SYSTEM SET shared_buffers = '4GB'; ALTER SYSTEM SET maintenance_work_mem = '2GB'; ``` **作用**: - 增加共享内存缓冲区加速查询 - 提升空间索引构建效率 - 需根据服务器 RAM 调整(建议 > 32GB) ### 关键技术组件作用 | 组件 | 作用 | |-------|-------| | **PostGIS** | 处理地理空间查询(如 `ST_DWithin`) | | **Hstore** | 存储 OSM 标签的键值对(如 `name:en`) | | **libosmium** | 高效解析 OSM 二进制数据(PBF格式) | | **Photon** | 提供低延迟搜索的前端查询引擎 | ### 常见问题排查 1. **导入卡住**:检查 `/tmp` 空间是否充足(需 > 100GB) 2. **查询超时**:调整 `postgresql.conf` 中的 `work_mem` 3. **内存不足**:减少 `--osm2pgsql-cache` 值(默认 24000MB) ### 验证部署 ```bash curl "http://localhost:8080/search.php?q=Statue+of+Liberty&format=json" ``` 预期返回包含经纬度的 JSON 数据,表示服务正常运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值