总结
豆包 AI 助手文章总结

使用DeepSeek+RAG实现私人知识库

看不見的法師
发布: 2025-04-28 16:04:22
原创
686人浏览过

在使用包括 chatgpt 在内的 aigc 工具回答 sap 相关问题时,常常会遇到大模型产生不准确或虚构信息的情况,这种现象被称为大模型的幻觉现象。对于 llm 模型来说,它是一种基于上下文的生成模型,其预测依赖于先前的文本序列。由于模型在训练过程中学习了语言的统计规律,有时会在生成文本时添加一些不合逻辑或与实际情况不符的内容。这种现象并非模型故意为之,而是由于模型参数中存储的知识是固定的且有限的,而现实世界的信息却在不断更新。

为了减少或避免大模型的幻觉现象,RAG(Retrieval-Augmented Generation)是一种有效的解决方案。当用户向通过 RAG 增强的大语言模型提问时,系统首先通过检索模块(Retriever)从外部知识库中查找相关文档,然后将检索结果与原始问题共同输入生成模块(Generator)进行答案合成。与模型参数中固化的知识不同,外部知识库的内容可以实时更新,从而让大语言模型提供实时的准确回复。外部知识库通常存储在数据库中,如向量数据库。

本文将通过 DeepSeek、Ollama 和 AnythingLLM 三个工具,手动上传 SAP 文档,来演示如何基于 RAG 架构打造自己的个人 SAP 知识库。

实现工具与操作步骤

1)安装 Ollama 并运行 DeepSeek

Ollama 是一个用于在本地环境运行大语言模型的工具。它允许开发者在本地 GUI 或命令行中加载和运行各种 AI 模型,无需深入理解底层的机器学习框架。Ollama 的设计思路类似于 Docker,通过它管理的 AI 模型类似于 Docker Image,但 Ollama 专门针对 AI 模型进行了优化。

使用DeepSeek+RAG实现私人知识库

Ollama 安装成功后,使用命令行 ollama run deepseek-r1:1.5b,这个命令会自动下载 DeepSeek 模型到本地并运行。1.5b 表示下载参数个数为 15 亿的 DeepSeek 版本,为了节省时间,笔者选择了这个文件尺寸为 1.1 GB 的最精简的模型。

使用DeepSeek+RAG实现私人知识库

耐心等待下载结束,看到命令行里弹出 think 提示符,输入 who are you? 得到 DeepSeek 的自我介绍回复,说明 Ollama 和自动下载的 DeepSeek R1 已经正常工作了。

2)上传 SAP 文档作为知识库素材

既然是打造私人的 SAP 知识库,我们就需要给 DeepSeek 喂一些外部文档作为知识库的文档素材。在 Bing 搜索引擎里使用 site:sap.com filetype:pdf 随便搜一些 SAP 官方发布的 PDF 来测试。在实际使用场景中,企业级客户可以将自己的私密数据,喂给本地部署的大模型,而不用担心隐私泄漏的问题。

使用DeepSeek+RAG实现私人知识库

这里我从 Bing 的搜索结果下载了一个名为 SAP S4HANA private cloud - implementation guide.pdf 的文件。

使用DeepSeek+RAG实现私人知识库

3)使用 AnythingLLM 建立工作区

下一步,下载 AnythingLLM 并安装。AnythingLLM 是一个开源的 AI 工具,能够方便地将用户提供的各种格式的文档嵌入到自定义 AI 模型中,使其在同用户对象中作为可参考上下文的一部分。这意味着通过 AnythingLLM, AI 模型在回答问题时,可以检索和分析用户提供的文档,将其内容整合作为最终的输出,即本文开头部分介绍的 RAG 工作方式。

使用DeepSeek+RAG实现私人知识库使用DeepSeek+RAG实现私人知识库

AnythingLLM 安装完毕之后,像使用 ABAP Development Tool 一样,新建一个工作区(Workspace):

使用DeepSeek+RAG实现私人知识库

点击「聊天设置」:

使用DeepSeek+RAG实现私人知识库

还记得我们刚才下载的 Ollama 和通过 ollama run 命令下载的 DeepSeek R1 吗?在工作区 LLM 提供者的下拉菜单中,找到通过 Ollama 管理的 DeepSeek R1。

这个设置的意思是,我们接下来可以通过 AnythingLLM 提供的 GUI 窗口,同 DeepSeek 对话,可以同 Ollama 自带的命令行窗口说再见了。

