这个项目能做什么
LearnMate AI 是一款AI学习伴侣,它将学习材料组织成空间和项目,处理上传的PDF文件,并提供一个导师功能,该功能仅根据上传的内容回答问题,并附上页面引用。当材料未涵盖某个问题时,系统会明确返回“证据不足”的响应。测验功能针对薄弱概念,对自由文本答案进行评分并提供反馈,同时更新每个概念的掌握度分数。后台任务会根据用户自己的材料生成推荐,而成长仪表板则显示趋势。
该架构结合了React/Vite前端、Node.js/Express API和BullMQ后台工作进程。PDF按页面处理:文本提取、分块、通过BAAI/bge-small-en-v1.5嵌入到pgvector中,以及概念提取。导师响应使用项目块上的相似性搜索和经过模式验证的JSON来确保证据充分性。测验问题选择通过掌握度差距、练习不足、最近性和错误来对概念进行评分。掌握度使用仅追加的历史记录,新证据的权重为60/40。
技术栈包括Prisma与PostgreSQL(Neon)及pgvector、用于任务队列的Redis(Upstash)、用于LLM调用的Groq、用于托管嵌入的Hugging Face、用于PDF存储的Cloudinary,以及使用HTTP-only Cookie的JWT认证。本地设置需要Node.js 20+、支持pgvector的Postgres数据库、Redis,以及Groq、Hugging Face和Cloudinary的API密钥。该项目包含针对真实基础设施的集成测试,涵盖跨用户隔离、管理员访问、掌握度计算、自适应选择、导师基于证据的回答以及材料处理的幂等性。部署文档适用于Vercel(前端)和Render(组合API和工作进程)。
评论
0 评分人数达到10人后显示
登录后参与讨论。