基于ollama与ragflow实现本地知识库

1、最终效果

实现了基于本地文档内容的对话问答

2、环境部署

我的机器配置是ubuntu20+4090d+i7,没有这么高也是可以跑的

2.1安装ollama

有了ollama,就可以在本地跑一个大模型了。不联网也可以运行,实现了绝对隐私和token自由。

ollama官网:https://ollama.com/download   根据自己系统下载即可。

终端输入ollama不报错说明安装成功了。

然后可以在ollama模型广场下载合适的模型,https://ollama.com/search ,模型太大本地可能带不动,太小可能性能不好,需要权衡。建议先下载个1-10G的试水。

这里有很多主流模型,deepseek、qwen、mistral、谷歌的gemma、meta的llama等等。

以deepseek-r1为例,8b参数量的模型为4.9GB,只需要拷贝右边的命令到终端就可以自动下载了,而且支持断网续传。如果太慢需要挂代理,虚拟机的话可以用clash的7890端口作为代理转发端口。

ollama run deepseek-r1:8b

然后输入 ollama list  输出里应该包含deepseek,就说明部署成功了

然后再运行一遍 ollama run deepseek-r1:8b 就能直接在终端对话了。如果回复速度比较慢,就需要考虑还一个更小的模型。

2.2 安装ragflow

官方建议配置如下:

ragflow官方仓库:  https://github.com/infiniflow/ragflow/blob/main/README_zh.md

首先需要将仓库clone下来。

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

ragflow以来docker运行。所以环境中需要包含docker,此处不赘述。

由于ragflow默认下载轻量版本的镜像(v0.17.2-slim),slim并不自带embedding模型。要么需要自己再部署一个embedding模型,要么调用在线embedding模型api。这里选择下载完整版本的ragflow,避免再次配置。

为了使得下载完整版镜像,需要修改配置文件。进入ragflow文件夹的docker,修改.env文件(如果没有看到.env需要开启文件系统的“显示隐藏文件”选项)

注释84行,取消注释87行,修改成上面的样子。

然后在docker文件夹中打开终端,输入以下代码就可以运行ragflow了。

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

如果报错,可以检查自己的80端口是否被占用,docker使用在运行。

然后就能直接通过浏览器访问localhost:80了,即ragflow的操作界面

3、ragflow配置(构建知识库)

在ragflow登录页注册一个root用户,进入模型提供商页面

3.1添加模型

找到ollama,点击添加模型

按照以上配置进行,模型名称一定是完整的模型名称,不能只输入deepseek,基础url就是本机ip加上11434(11434ollama的运行端口),ip不能是127.0.0.1。最大token数就是模型输出的最大token数,由于是本地部署所以不需要api-key,r1属于chat模型。

点击系统模型设置,选择嵌入模型(完整版ragflow自带的)

3.2添加助理

然后就能在ragflow里自由的与ds聊天了,但是现在还没有外接知识库。

3.3构建知识库

新增知识库test后,参数默认即可。选择文档后,还需要点击解析才能被模型检索到。

选择知识库

3.4测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值