【应用实战】利用Ollama + RAGFlow部署千问大模型:构建个人知识库AI智能体

将开源的大语言预训练模型部署到用户设备上进行推理应用,特别是结合用户专业领域知识库构建AI应用,让AI在回答时更具有专业性,目前已经有很多成熟的应用方案。其中,支持大模型本地化部署的平台及工具很多,比较出名的有ollama、vLLM、LangChain、Ray Serve等,大大简化了模型的部署工作,并提供模型全生命周期管理。对应地,需要知识库构建的相应工具,能处理各种格式(doc/pdf/txt/xls等)的各种文档,能够直接读取文档并处理大量信息资源,包括文档上传、自动抓取在线文档,然后进行文本的自动分割、向量化处理,来实现本地检索增强生成(RAG)等功能。这类工具主要有RAGFlow、MaxKB、AnythingLLM、FastGPT、Dify 、Open WebUI 等。本文将采用ollama + RAGFlow方式进行搭建,系统架构如下:

1 安装ollama

ollama是一个开源的大型语言模型服务工具,旨在帮助用户在本地环境中部署和运行大型语言模型,其核心功能是提供一个简单、灵活的方式,将这些复杂的AI模型从云端迁移到本地机器上,简化大型语言模型在本地环境中的运行和管理。它不仅为开发者提供了一个强大的平台来部署和定制AI模型,而且也让终端用户能够更加私密和安全地与这些智能系统进行交互。

(1)执行如下命令安装

curl -fsSL https://ollama.com/install.sh | sh

在安装过程中,ollama会识别相应的GPU加速卡,若未识别相应设备,则使用CPU模式

GPU模式“NVIDIA GPU installed”

CPU模式“No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode”

(2)安装后查看ollama状态

sudo systemctl status ollama

(3)设置ollama环境变量

sudo vi /etc/systemd/system/ollama.service

增加Environment=”OLLAMA_HOST=0.0.0.0:11434”,否则后面在RAGFlow容器环境下配置连接时,无法连接ollama.

