2026年7月9日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

利用ollama + RAGFlow部署千问大模型构建个人知识库AI智能体应用

发布日期:2024-12-15 18:04:42 浏览次数: 5017
作者:绿芜平畹

微信搜一搜,关注“绿芜平畹”

将开源的大语言预训练模型部署到用户设备上进行推理应用,特别是结合用户专业领域知识库构建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

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

#  修改并重启服务sudo systemctl daemon-reloadsudo systemctl restart ollama.servicesudo 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 ragflowdocker compose -f docker/docker-compose.yml up -d

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

docker imagesdocker compose imagesdocker 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管理的大模型

添加成功后,显示如下:

配置RAGFlow-创建知识库

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

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

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

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

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

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

6 智能体应用测试

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

(1)新建助理

角色设定及提示词

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

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

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

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

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

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