本地大模型+知识库RAG

一.下载AnythingLLM

AnythingLLM下载

选择对应的Windows版本

二.前置配置 

1.安装后打开

第一步他会让你选一个模型

它可以用开源的本地大模型,也可以用闭源的商用大模型

如openai的,只要填入API key就可以了

这里我们先选本地的ollama

ollama model选择自己下载的任意一个即可,下一步,下一步,

都是默认配置即可

最后输入一个任意的workspace的名称

workspace也是它的一个好处:

它把不同的知识库分隔成一个个的工作区 

2.进来之后他会欢迎一下,给你发一堆引导信息

首先我们要试试我们基础的模型对话行不行:

点击那个workspkank,输入问题等待回应

再设置一下语言,方便我们操作

点击屏幕左下方的扳手

把display language改成Chinese即可

返回聊天

现在我们问他

显然回答有些落后了

三.嵌入知识库

选择一个workspace,点击上传按钮

这个地方就是我们上传本地知识库的地方

1.嵌入文件

可以选择上传文件(尽量文件名不要含中文)

上传后

点击move to workspace

点击save and embed

右边即是该workspqce的知识库列表 

 2.嵌入网站

将网址放入输入框,点击右边按钮

与上面嵌入文件类似

选择系统生成的html文件,点击move to workspace

点击save and embed

即可嵌入网站(但由于网站的内容可是很规范的文本格式,可能大模型学习效果没那么好)

这里我选择了苹果的官网Apple (中国大陆) - 官方网站

 

可以看到嵌入网站还是有用的

四.其他功能

1.固定文档

在右边知识库的每一项列表中可以发现一个按钮

当首次点击时会弹出窗口提示

 

英文的大致意思是: 

文档固定(Document pinning)是什么?

在AnythingLLM(一个大型语言模型或相关平台)中,当你固定(pin)一个文档时,我们会将整个文档的内容注入到你的提示窗口(prompt window)中,以便你的大型语言模型(LLM)能够完全理解它。这种方法最适合用于大型上下文模型或对其知识库至关重要的小文件。

如果你在使用AnythingLLM时没有得到你想要的默认答案,那么固定文档是一个很好的方式,只需点击一下就能获得更高质量的答案。

感觉大概意思是当你输入问题没有得到好的回答后,固定你的知识库文档可以获得更好的答案。即点击后它更会根据你的知识库文件来进行上下文回答,经过我的尝试发现有时候确实会有用,但不是说你固定文档他就百分百按照文档来,毕竟不可能智能到这种程度

 上面两个回答分别是我在上传武器.json和书籍.json文件后并把它们固定到工作区后回答的正确答案

2.api 密钥

可以创建api key 后续应该可以调用

 3.ai代理

具体可以查看官方文档AI Agent Usage ~ AnythingLLM

### 构建RAG大模型私有知识库 #### 使用Deepseek和Dify实现本地部署 为了在本地环境中使用Deepseek和Dify构建RAG大模型的私有知识库,需完成一系列配置与集成操作。具体过程涉及环境准备、安装必要的软件包和服务设置。 #### 环境准备 确保拥有适合运行大型语言模型的基础架构,包括但不限于足够的计算资源(CPU/GPU)、内存空间及存储容量。此外,还需准备好支持Python编程的语言环境及相关依赖项[^3]。 #### 安装Deepseek-R1 按照官方文档指导,在服务器上部署Deepseek-r1版本的大规模预训练模型实例。此步骤通常涉及到下载权重文件、调整参数配置以适应硬件条件等操作[^1]。 #### 配置Dify平台 通过Dify提供的API接口或命令行工具连接已部署好的Deepseek-r1服务端口,使两者之间建立有效的通信链路。此时可以测试二者之间的连通性,确认消息传递正常无误[^2]。 #### 创建嵌入式索引 针对目标领域内的文本资料集执行向量化处理,生成对应的embedding表示形式,并将其导入至数据库中形成结构化的索引体系。这一环节对于后续查询效率至关重要。 #### 实现检索增强机制 设计合理的算法逻辑,使得当用户发起咨询请求时,系统能够快速定位最相关的背景信息片段作为辅助材料输入给LLM进行响应合成;同时保持对话流畅性和自然度不受影响。 ```python from dify import DifyClient import deepseek as ds client = DifyClient(api_key='your_api_key') model = ds.load_model('path_to_deepseek_r1') def get_context(query): embeddings = model.encode([query]) results = client.search(embeddings=embeddings, top_k=5) context = " ".join([r['text'] for r in results]) return context ``` 上述代码展示了如何利用Dify客户端API获取与查询语句相似度最高的几个条目,并将它们组合成一段连续的文字串供进一步分析使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值