当前位置: 首页 > article >正文

Cherry Studio搭建本地知识库,结合DeepSeek实现RAG

Cherry Studio搭建本地知识库,结合DeepSeek实现RAG

  • CherryStudio
    • CherryStudio 简介
    • 环境准备
  • 模型配置
  • 本地知识创建
    • 1、新建知识库
    • 2、添加文件
    • 3、添加网址或者网站
    • 4、搜索知识库
  • 结合DeepSeek实现RAG
    • 1、选择知识库
    • 2、进行提问
  • 常见问题与解决方案

CherryStudio

CherryStudio 简介

CherryStudio 是一款集多模型对话、知识库管理、AI 绘画、翻译等功能于一体的全能 AI 助手平台。 CherryStudio 的高度自定义的设计、强大的扩展能力和友好的用户体验,使其成为专业用户和 AI 爱好者的理想选择。无论是零基础用户还是开发者,都能在 CherryStudio 中找到适合自己的AI功能,提升工作效率和创造力。

CherryStudio

今天就体验一下 CherryStudio 搭建本地知识库,并使用 DeepSeek 实现 RAG 功能。

多数据源知识库

环境准备

在搭建本地知识库前,需要确保以下环境准备到位:

  • 操作系统要求:支持 Windows、macOS、Linux 平台。
  • 安装 Cherry Studio
    1. 前往 Cherry Studio 官方网站 下载最新版本客户端。
    2. 按照安装向导完成部署。

模型配置

知识库需要配置嵌入模型,而实现 RAG 需要使用到大模型如 DeepSeek-R1,为了方便,我们可以直接使用硅基流动提供的 API 能力,毕竟点击新注册的账号有免费的 2000W Tokens 还没用完。

硅基流动

注册之后可以复制出来API Key,粘贴到Cherry Studio中去。

复制出来API Key

在 Cherry Studio 设置->模型服务->硅基流动,按如下顺序进行配置:

  1. 正确配置硅基流动的配置: API 地址【https://api.siliconflow.cn】和 API Key【sk-a·············bcqb】,如果有其他模型的 API Key 也可以直接选择其他模型。
  2. 选择嵌入模型:用于向量化知识,并存入向量数据库,免费的嵌入模型可以用 BAAI/bge-m3,为了效果更好可以选择付费的 Pro/BAAI/bge-m3
  3. 选择对话模型:用于 RAG 功能实现对话,我们选择当前 DeepSeek-R1 或 DeepSeek-V3。

Cherry Studio设置模型

本地知识创建

1、新建知识库

点击 Cherry Studio 左侧知识库按钮,进入知识库管理页面,点击添加按钮新建知识库。

添加知识库

新建知识库

2、添加文件

支持拖拽添加本地文件,也可以添加本地文件目录、网址、网站或者文本。

添加本地文件

3、添加网址或者网站

可以将网络上的内容添加到知识库中,如某一篇博客内容,也可以将一个网站进行添加,如将本人博客网站添加到知识库,需要注意的是正确填写网站的站点地图

添加网址或者网站

4、搜索知识库

可以在本地知识库中进行内容搜索,能够检索到相关内容片段,这些内容片段后面通过 RAG 技术,将作为提问的上下文传给 LLM。

搜索知识库

结合DeepSeek实现RAG

RAG (Retrieval-Augmented Generation) 是一种将信息检索和生成结合起来的技术架构。在自然语言处理领域,RAG 通过检索相关的外部知识库内容,结合生成式模型生成最终的答案,能够极大地提升模型的回答准确性和丰富性。

本地知识库的搭建则是 RAG 技术的重要部分,利用 Cherry Studio 等平台,可以便捷地实现这一过程。

1、选择知识库

进行提问之前可以选择要检索的知识库。

选择知识库

2、进行提问

可以看到大模型回答内容时参考了知识库中本人网站的内容:

进行提问

常见问题与解决方案

Q: Cherry Studio 能否支持动态更新数据?

A: 支持。可以增量更新文档,系统会自动重建索引。

Q: 是不是需要联网才能使用?

