deepseek+ollama+maxkb部署自己的本地知识库详解【纯玩-详解】

2、整体方案

2.1 技术架构概述

本次采用的是DeekSeeK+Ollama+MaxKB的整体方案,硬件配置使用的是笔记本电脑,配置比较低,没使用GPU显卡,抱着纯熟悉和测试的想法完成整体的部署和测试。整体部署实践的方案如下图所示:

整体的流程大致如下:

  1. 用户提问:用户通过用户界面或API接口发起提问,这里是基于maxkb的前端页面,例如AI助手等,可以个性化设置。

  2. MaxKB模块:智能化的交互系统显示导入文档,将文档导入到MaxKB系统中,支持各类文档的格式化,是构建本地知识库的语料库;第二个文本的处理,包含文本拆分,将文档内容拆分成多个段落或章节;向量嵌入:对每个文本段落进行向量化处理,生成向量表示;存储向量:将生成的向量存储到向量库中。

  3. 向量库模块:实现向量查询向量查询:当用户发起提问时,MaxKB会将问题转换为向量形式,并在向量库中进行相似度查询,查找最相关段落:返回与提问向量最相似的top K个文本段落。

  4. Ollama模块:整合信息,将提问和最相关的文本段落整合成一个Prompt,并且提交给AI模型,将整合后的Prompt提交给Ollama大语言模型进行推理。

  5. DeepSeek-r1模块:实现推理和结果返回,Ollama模型基于整合后的Prompt生成回答,最终的回答通过DeepSeek-r1返回给用户。

实现原理总结

1、文档导入与处理:文档被导入到MaxKB系统中,并被拆分成多个段落。每个段落被转换为向量表示,并存储在向量库中。

2、用户提问处理:用户通过MaxKB系统发起提问,提问被转换为向量形式,并在向量库中进行相似度查询,返回与提问最相关的文本段落。

3、整合与推理:最相关的文本段落与原始提问整合成一个Prompt,Prompt被提交给Ollama大语言模型进行推理,Ollama模型基于Prompt生成回答,并通过DeepSeek-r1返回给用户。

通过这种架构,系统能够高效地处理大量文档,并快速响应用户的提问,提供精准的答案。

另外展开讲两个问题,一个向量数据库,一个RAG技术。

向量数据库:本次使用的是maxkb自带的私有向量数据库,PostgreSQL / pgvector。大模型,特别是那些用于自然语言处理(NLP)、计算机视觉和其他人工智能领域的深度学习模型,需要向量数据库来支持高维空间中的数据表示。在深度学习中,文本、图像等输入通常被转换成高维向量空间中的点。例如,在NLP任务中,词或句子可以通过嵌入技术(如Word2Vec、GloVe或Transformer模型的输出)转换为向量形式。这些向量捕捉了输入数据的语义信息。通过向量化的处理来支持高效的检索和复杂查询。

RAG技术:检索增强生成 是一种使用来自私有或专有数据源的信息来辅助文本生成的技术。它将检索模型(设计用于搜索大型数据集或知识库)和生成模型(例如大型语言模型 (LLM),此类模型会使用检索到的信息生成可供阅读的文本回复)结合在一起。RAG的主要使用场景,就是基于自有知识库的大模型。RAG 技术与 LLM 模型相结合的应用方式,成功弥补了 LLM 模型在处理特定领域请求时存在幻觉、知识泛化、可解释性差等问题。基于 LLM 和 RAG 技术的知识库应用,可以帮助企业提升知识管理与服务水平,提高工作效率,实现业务的提质增效。

2.2 软件组件介绍

其中相关组件的版本如下:

1、docker.desktop:本次使用的容器桌面版本,这个的好处是可以直接在docker.desktop查找容器和拉取镜像,非常方便;核心的关注点是需要进行wsl的配置,否则无法正常的启动docker控制台。这里的具体细节在后续部署细节部署展开介绍。

2、deepseek-r1:7B,本次使用的额7B模型,其实也可以使用1.5B;实际最后运行发现模型文档非常耗时(存CPU去跑模型,确实非常卡)

如下是ollama网站上显示的deepseek的集中主流模型的信息。

3、Ollama :Ollama 是探索本地大模型的便捷工具,适合需要灵活性和隐私保护的用户,是一个开源的命令行工具,旨在帮助用户在本地计算机上轻松运行、管理和微调大型语言模型(LLMs)。它专注于简化本地部署和交互流程,尤其适合开发者和研究人员快速实验和测试各类开源大模型(如 Llama、Mistral、Gemma 等),无需依赖云服务。目前ollama上对主流的模型都支持,包括deepseek的各类版本。(如下图片来自ollama官网)

总结来说ollama有以下几个特点:

本地运行:支持离线部署,无需联网,支持 macOS、Linux 和 Windows(通过 WSL)。

模型库:提供预置的流行开源模型,如:Llama 2、Llama 3(Meta)Mistral、Mixtral(Mistral AI)Phi-3(Microsoft)Gemma(Google)CodeLlama(代码生成专用)Llava(多模态视觉模型)等。

简单易用:支持通过命令行直接交互,例如 ollama run llama3 即可启动对话,同时也提供了 REST API,方便集成到其他应用或工具链中。

性能优化:自动利用 GPU 加速(如 macOS 的 Metal、Linux 的 CUDA),提升推理速度,量化模型选项,降低硬件资源需求。

模型微调与管理:支持基于本地数据微调模型,适配特定任务,可创建多个模型实例并独立管理。

4、MaxKB:基于LLM大语言模型和 RAG的开源知识库问答系统,广泛应用于智能客服、企业内部知识库、学术研究与教育等场景,支持知识库构建,模型接入和AI助手的个性化配置,部署难度和配置要求都相对较低,能做到开箱即用,支持直接上传文档以及自动爬取在线文档或者访问外部网页的方式,支持文本自动拆分(分段)和向量化处理以及RAG(检索增强生成),整个页面的知识问答的交互体验比较好,借助 MaxKB,企业用户可以快速上线业务 AI 助手,将生成式 AI 能力应用于业务数据管理、内部资料查询、线上客户服务等领域,优化业务服务流程并切实提升用户体验。

2024年4月16日,MaxKB成功登顶GitHub Trending主榜单,自项目发布后快速收获超过1,800个Star和超过5,000次下载。 有社区用户反馈,已经成功将MaxKB部署到其产品官网,以低成本的方式打造出一个贴身的官方AI客服。MaxKB主要分为三个层次:应用层、知识库层和系统管理层,并通过LangChain与多个模型供应商(如Ollama、讯飞星火、千帆大模型、Azure OpenAI等)进行对接。通过LangChain,MaxKB系统能够无缝对接多种模型供应商,实现智能问答、知识检索等功能,确保数据的安全性和灵活性,同时提供强大的管理和分析工具ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海持Alvin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值