刘文浩.

项目背景

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 验证接口及浏览器流程,完成多用户版本的本地开发与验证。