【应用实战】利用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.service``sudo systemctl status ollama.service

2 部署千问大模型

(1) 模型下载

与docker类似,可以通过ollama pull 命令进行预训练模型下载,目前ollama已支持许多大模型,可以通过访问https://ollama.com/library获取相关信息。

这里使用ollama run qwen2.5:7b,当本地没有qwen2.5:7b预训练模型时,ollama将先下载模型到本地,然后运行该模型。

测试运行正常,可进行问答测试。基于ollama的千问7b大模型部署完毕。

3 安装RAGFlow

RAGFlow 是一款基于深度文档理解构建的开源 RAG(Retrieval-Augmented Generation)引擎。RAGFlow 可以为各种规模的企业及个人提供一套精简的 RAG 工作流程,结合大语言模型(LLM)针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。RAGFlow部署采用的是docker容器化部署,因组件较多使用了多个容器,需要通过docker compose进行多容器部署方式。

(1)执行如下命令克隆RAGFlow仓库

#参考官方手册https://ragflow.io/docs/dev/进行操作即可:` `git clone https://github.com/infiniflow/ragflow.git` `cd ragflow`   `git checkout -f v0.14.1

(2)修改docker子目录下的.env文件,进行初始化配置

这里特别要注意的是,在初始化环境变量里RAGFLOW_IMAGE环境变量指向的是标签为v0.14.1-slim镜像文件,该镜像未打包embedding models,我这里修改为v0.14.1。

其他变量参数包括相关组件的端口,应用的用户初始化密码、镜像下载地址等,按需进行调整和设置。

vi docker/.env

注释掉84行,使用第87行。

(3)进入ragflow目录,使用docker compose启动应用

进入 docker 文件夹,利用编译好的 Docker 镜像启动服务器,将开始将镜像下载到本地并完成启动:

cd ragflow``docker compose -f docker/docker-compose.yml up -d

(4)查看ragflow相关组件及启动情况

docker images``docker compose images``docker logs -f ragflow-server

4 配置RAGFlow-接入本地大模型

In your web browser, enter the IP address of your server and log in to RAGFlow.With the default settings, you only need to enter http://IP_OF_YOUR_MACHINE (sans port number) as the default HTTP serving port 80 can be omitted when using the default configurations.

在这里输入本机地址,因没更改默认端口即80,进入如下界面,第一次需要进行注册并登录。

完成注册登录后,进入如下页面,将页面调整为中文。

点击图像进入如下界面,配置模型提供商,这里默认为各种在线大模型供应商模型接入,但需要你去相应的模型供应商申请API key填入。

这里,我们配置接入本地部署的ollama管理的大模型

添加成功后,显示如下:

5 配置RAGFlow-创建知识库

进行初始化配置后,点击保存。

上传个人相关知识文档等,由系统进行解析处理。

点击新增文件,上传相关文档。可以当前选择,也可以拖拽文件夹

点击解析,系统将对上传文档进行文本识别(图片类文档)、分割、向量化处理。

由于个人笔记本性能问题,这里只做简单测试,不做大规模文档入库。解析完成后,进行检索测试。这里从王国维的东山杂记里,尝试检索柳如是的信息。

可以看到,向量化后的资料库里已经有了柳如是的信息,但切片不完整。由此可见,在进行资料入库时需要有针对性的辅助切片标注等。另外,也可能跟文言文有关系。

6 智能体应用测试

建立一个特定专业的智能体(Agent),相当于你的一个数字健身,赋于它一个角色(role),制定提示词(Prompt),设置自由度,温度等。

(1)新建助理

角色设定及提示词

设置使用本地千问大模型并结合知识库内容进行回答,设定自由度为“精确”

下面开始问题测试:先只用本地千问大模型进行问答测试,我问他灶神是谁,千问没有正面回答我的问题。

尝试追问灶神具体是谁?我让千问从王国维的《东山杂记》里找答案,AI开始胡说八道了,大模型幻觉病发作。

再通过本地千问大模型结合本地知识库进行问答测试,该智能助理很快从本地知识库中找到了准确的答案。

可以看到,在专业知识库下回答的问题更有特定性。但总的来看,人工智能对文言文的理解还是较白话文差一些。通过RAGFlow可以建立不同领域的个人知识库及智能体,本文演示了如何结合AI大模型和知识库进行RAG。