#  修改并重启服务``sudo systemctl daemon-reload``sudo systemctl restart ollama.ser
<think>我们正在构建一个在Windows11上使用NVIDIA显卡(44GB显存)的本地知识库系统,涉及DockerDesktop、OllamaRAGFlow。以下是步骤:1.**前提条件**:-Windows11系统-已安装NVIDIA显卡驱动(确保支持CUDA)-已安装DockerDesktop并配置使用WSL2后端-确保在DockerDesktop中启用GPU支持2.**安装和配置WSL2**:-在PowerShell中运行:`wsl--install`安装WSL-设置默认版本为WSL2:`wsl--set-default-version2`-安装Linux发行版(如Ubuntu)并设置为默认3.**配置DockerDesktop**:-打开DockerDesktop设置,在“General”中勾选“UsetheWSL2basedengine”-在“Resources”>“WSLIntegration”中启用Ubuntu-在“DockerEngine”配置中添加NVIDIA运行时支持,编辑`daemon.json`:```json{"runtimes":{"nvidia":{"path":"nvidia-container-runtime","runtimeArgs":[]}},"default-runtime":"nvidia"}```4.**安装NVIDIA容器工具包**:-在WSL2的Ubuntu中,添加NVIDIA容器仓库并安装工具包:```bashdistribution=$(./etc/os-release;echo$ID$VERSION_ID)\&&curl-s-Lhttps://nvidia.github.io/libnvidia-container/gpgkey|sudogpg--dearmor-o/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg\&&curl-s-Lhttps://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list|\sed's#debhttps://#deb[signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg]https://#g'|\sudotee/etc/apt/sources.list.d/nvidia-container-toolkit.listsudoapt-getupdatesudoapt-getinstall-ynvidia-container-toolkit```-重启DockerDesktop5.**部署Ollama**:-Ollama是一个本地大语言模型运行平台。我们将通过Docker运行它。-创建一个`docker-compose.yml`文件,包含Ollama服务:```yamlversion:"3.8"services:ollama:image:ollama/ollamacontainer_name:ollamaports:-"11434:11434"runtime:nvidia#使用NVIDIA运行时deploy:resources:reservations:devices:-driver:nvidiacount:allcapabilities:[gpu]volumes:-./ollama:/root/.ollamarestart:always```-使用`docker-composeup-d`启动Ollama-下载模型(如Llama2):```bashdockerexec-itollamaollamarunllama2```6.**部署RAGFlow**:-RAGFlow是一个基于深度文档理解构建企业级RAG(检索增强生成)应用的开源AI平台。-它需要DeepDoc(文档解析)和OCR服务,以及MySQL和MinIO存储。我们使用docker-compose部署。-创建`docker-compose-ragflow.yml`:```yamlversion:"3.8"services:deepdoc:image:infiniflow/ragflow-deepdoc:latestenvironment:-ALLOWED_ORIGINS=*-FEATURE_EXTRACT=enableports:-"9001:9001"restart:alwaysruntime:nvidiadeploy:resources:reservations:devices:-driver:nvidiacount:allcapabilities:[gpu]ocr:image:infiniflow/ragflow-ocr:latestports:-"9002:9002"restart:alwaysmysql:image:mysql:8.0command:--default-authentication-plugin=mysql_native_password--character-set-server=utf8mb4--collation-server=utf8mb4_unicode_cirestart:alwaysenvironment:MYSQL_ROOT_PASSWORD:ragflowMYSQL_DATABASE:ragflowvolumes:-./mysql_data:/var/lib/mysqlminio:image:minio/miniocommand:server/data--console-address:9009ports:-"9000:9000"-"9009:9009"environment:MINIO_ROOT_USER:adminMINIO_ROOT_PASSWORD:admin123volumes:-./minio_data:/dataragflow:image:infiniflow/ragflow:latestdepends_on:-deepdoc-ocr-mysql-minioports:-"9380:9380"environment:DOC_PROCESSOR:deepdoc:9001OCR:ocr:9002MYSQL_URL:mysql:3306MYSQL_USER:rootMYSQL_PASSWORD:ragflowMINIO_URL:minio:9000MINIO_ACCESS_KEY:adminMINIO_SECRET_KEY:admin123volumes:-./ragflow_data:/var/ragflowrestart:always```-启动:`docker-compose-fdocker-compose-ragflow.ymlup-d`7.**配置RAGFlow连接Ollama**:-访RAGFlow的web界面:http://localhost:9380(使用默认管理员账号:admin/infiniflow)-在“模型管理”中,添加本地Ollama提供的模型:-模型名称:自定义(如llama2)-模型类型:LLM-调用方式:OpenAICompatible-BaseURL:http://host.docker.internal:11434#通过此方式在Docker内部访宿主机的服务-模型名称:llama2(与Ollama中的模型名一致)-无APIKey-保存并测试连接。8.**创建知识库**:-上传文档(支持PDF、Word、PPT、Excel、TXT等)-RAGFlow会自动解析文档,并进行向量化存储-创建应用,选择刚才配置的Ollama模型作为LLM,设置提示词模板-即可开始答注意:-由于双显卡共44GB显存,确保在运行OllamaRAGFlow的DeepDoc(解析文档)时能分配到足够的显存。-需要调整Docker容器使用GPU的数量(通过`count`属性)以避免资源争用。如果有两张显卡,可以指定一张给Ollama,另一张给DeepDoc。或者由Docker自动调度(使用`count:all`)。§§相关题§§1.如何在Docker中为不同的容器分配不同的GPU?2.RAGFlow支持哪些类型的文档解析?3.Ollama支持哪些本地大模型?4.如何优化RAGFlow的检索性能?5.在Windows系统上运行Docker容器,如何解决GPU资源分配题?</think> ### 在 Windows 11 中部署 Ollama + RAGFlow 本地知识库方案 以下是基于 NVIDIA 显卡(44GB 显存)、Docker Desktop 的完整部署流程: #### 一、核心组件准备 1. **NVIDIA 环境配置** - 安装最新 [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html),确保 Docker 可访 GPU ```powershell wsl --install # 启用 WSL2 内核 winget install NVIDIA.CUDA # 安装 CUDA Toolkit ``` - 验证 GPU 可用性: ```powershell docker run --gpus all nv
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值