使用DeepSeek+RAG实现私人知识库

4)文档嵌入与向量数据库

接下来通过向量数据库来上传并存储用户提供的文档。点击上传图标,打开上传对话框:

使用DeepSeek+RAG实现私人知识库

点击 Upload 区域,将刚才从 Bing 搜索下载的 SAP S/4HANA private cloud PDF 文档上传:

使用DeepSeek+RAG实现私人知识库

待文档上传完毕,点击 Save and Embed 按钮,将文档内容转换成向量数据并执行嵌入操作。

使用DeepSeek+RAG实现私人知识库

向量数据库是一种用于存储和查询高维向量数据的数据库,其核心功能是提供高效的相似度搜索,使得查询向量能够找到与之最接近的向量。相比传统关系型数据库(如 MySQL、PostgreSQL),向量数据库更适合存储和检索非结构化数据,如文本、图像、音频等。

在 RAG 架构中,向量数据库的作用类似于一个知识库,它存储了大量文本片段的嵌入(Embeddings),当用户输入查询时,模型会将查询转换为向量,并在数据库中检索最相关的向量,进而找到对应的文本内容。这种方式大幅提高了生成式 AI 的可控性和可解释性。

使用DeepSeek+RAG实现私人知识库

文档嵌入(Embedding)是将文本数据转换为向量的过程。这一过程的核心是将文本内容映射到一个高维向量空间中。相似的文本在该空间中的距离较近,而不相关的文本距离较远。

当然在实际企业级应用中,除了小规模的人工手动上传文档外,AnythingLLM 也支持通过 Data Connection 进行批量上传大规模文档,比如批量上传某个 Github Repo 里的文件。这种模型下,AnythingLLM 读取 Github 仓库内容的方式,通过 Access Token 完成。

使用DeepSeek+RAG实现私人知识库

等我们上传的文件出现在工作区右边区域后,说明文档的向量化即嵌入操作已经完成。

使用DeepSeek+RAG实现私人知识库

效果验证

此时,我们回到 AnythingLLM 同 DeepSeek 的对话窗口,提出一个问题:

What is embedded EWM?

使用DeepSeek+RAG实现私人知识库

DeepSeek 给出的回答的确是基于我们刚刚上传的 PDF 文件来完成的。

这一点可以从 DeepSeek 回复的 Citation 即引用区域得到证实,该区域显示本次回答引用了 SAP S4HANA private cloud edition.pdf 这个文件。

使用DeepSeek+RAG实现私人知识库

后记:模型部署

对于企业级用户而言,大模型的私有部署,在数据安全性、响应速度、可定制化、长期成本以及可靠性等多个方面都有着显著优势。而对于个人 AI 学习者来说,可以选择本地部署或者在某个云服务提供商的基础设施(IaaS)上进行私有部署的尝试。

笔者现在使用的笔记本电脑,本地部署满血 DeepSeek 比较吃力。所以,我选择了 PHP 中文网 HAI,这样就不用自己掏钱升级硬件了。

你可以登录腾讯 HAI 控制台,新建一个 Windows Server 实例:

使用DeepSeek+RAG实现私人知识库

使用 Windows 自带的 Remote Desktop Connection 登录到创建好的 HAI 实例上。

使用DeepSeek+RAG实现私人知识库

笔者之前曾发布过文章《使用腾讯 HAI 5 分钟内部署一个私人定制的 DeepSeek》,详细介绍了采用私有部署方式运行 DeepSeek 的步骤,有兴趣的小伙伴可前往了解。

通过本文展示的步骤,即使是一个不了解大语言模型底层实现细节的普通用户,借助 Ollama 和 AnythingLLM 这两个工具,也能轻松完成 DeepSeek 的本地部署,并打造自己的私人知识库。

SAP 在官方社区上也发布了其在 AI 和 RAG 领域很多积极的尝试,笔者后续的文章会继续给大家介绍!

以上就是使用DeepSeek+RAG实现私人知识库的详细内容,更多请关注php中文网其它相关文章!

DeepSeek (深度求索)
DeepSeek (深度求索)

DeepSeek (深度求索)杭州深度求索(DeepSeek)官方推出的AI助手,免费体验与全球领先AI模型的互动交流。它通过学习海量的数据和知识,能够像人类一样理解和处理信息。多项性能指标对齐海外顶尖模型,用更快的速度、更加全面强大的功能答疑解惑,助力高效美好的生活。

下载
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号