DeepSeek+本地知识库实践:基于Cherry Studio和Ollama搭建

Cherry Studio介绍

官网:Cherry Studio - 全能的AI助手

Cherry Studio 是一个支持多模型服务的桌面客户端,为专业用户而打造,内置 30 多个行业的智能助手,帮助用户在多种场景下提升工作效率。

Cherry Studio支持多种场景应用,不过还是有一些限制,比如画图只能调用硅基流动的服务。

特色功能:多模型对话,可以选中多个模型,对同一个问题就行回答。

Cherry Studio安装

首先下载Cherry:

Cherry Studio - 全能的AI助手

点击“下载客户端”,下载适合自己操作系统的客户端。

比如Windows下非常简单方便,下载后直接安装即可。

Ollama安装

Ollama可以直接安装,在Ubuntu下使用apt进行安装,在Windows下可以直接下载安装包进行安装。

Ollama的安装参考:

在Windows下安装Ollama并体验DeepSeek r1大模型_ollama-windows-amd64 下载-CSDN博客

使用Ollama 在Ubuntu运行deepseek大模型:以deepseek-r1为例_ubuntu deepseek-CSDN博客

Cherry配置模型

在模型服务中配置Ollama

启动Cherry后,先配置大模型。 配置模型需要点左下角的“设置”按钮,然后在“模型服务”里进行设置,比如设置Ollama本地模型。

因为是本地部署的Ollama,所以不需要api秘钥,但是需要设置一个api秘钥,随便输入字符串即可。选好模型,自动保存浩即可。

设置默认模型

 然后设置默认模型,都选择deepseek-r1:1.5b

使用chat测试助手

点最左上角的“助手”图标,创建一个新助手,或者使用默认的助手,第一行能力选择模型,选已经安装好的Ollama deepseek-r1:1.5b模型,然后测试一下:

 

 测试通过,这样一个简单的助手就配置好了!

CherryStudio中使用nomic-embed-text配置本地知识库

使用文档:知识库教程 | CherryStudio

CherryStudio中添加nomic-embed-text

CherryStudio 的模型服务,在Ollama模型设置中,加入nomic-embed-text 模型

创建知识库

CherryStudio知识库中使用,在创建知识库的时候,嵌入模型选nomic-embed-text

然后,进行知识库内容的建立。

比如直接添加文件、添加目录、添加网址、添加网站、添加笔记等。

比如把水浒传上传进行embedding,整个文件较大,embedding需要等待一些时间。

在chat中使用知识库

embedding后,在chat对话中,就可以使用创建好的知识库了。

问它一下:水浒传第一个出场的人是谁?

答案并不正确。

看来还需要继续调试。

### 集成概述 为了实现Ollama Cherry Studio与RAG(Retrieval-Augmented Generation)框架的有效集成,需考虑两者的技术特点并设计合理的架构方案。此过程涉及到多个组件之间的协同工作,包括但不限于数据索引、查询处理以及响应生成。 #### 数据准备与预处理 在开始之前,确保拥有结构化良好的文档集合作为外部知识源。这些资料可以是PDF文件、网页抓取的内容或是数据库记录等形式。对于非结构化的文本资源,建议先通过自然语言处理工具进行清洗标注,以便后续更高效地被检索系统理解利用[^1]。 ```python import os from langchain.document_loaders import DirectoryLoader, TextLoader from langchain.text_splitter import CharacterTextSplitter def prepare_documents(directory_path): loader = DirectoryLoader(directory_path, glob="*.txt", loader_cls=TextLoader) documents = loader.load() text_splitter = CharacterTextSplitter(separator="\n\n", chunk_size=1000, chunk_overlap=200) docs = text_splitter.split_documents(documents) return docs ``` #### 构建向量存储库 采用合适的向量化方法将上述经过预处理后的文本片段转化为数值表示形式,并存入专门设计用于快速近似最近邻搜索的数据结构中——即所谓的“向量数据库”。这一步骤至关重要,因为它直接影响着后期检索效率及准确性[^3]。 ```python from langchain.vectorstores.faiss import FAISS from langchain.embeddings.openai import OpenAIEmbeddings embeddings = OpenAIEmbeddings() vector_store = FAISS.from_texts([doc.page_content for doc in docs], embeddings) faiss_index_path = "faiss.index" if not os.path.exists(faiss_index_path): vector_store.save_local(faiss_index_path) else: vector_store = FAISS.load_local(faiss_index_path, embeddings) ``` #### 整合Cherry Studio Ollama 安装配置好所需的依赖项之后,在应用程序层面建立连接逻辑,使得当用户发起请求时能够触发一系列操作:首先调用内置或第三方API执行语义匹配查找最相似的知识条目;接着把这些信息传递给大型语言模型(LLM),由其负责综合分析给出最终答案;最后经由即时通讯插件返回至前端展示给使用者查看[^2]。 ```python from ollama.cherrystudio import ChatBot chatbot = ChatBot(model_name='ollama_cherry_studio') query = input("请输入您的问题:") search_results = vector_store.similarity_search(query=query, k=5) context = "\n".join([result.page_content for result in search_results]) response = chatbot.generate(prompt=f"根据以下背景信息回答:\n{context}\n问题是:{query}") print(response['choices'][0]['text']) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值