A: 搭建本地知识库支持完全离线运行,对话模型需要联网。

Q: Cherry Studio 的检索速度如何?

自动重建索引。

Q: 是不是需要联网才能使用?

A: 搭建本地知识库支持完全离线运行,对话模型需要联网。

Q: Cherry Studio 的检索速度如何?

A: 对于中小规模知识库,其内置检索引擎性能较优。此外,结合向量化检索技术可以进一步提升速度。

相关文章:

Cherry Studio搭建本地知识库,结合DeepSeek实现RAG

Cherry Studio搭建本地知识库,结合DeepSeek实现RAG CherryStudioCherryStudio 简介环境准备 模型配置本地知识创建1、新建知识库2、添加文件3、添加网址或者网站4、搜索知识库 结合DeepSeek实现RAG1、选择知识库2、进行提问 常见问题与解决方案 CherryStudio Cherr…...

【Android】VehiclePropertyAccess引起CarService崩溃

VehiclePropertyAccess引起CarService崩溃 VehiclePropertyAccess VehiclePropertyAccess属性,用于定义车辆属性的访问权限。权限包括 读:READ,只可以读取,不能写入。 VehiclePropertyAccess:READ写:WRITE&#xf…...

深度剖析:复制带随机指针的链表算法实现

在链表相关的算法中,复制一个带有随机指针的链表是一个经典且具有一定难度的问题。本文将深入分析一段用C语言实现的复制带随机指针链表的代码,通过模块化的方式详细解释每段代码的作用,帮助读者更好地理解这一复杂算法。 作者主页&#xf…...

Java 大视界 -- Java 大数据在智慧文旅旅游目的地营销与品牌传播中的应用(150)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...

SQLMesh SCD-2 时间维度实战:餐饮菜单价格演化追踪

场景背景:动态菜单价格管理 考虑某连锁餐厅的菜单管理系统,需要记录食品价格的历史变更轨迹。业务需求包括: 记录每次价格调整的时间点支持历史价格查询(如"2020年1月2日汉堡多少钱")维护当前有效价格清单…...

uniapp自身bug | uniapp+vue3打包后 index.html无法直接运行

前提: 已经修改了基础路径 打开打包文件,双击运行index.html报错,无法访问页面 uniappvue2项目是可以正常运行的 vue3修改publicPath: ./后,也是可以正常访问打包文件中的index.html 点进控制台提供的链接:https:/…...

数据分析面试--京东

1.考察日期函数的应用 select Order_date, count(distinct user_id) as uv from (select user_id, Order_date, row_number() over(partition by user_id order by Order_date) as new_tagfrom ord where date_diff(current_date(), Order_date)<30 ) t where new_tag1 gro…...

Centos7搭建Zabbix4.x监控HCL模拟网络设备:zabbix-server搭建及监控基础04

兰生幽谷&#xff0c;不为莫服而不芳&#xff1b; 君子行义&#xff0c;不为莫知而止休。 4.OID查看工具Getif安装及使用 找度娘下载Getif&#xff0c;该软件比较老&#xff0c;可以用来查看OID编码&#xff0c;我的宿主机是Win11,无法安装。所以只有到虚拟机win12去安装&am…...

爬虫:scrapy面试题大全(60个scrapy经典面试题和详解)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 1. 什么是Scrapy?2. Scrapy 框架的组件及其作用?3. Scrapy的工作流程是什么?(运行机制)4. 如何创建一个Scrapy项目?5. 如何定义一个Spider?6. 如何在Scrapy中提取数据?7. Scrapy中的Item是什么?8. Scrapy中的P…...

Ubuntu Debian 系统下挂载 Samba 共享目录的完整指南

文章目录 Ubuntu & Debian 系统下挂载 Samba 共享目录的完整指南前提条件挂载 Samba 共享临时挂载避免明文密码永久挂载 常见选项卸载故障排查 Ubuntu & Debian 系统下挂载 Samba 共享目录的完整指南 想把NAS中的内容通过Samba挂载到 OrangePi 5B&#xff0c;但是 Ora…...

