面向中小机加工、汽配制造工厂,解决工艺文件、设备说明书、检验标准等资料零散、查阅低效、隐性知识流失的痛点。基于 Python + FastAPI + LangChain 搭建本地私有化 RAG 知识库,桌面端通过浏览器作为统一交互入口,支持 Word/PDF 批量拖拽上传,自动完成文档解析、递归切片与向量化存储(FAISS 向量库 + BM25 关键词双路加权检索),员工以自然语言提问即可精准调取对应工艺资料并附原文出处。平台内置多用户权限体系:管理员负责文档上传、维护与知识库管理,员工仅可检索问答,越权访问自动拦截。整套系统由本人独立全栈开发,仅本地部署,所有数据不出厂;LLM 默认使用本地 Ollama(Qwen2.5),可一键切换在线 API,灵活适配不同算力条件,不对接、不修改客户原有 ERP/MES 业务系统源码,已落地苏州多家制造企业。
采用三层架构:桌面交互层(HTML/CSS/JS)、RAG 检索服务层(FastAPI)、SQL 数据存储层(SQLite + FAISS 向量索引),本人独立全栈开发。文档入库流水线:PyMuPDF + python-docx 多格式解析(通过 Unicode NFKC 归一化解决 PDF 字体编码乱码与全角混排问题)→ RecursiveCharacterTextSplitter 按"章节→段落→句子"递归切片(chunk_size=500,overlap=80,保留上下文)→ Ollama mxbai-embed-large 批量向量化(1024 维)→ FAISS IndexIDMap2 内存索引持久化 → SQLite 写入文档与切片元数据。检索环节实现 BM25(rank-bm25 + jieba 中文分词)与向量余弦双路独立召回,Min-Max 归一化后加权融合(score = α·vec + (1-α)·bm25,α=0.6),有效解决长文本检索准确率偏低问题,文档查询从十余分钟缩短至秒级,资料检索效率提升 90%,问答准确率稳定 92%。权限层基于 Session + 角色装饰器实现管理员/员工分级控制;LLM 适配层统一封装 LLMClient.chat() 接口,通过 config.yaml 一行配置在本地 Ollama 与外部 API(DeepSeek/百炼)之间切换,兼顾私有化与算力灵活性。