AI大模型应用怎么学?

这年头AI技术跑得比高铁还快,“早学会AI的碾压同行,晚入门的还能喝口汤,完全不懂的等着被卷成渣”!技术代差带来的生存压力从未如此真实。
兄弟们如果想入门AI大模型应用,没必要到处扒拉零碎教程,我整了套干货大礼包:从入门到精通的思维导图、超详细的实战手册,还有模块化的视频教程!现在无偿分享。

1.学习思维导图

AI大模型应用所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

2.从入门到精通全套视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

3.技术文档和电子书

整理了行业内PDF书籍、行业报告、文档,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

朋友们如果有需要全套资料包,可以点下面卡片获取,无偿分享!

<think>好的,我现在需要帮助用户解决在RAGFlow部署模型的题。首先,我要明确用户的需求:他们想要找到相关的部署指南或教程,特别是针对模型的部署步骤。根据用户提供的引用内容,我注意到提到了使用OpenLLM的模型查看命令和LocalAI部署,以及硬件要求,特别是显存大小超过8GB的CPU内存。 首先,我需要确认用户提到的RAGFlow是否支持模型。根据引用中的信息,可能需要通过OpenLLM来查看支持的模型列表,用户应该先运行`openllm models`命令来检查是否有模型。如果支持,下一步是部署的具体步骤,包括环境准备、模型下载、配置调整和启动服务。 接下来,硬件要求是关键。用户需要注意他们的本地硬件是否符合,特别是CPU内存是否足够。如果显存不够,可能需要调整模型参数或选择较小的模型变体。此外,部署后的集成到RAGFlow可能需要API调用,这部分需要示例代码和配置说明。 用户可能需要分步指南,所以回答应该结构清晰,逐步引导。同时,要确保每个步骤都参考了提供的引用内容,比如引用[1]中的LocalAI部署步骤和引用[2]中的硬件注意事项。最后,生成的相关题需要覆盖部署中的常见疑,比如性能优化、模型变体选择、硬件不足的解决方案和监控方法。 需要检查是否有遗漏的步骤,比如环境依赖的安装、权限题,或者模型配置文件的具体参数设置。此外,用户可能遇到下载模型慢的题,可以建议使用镜像源或者手动下载。还要提醒用户注意模型版本与RAGFlow的兼容性,避免版本冲突。 最后,确保回答中的LaTeX格式正确,行内公式用$...$,独立公式用$$...$$,但在这个题中可能涉及数学公式较少,主要关注代码块和引用标识的正确使用。确保回答使用中文,结构清晰,并且相关引用标识自然添加在段落末尾。</think>### 如何在RAGFlow部署模型的部署指南 #### 1. 确认模型支持与依赖环境 首先通过以下命令查看OpenLLM支持的模型列表,确认模型是否在列(例如`qwen-7b`或`qwen-14b`)[^1]: ```bash openllm models ``` #### 2. 硬件要求检查 - **最低配置**:CPU内存需大于8GB,若使用GPU加速需显存足够加载模型权重(例如7B模型约需14GB显存)[^2] - **推荐配置**:使用量化版模型(如`qwen-7b-int4`)可降低显存需求至8GB以下 #### 3. 分步部署流程 **Step1:安装依赖** ```bash pip install openllm[ragflow] ``` **Step2:模型下载与配置** ```python # 通过OpenLLM下载基础模型 openllm download qwen-7b # 创建自定义配置文件 qwen_config.yaml model_id: "qwen/qwen-7b" quantize: "int8" # 根据硬件选择int4/int8 device_map: "auto" ``` **Step3:启动服务** ```bash openllm start qwen --model-id ./qwen-7b --config qwen_config.yaml ``` #### 4. RAGFlow集成配置 在RAGFlow应用配置文件中添加API端点: ```yaml model_endpoints: qwen: url: "http://localhost:3000" api_key: "YOUR_API_KEY" timeout: 120 ``` #### 常见题解决方案 - **下载失败**:手动从HuggingFace下载后放置到`~/.cache/openllm/qwen` - **内存不足**:在配置文件中添加`max_memory: 0.8`限制内存使用比例 - **API连接超时**:调整服务启动参数`--timeout 300`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值