# lpt-ai LPT 学习进度跟踪系统的独立 AI 服务。将 LLM 相关能力从 Java 主服务中剥离,便于独立迭代、增加安全层与沙箱。 ## 能力 | 端点 | 方法 | 说明 | |------|------|------| | `/health` | GET | 健康检查,返回 LLM 可用状态 | | `/ai/aggregate-report` | POST | 将学习残片聚合为学习报告 | | `/ai/generate-mind-map` | POST | 从报告/残片生成思维导图大纲 | ## 快速开始 ```bash cp .env.example .env # 编辑 .env,填入 LLM_API_KEY npm install npm run dev ``` 未配置 `LLM_API_KEY` 时服务可启动,但 AI 端点返回 503,由调用方(Java 后端)降级到内置规则。 ## 请求示例 ```bash curl -X POST http://localhost:5199/ai/aggregate-report \ -H "Content-Type: application/json" \ -d '{ "taskName": "Java 并发编程", "expectation": "理解线程池核心参数", "fragments": [ {"content": "corePoolSize 是核心线程数,即使空闲也不回收"}, {"content": "workQueue 满了之后才会创建超过 core 的线程"} ] }' ``` ## 架构位置 ``` LPT 前端 (Vue) ──► LPT 后端 (Java/Spring Boot) ──► lpt-ai (TS/Fastify) ──► SiliconFlow API ``` Java 后端是唯一调用方;本服务不直接暴露给前端,不做鉴权(部署在内网)。 ## 后续规划 - 输入内容安全过滤(Prompt 注入防护) - 输出审核 - 多模型路由(按任务复杂度选择模型) - 用量与成本监控 - SSE 流式输出