蓝桥杯2023年第十四届省赛真题-异或和之差

题目来自DOTCPP&#xff1a; 思路&#xff1a; 什么是异或和&#xff1f; ①题目要求我们选择两个不相交的子段&#xff0c;我们可以枚举一个分界线i&#xff0c;子段1在 i 的左边&#xff0c; 子段2在 i 的右边&#xff0c;分别找到子段1和子段2的最大值、最小值。 ②怎么确…...

考研课程安排(自用)

文章目录 408数据结构&#xff08;王道&#xff09;计算机组成原理&#xff08;王道&#xff09;操作系统&#xff08;王道&#xff09;计算机网络&#xff08;湖科大版&#xff09; 数学一高等数学&#xff08;微积分&#xff09;线性代数和概率论 408 数据结构&#xff08;王…...

linux命令行工具进阶

文章目录 前言ssh免密登录&#xff0c;免密码登录&#xff0c;公私钥查看与修改IP地址临时修改永久修改 mount临时切换根文件系统永久切换根文件系统loop文件partedinitramfsuboot command line总结 前言 本文记录了一些不经常用到&#xff0c;但在某个时刻需要用到的一些指令…...

Linux系统管理实战:文件权限配置、用户组协作与日志处理全解析

1、创建/www目录&#xff0c;在/www目录下新建name和https目录&#xff0c;在name和https目录下分别创建一个index.html文件&#xff0c;name下面的index.html文件中包含当前主机的主机名&#xff0c;https目录下的index.html文件中包含当前主机的ip地址。 &#xff08;1&…...

[自动化] 【八爪鱼】使用八爪鱼实现CSDN文章自动阅读脚本

在CSDN上&#xff0c;文章的阅读量往往是衡量内容影响力的一个重要指标。为了测试自动化手段能否提高阅读数&#xff0c;我尝试使用网页自动化工具来模拟人工阅读某个ID的文章。 1. 网页自动化的常见方案 谈到网页自动化&#xff0c;Selenium 是一个最常见的选择。它可以通过…...

Go语言分布式锁实战:dlock助力构建高并发稳定系统

在构建分布式系统时&#xff0c;一个常见且棘手的问题便是资源竞争和数据一致性问题。分布式锁作为一种常用的解决方案&#xff0c;在多个进程或节点之间协调访问共享资源时显得尤为重要。今天&#xff0c;我们将介绍一款分布式锁库——dlock&#xff0c;并通过详细的使用示例带…...

如何提高G口服务器的安全性?

G口服务器可以支持千兆网络传输速度&#xff0c;能够为企业提供更快的数据处理能力和传输能力&#xff0c;随着网络流量的不断增长以及复杂计算任务的普及&#xff0c;企业对于网络带宽的要求也在相应提高&#xff0c;而G口服务器则可以降低网络的延迟度&#xff0c;大幅度提高…...

为没有CMake配置的第三方库添加CMake配置

1 编写CMakeLists.txt cmake_minimum_required(VERSION 3.15) #如果你第三方库和自己的库没有xxxConfig.cmake #请修改项目名称和命名空间&#xff08;一般不需要&#xff09; project("pthreads" LANGUAGES C CXX) set(KC_NAMESPACE "") #set(K…...

Linux驱动编程 - seq_open、single_open使用方法

目录 前言: 一、seq_xxx 1、seq_xxx 函数介绍 1.1 seq_open 1.2 seq_read 1.3 seq_lseek 1.4 seq_release 1.5 格式化输出函数 2、seq_open 实例 二、single_xxx 函数 1、single_xxx 函数介绍 1.1 single_open 1.2 single_start 1.3 single_next 1.4 single_stop…...

N列股票收盘价为起点的马科维茨(Markowitz)均值—方差理论

1. 数据准备与收益率计算 输入数据&#xff1a; 假设你有一个矩阵&#xff0c;每一列代表一只股票的历史收盘价序列。每一行对应一个时间点的收盘价。 计算收益率&#xff1a; 马科维茨理论要求使用资产的收益率而非价格。常用的收益率计算方法有对数收益率或简单收益率。 2.…...

