



时间:2025-05-16 关注公众号 来源:网络
在当今信息爆炸的时代,个人知识管理成为了提升工作效率和创新能力的关键。传统的知识存储方式往往难以满足对个性化、智能化的需求。本文将深入探讨如何通过集成前沿的DeepSeek搜索引擎与RAG(Retrieval-Augmented Generation)增强生成模型,来革新私人知识库的构建与应用。DeepSeek以其深度检索能力,能够从海量数据中精准捕获信息,而RAG则通过结合检索与生成技术,为用户提供既精确�指挥写丛煨缘闹墩戏瘛U庖淮葱伦楹喜唤瞿芄话镏没Ц咝Т娲⒑图焖鞲鋈俗ㄊ糇柿希鼓芨萆舷挛闹悄苌上喙啬谌荩迪种兜亩┱购蜕罨斫猓曛咀盼颐窍蚋又悄芑⒏鲂曰闹豆芾硎贝踅艘淮蟛健�
在使用包括chatgpt在内的aigc工具回答sap相关问题时,常常会遇到大模型产生不准确或虚构信息的情况,这种现象被称为大模型的幻觉现象。对于llm模型来说,它是一种基于上下文的生成模型,其预测依赖于先前的文本序列。由于模型在训练过程中学习了语言的统计规律,有时会在生成文本时添加一些不合逻辑或与实际情况不符的内容。这种现象并非模型故意为之,而是由于模型参数中存储的知识是固定的且有限的,而现实世界的信息却在不断更新。
为了减少或避免大模型的幻觉现象,RAG(Retrieval-AugmentedGeneration)是一种有效的解决方案。当用户向通过RAG增强的大语言模型提问时,系统首先通过检索模块(Retriever)从外部知识库中查找相关文档,然后将检索结果与原始问题共同输入生成模块(Generator)进行答案合成。与模型参数中固化的知识不同,外部知识库的内容可以实时更新,从而让大语言模型提供实时的准确回复。外部知识库通常存储在数据库中,如向量数据库。
本文将通过DeepSeek、Ollama和AnythingLLM三个工具,手动上传SAP文档,来演示如何基于RAG架构打造自己的个人SAP知识库。
实现工具与操作步骤
1)安装Ollama并运行DeepSeek
Ollama是一个用于在本地环境运行大语言模型的工具。它允许开发者在本地GUI或命令行中加载和运行各种AI模型,无需深入理解底层的机器学习框架。Ollama的设计思路类似于Docker,通过它管理的AI模型类似于DockerImage,但Ollama专门针对AI模型进行了优化。
Ollama安装成功后,使用命令行ollamarundeepseek-r1:1.5b,这个命令会自动下载DeepSeek模型到本地并运行。1.5b表示下载参数个数为15亿的DeepSeek版本,为了节省时间,笔者选择了这个文件尺寸为1.1GB的最精简的模型。
耐心等待下载结束,看到命令行里弹出think提示符,输入whoareyou?得到DeepSeek的自我介绍回复,说明Ollama和自动下载的DeepSeekR1已经正常工作了。
2)上传SAP文档作为知识库素材
既然是打造私人的SAP知识库,我们就需要给DeepSeek喂一些外部文档作为知识库的文档素材。在Bing搜索引擎里使用site:sap.comfiletype:pdf随便搜一些SAP官方发布的PDF来测试。在实际使用场景中,企业级客户可以将自己的私密数据,喂给本地部署的大模型,而不用担心隐私泄漏的问题。
这里我从Bing的搜索结果下载了一个名为SAPS4HANAprivatecloud-implementationguide.pdf的文件。
3)使用AnythingLLM建立工作区
下一步,下载AnythingLLM并安装。AnythingLLM是一个开源的AI工具,能够方便地将用户提供的各种格式的文档嵌入到自定义AI模型中,使其在同用户对象中作为可参考上下文的一部分。这意味着通过AnythingLLM,AI模型在回答问题时,可以检索和分析用户提供的文档,将其内容整合作为最终的输出,即本文开头部分介绍的RAG工作方式。
AnythingLLM安装完毕之后,像使用ABAPDevelopmentTool一样,新建一个工作区(Workspace):
点击「聊天设置」:
还记得我们刚才下载的Ollama和通过ollamarun命令下载的DeepSeekR1吗?在工作区LLM提供者的下拉菜单中,找到通过Ollama管理的DeepSeekR1。
这个设置的意思是,我们接下来可以通过AnythingLLM提供的GUI窗口,同DeepSeek对话,可以同Ollama自带的命令行窗口说再见了。
4)文档嵌入与向量数据库
接下来通过向量数据库来上传并存储用户提供的文档。点击上传图标,打开上传对话框:
点击Upload区域,将刚才从Bing搜索下载的SAPS/4HANAprivatecloudPDF文档上传:
待文档上传完毕,点击SaveandEmbed按钮,将文档内容转换成向量数据并执行嵌入操作。
向量数据库是一种用于存储和查询高维向量数据的数据库,其核心功能是提供高效的相似度搜索,使得查询向量能够找到与之最接近的向量。相比传统关系型数据库(如mysql、PostgreSQL),向量数据库更适合存储和检索非结构化数据,如文本、图像、音频等。
在RAG架构中,向量数据库的作用类似于一个知识库,它存储了大量文本片段的嵌入(Embeddings),当用户输入查询时,模型会将查询转换为向量,并在数据库中检索最相关的向量,进而找到对应的文本内容。这种方式大幅提高了生成式AI的可控性和可解释性。
文档嵌入(Embedding)是将文本数据转换为向量的过程。这一过程的核心是将文本内容映射到一个高维向量空间中。相似的文本在该空间中的距离较近,而不相关的文本距离较远。
当然在实际企业级应用中,除了小规模的人工手动上传文档外,AnythingLLM也支持通过DataConnection进行批量上传大规模文档,比如批量上传某个GitHubRepo里的文件。这种模型下,AnythingLLM读取Github仓库内容的方式,通过AccessToken完成。
等我们上传的文件出现在工作区右边区域后,说明文档的向量化即嵌入操作已经完成。
效果验证
此时,我们回到AnythingLLM同DeepSeek的对话窗口,提出一个问题:
WhatisembeddedEWM?
DeepSeek给出的回答的确是基于我们刚刚上传的PDF文件来完成的。
这一点可以从DeepSeek回复的Citation即引用区域得到证实,该区域显示本次回答引用了SAPS4HANAprivatecloudedition.pdf这个文件。
后记:模型部署
对于企业级用户而言,大模型的私有部署,在数据安全性、响应速度、可定制化、长期成本以及可靠性等多个方面都有着显著优势。而对于个人AI学习者来说,可以选择本地部署或者在某个云服务提供商的基础设施(IaaS)上进行私有部署的尝试。
笔者现在使用的笔记本电脑,本地部署满血DeepSeek比较吃力。所以,我选择了php中文网HAI,这样就不用自己掏钱升级硬件了。
你可以登录腾讯HAI控制台,新建一个windowsServer实例:
使用Windows自带的RemoteDesktopConnection登录到创建好的HAI实例上。
笔者之前曾发布过文章《使用腾讯HAI5分钟内部署一个私人定制的DeepSeek》,详细介绍了采用私有部署方式运行DeepSeek的步骤,有兴趣的小伙伴可前往了解。
通过本文展示的步骤,即使是一个不了解大语言模型底层实现细节的普通用户,借助Ollama和AnythingLLM这两个工具,也能轻松完成DeepSeek的本地部署,并打造自己的私人知识库。
SAP在官方社区上也发布了其在AI和RAG领域很多积极的尝试,笔者后续的文章会继续给大家介绍!
以上就是使用DeepSeek+RAG实现私人知识库的详细内容,更多请关注其它相关文章!