使用以下技术栈,部署本地LLM

应用框架:Dify(Docker版) 本地大模型:Ollama部署deepseek,嵌入模型:BGEM3 文档处理:Dify内置文本分割与向量化

Dify是什么? 相当于免编程的简单AI助手开发框架

Dify的缺点:大规模系统,性能要求过高(算法、延迟),资源受限(嵌入式、边缘计算),高度定制化

向量数据库:语义相似度检索

通过比对向量的"距离",也就是相似度进行检索。

每个数据数据(语句)中的词都对应一个已经生成的向量,然后再通过一系列复杂操作生成该句子的向量,在数据库中检索"距离"更近的向量

余弦相似度只关心方向,不关心长度。

测试问题

简单事实查询(测试基础检索)

“什么是人工智能?”

多文档信息整合(测试跨文档能力)

“RAG是什么意思?”

推理受限or出错(测试推理能力)

我把手机放在一本打开的书下面,然后合上了书。手机现在在哪里?

太阳什么时候时候从西边升起?

测试长文本细节丢失

问题1:“星穹项目的总负责人和预算是多少?”

  • 模型可能回答: “总负责人是张三,预算为500万元。”

  • 分析: 这两个信息都位于文档的开头部分。模型的注意力机制在开始时最为集中,因此很容易捕获并记住这些信息。此时没有细节丢失。

问题2(综合性问题,考验长距离信息整合):“请总结一下项目中需要与其他部门或外部供应商协作的关键点。”

  • 模型理想答案应包含:

    1. 风控部李四合作解决金融模型偏差。(少了这个!!!!!!)

    2. 王五的团队协作进行音频模块集成。

    3. 依赖外部供应商 “天眼”数据源的API服务。

  • 模型可能回答(整合失败): “项目需要与王五的团队合作,并且依赖‘天眼’数据源。”

  • 分析: 模型丢失了位于文档中部的“风控部李四” 这一关键协作方。因为它无法同时将文档开头、中部、末尾的稀疏信息点有效地关联和整合在一起。它只能抓取到最容易记住的(末尾的)和可能还记得的(开头附近的)信息,而中间部分的信息已经“蒸发”了。

测试全过程体现统计响应速度受限

本次部署所用的本地部署LLM流程总结和排错指南可以点击以下链接下载

本地部署LLM流程总结 排错指南