【嵌入式学习2】函数

目录 ## 函数 ## 函数分类 ## 函数定义 1、无参数无返回值 2、有参数无返回值 3、有参数有返回值 ## 函数声明 ## 局部变量和全局变量 ## 多文件编程 如何避免把同一个头文件 include 多次&#xff0c;或者头文件嵌套包含&#xff1f; 命令行编译文件 头文件包含的…...

模式搜索+扩散模型:FlowMo重构图像Token化的技术革命

图像Token化作为现代生成式AI系统的核心技术&#xff0c;长期面临对抗性训练不稳定、潜在空间冗余等挑战。斯坦福大学李飞飞与吴佳俊团队提出的FlowMo&#xff08;Flow towards Modes&#xff09;创新性地融合模式搜索与扩散模型&#xff0c;在多个关键维度突破传统方法局限&am…...

mac brew 安装的php@7.4 打开redis扩展

1. 找到php7.4的pecl目录 一般在这个位置 cd /usr/local/Cellar/php7.4/7.4.33_8/pecl/20190902 ls 一下 有个 redis.so 于是 直接去php.ini编辑了 php.ini的路径 vim /usr/local/etc/php/7.4/php.ini 把938行添加进去 然后重启一下 php7.4 brew services restart ph…...

OSPF多区域通信

作业要求: 1、多区域0SPF area 0、area10、are20 2、AR5、AR6作为stub区&#xff0c;使用环回接口与Pc1进行通信 第一步&#xff1a;为各端口配置IP地址 AR1: <Huawei>sys [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 5.5.5.1 24 [Huawei-GigabitEther…...

C++模板编程与元编程面试题及参考答案(精选100道题)

目录 解释 C++ 模板的实例化过程,显式实例化与隐式实例化的区别 模板函数在不同翻译单元中的 ODR(单一定义规则)问题 模板参数推导失败的可能场景及解决方法 模板函数中 auto 返回类型的推导规则 如何限制模板函数仅接受特定类型的参数?(非 C++20 概念场景) 函数模板…...

括弧匹配检验(信息学奥赛一本通-1354)

【题目描述】 假设表达式中允许包含两种括号&#xff1a;圆括号和方括号&#xff0c;其嵌套的顺序随意&#xff0c;如&#xff08;&#xff3b; &#xff3d;&#xff08;&#xff09;&#xff09;或&#xff3b;&#xff08;&#xff3b; &#xff3d;&#xff3b; &#xff3…...

三、重学C++—C语言内存管理

上一章节&#xff1a; 二、重学C—C语言核心-CSDN博客https://blog.csdn.net/weixin_36323170/article/details/146191640?spm1001.2014.3001.5502 本章节代码&#xff1a; cPart2 CuiQingCheng/cppstudy - 码云 - 开源中国https://gitee.com/cuiqingcheng/cppstudy/tree/…...

算法题(105):小猫爬山

审题&#xff1a; 本题需要我们找出将n个小猫放在有限重的缆车上运下山所需的最小缆车数 时间复杂度分析&#xff1a;本题的数据量小于等于18&#xff0c;所以我们在做好剪枝的前提下可以使用深度优先搜索解题 思路&#xff1a; 方法一&#xff1a;dfs 搜索策略&#xff1a;将小…...

C语言-适配器模式详解与实践

文章目录 C语言适配器模式详解与实践1. 什么是适配器模式&#xff1f;2. 为什么需要适配器模式&#xff1f;3. 实际应用场景4. 代码实现4.1 UML 关系图4.2 头文件 (sensor_adapter.h)4.3 实现文件 (sensor_adapter.c)4.4 使用示例 (main.c) 5. 代码分析5.1 关键设计点5.2 实现特…...

线程的pthread_create、pthread_join、pthread_exit、pthread_detach函数

线程的创建&#xff08;pthread_create&#xff09; pthread_t tid;//本质是unsigned long类型&#xff0c;打印时得到的是该线程的虚拟地址int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine)(void*), void *arg ); pthread_t *thre…...