项目背景
Local AI Knowledge Workspace 是一个面向个人学习和资料整理的知识库问答系统。项目时间为 2026.09–2026.10,属于个人项目,由我完成全栈开发。
文档处理与检索
支持 PDF、DOCX、Markdown、TXT 四类文档,使用 PyMuPDF、python-docx 等工具提取内容。切片时保留来源位置,便于回答后定位原文。
通过 Embedding 生成向量,使用 NumPy 余弦相似度召回相关片段,再组织检索上下文供模型生成回答。
模型与问答交互
接入 Ollama 本地模型及兼容 API,可分别配置回答模型和向量模型。实现 SSE 流式输出、停止回答、重新生成和来源定位;文档删除后仍保留历史引用快照,便于回看问答依据。
全栈实现与用户隔离
前端采用 React、TypeScript、Vite;后端采用 FastAPI、SQLAlchemy、Alembic。单机版使用 SQLite,多用户版使用 PostgreSQL,并实现账号认证、用户资料隔离及 API Key 加密存储。
工程与验证
使用 Docker Compose 组织服务,由独立 worker 处理任务,支持失败重试、持久化、备份和恢复。通过 Pytest 和 Playwright 验证接口及浏览器流程,完成多用户版本的本地开发与验证。