一、关于本文
本文介绍在麒麟操作系统上,基于deepseek (在线 & 本地 api ) + CherryStudio (支持多平台的AI对话客户端) 部署搭建知识库的方法。
二、环境架构说明
1)操作系统环境:
- 【在线&离线】 麒麟桌面操作系统 V10SP1-2403 x86:部署AI对话客户端
- 【离线】麒麟服务器操作系统V10SP3-2403 x86:部署本地离线的DeepSeek,提供本地离线API(安装环境的时候需要联网)
2)API使用:
- 【在线】Siliconflow:硅基流动平台,提供高效能、低成本的多品类 AI 模型服务。(这里为啥不直接使用DeepSeek官网的,你们可以猜猜)
- 【离线】DeepSeek:使用官网提供的部署包进行部署安装,提供本地离线API
- Ollama:一个开源的本地大语言模型运行框架
3)AI对话客户端:
- 【在线&离线】CherryStudio (支持多平台的AI对话客户端)
大致的部署架构如下:
以上的在线API接口以及API对话客户端当前还有很多,大家可以根据自己的情况选择使用。
注-相关介绍:
- 麒麟软件:https://www.kylinos.cn/
- Ollama:https://ollama.com/
- DeepSeek:https://www.deepseek.com/
- CherryStudio:https://cherry-ai.com/
- Siliconflow:https://siliconflow.cn/zh-cn/
三、各模块组件安装
1)麒麟操作系统安装
镜像下载地址:双源飞流下载站
安装说明:kylinos华东知识库 · 语雀
2)AI对话框安装
注:安装需要联网
麒麟软件桌面操作系统SP1-2403 软件商店里可以通过搜索“Cherry ”来搜索并且安装此软件(开会菜单搜素-软件商店)
也可以通过终端命令行安装(开始菜单搜索-终端)
sudo apt-get install cherrystudio
开始菜单可以看到此软件,可以点击打开:
3)在线API使用注册
- 注册: Siliconflow账号申请
点击链接后,可以根据提示注册号账号,当前注册还送免费的token(非广告)。
- 申请API key
注册登录后,右上角用户图标点击后,点击账户设置,在左侧侧栏里选择API密钥
- 记录API密钥
创建好API密钥后,可以点击密钥处实现复制效果。
API密钥 是您访问 SiliconCloud 接口的凭证,具有该账户的完整权限,请您妥善保管。后面设置在线API的时候需要用到。
4)本地DeepSeek安装
3.4.1 服务器操作系统版本
在银河麒麟服务器V10SP1-2403服务器上部署DeepSeek(以下服务器上的操作都是在root下执行的)
关闭防火墙(后续做内网终端访问API时可以访问到):
systemctl stop firewalld.service
systemctl diable firewalld.service
3.4.2 安装ollama
- 方式一:按照ollama官网的下载指南,执行如下命令:
curl -fsSL https://ollama.com/install.sh | sh
- 方式二:前往github平台下载ollama软件包后解压安装:
网址:https://github.com/ollama/ollama/releases/latest/download/ollama-linux-amd64.tgz
也可以通过此链接下载:链接: https://pan.baidu.com/s/1Ilwte2gpXpVIIzcke1_OEA?pwd=1234 提取码: 1234 (arm和x86架构)
执行命令解压:
tar -C /usr/local -zxvf ollama-linux-amd64.tgz
在银河麒麟服务器V10SP1-2403服务器上部署DeepSeek:
3.4.3 运行ollama
export OLLAMA_HOST=0.0.0.0
export OLLAMA_ORIGINS=*
ollama serve
后续的操作都需要这个服务一直跑着,如果想要后台运行,可以写service或者在screen里执行,这个方法自行搜索实现。
可以看到版本号及服务端口
【注意:ARM(aarch)架构服务器系统部署ollama时可能提示“/usr/lib64/libstdc++错误,GLIBCXX3.4.25缺失”】
可以通过4.2 网盘里获取libstdc++.so.6.0.28库,执行下面的操作:
#将libstdc++.so.6.0.28拷贝到/usr/lib64目录下
cp libstdc++.so.6.0.28 /usr/lib64/
#将系统默认的libstdc++.so.6备份
cd /usr/lib64/
unlink libstdc++.so
mv libstdc++.so.6 libstdc++.so.6.bak
#创建新的软链接
ln -s libstdc++.so.6.0.28 libstdc++.so
3.4.4 安装运行deepseek
这里先插一嘴说下ollama。可以通过ollama框架来安装各种模型,只要执行:
ollama run 模块名称 #运行模块
ollama pull 模块名称 #嵌入加载
如何查看有哪些模块呢,通过以下网站可以查到:https://ollama.com/library
deepseek的不同版本模块有不不一样的大小及功能,可根据机器配置选择模型大小,数字越大需求的配置越高。
只做运行,还是加载,可以点开详情的这里看到,可以直接点击复制命令
话题回来,运行deepseek,本文以1.5b模型为例,部署完成后可简单对话验证是否成功(此步骤需要链接互联网):
ollama run deepseek-r1:1.5b
可以直接在此界面进行问答测试:
或者浏览器访问查看api是否正常(这里的192.168.212.243是服务器的ip,11434是api使用的端口):
另外还需要pull bge-m3模块:
ollama pull bge-m3
(图片里是pull的bge-large ,pull bge-m3现象一样(好吧,忘记截图了))
部署完成,待客户端连接使用。
四、组合搭建
1)在线知识库
4.1.1 预准备材料
- 在线API密钥(参见三、3)
- 麒麟桌面操作系统安装(参见三、1)
- 在麒麟桌面环境系统安装好AI对话客户端(Cherrystudio)(参见三、2)
4.1.2 配置AI对话客户端
如下图配置,在设置里选择硅基流动,然后开启启用,然后复制API密钥,先点击管理,添加:
点击管理后会弹出以下:
选择图片里的几个:
然后按照下图操作:
这个时候默认的对话助手里使用的就是咱们刚才设置的模块(v3或者R1)
可以通过以下图来调整:
以下是两个回答的差距:
4.1.3 添加知识库
参照下图点击知识库,添加,自定义知识库名字,选择在线的bge模块还是离线的
在线的添加如图:
离线添加
4.1.4 知识库导入数据
可以通过界面可以知道,当前支持本地文件,本地文件夹等本地素材添加到知识库里,添加后,AI提问会结合知识库内容做回答。(这里的网站和网址没有测试成功,可能是我的方法不对,后续再研究)
导入后,可以点击搜索知识库来测试是否正确导入
4.1.5 对话助手关联知识库
参照下图,在助手处,右键,选择编辑助手,在知识库设置地方,选择自己创建的知识库
测试效果:
联网API + 本地知识库的回答
2)离线知识库
4.2.1 预准备材料
- 麒麟桌面&服务器操作系统安装(参见三、1)
- 本地DeepSeek安装(参考三、4)
- 在麒麟桌面环境系统安装好AI对话客户端(Cherrystudio)(参见三、2)
4.2.2 配置AI对话客户端
主要的AI对话框配置和在线配置类似,主要有以下差异点,按照图片里配置服务器的API接口IP:端口以及添加的模型
4.2.3 添加知识库
添加知识库的方法同四、1)4.1.3
4.2.4 知识库导入数据
给知识库添加知识数据的方法同四、1)4.1.4
4.2.5 对话助手关联知识库
关联方法同四、1)4.1.5
五、总结
根据大佬的指导,几个小时就搭建好了,觉得如果是单纯个人使用,还是拥抱大厂使用在线API然后结合本地知识库来搭建属于自己个人的AI搜索工具。另外总感觉这个模式仅仅可以个人使用。应该还有其他很多开源的项目来满足不同场景的需求,比如下图这样的:
大佬提供了一些思路,后续试了后再找机会分享:
dify:
https://github.com/langgenius/dify
https://docs.dify.ai/zh-hans/guides/application-orchestrate
最后附上一个资源,是暂时麒麟出的(麒麟+chatbox(AI客户端) + deepseek )还有与VScode IDE配合的说明。
注:文档整理仓促,如有错误的地方烦请指出。