Files
mp-java/docs/ai
赵忠林 1c78fdbef4 feat(ai): 新增AI模块功能
- 添加Ollama配置参数,包括基础URL、模型设置、超时配置等
- 创建AI知识库相关数据库表(文档表和分段表)
- 实现AI数据分析服务,支持订单数据查询和分析
- 开发AI聊天控制器,提供模型列表、对话和流式对话功能
- 构建知识库RAG服务,支持文档上传、CMS同步和问答功能
- 添加多种AI相关的DTO类和实体类
- 实现AI嵌入向量计算和相似度匹配算法
- 集成Tika用于文档内容提取和解析
2026-02-28 08:30:48 +08:00
..
2026-02-28 08:30:48 +08:00

AI 模块Ollama + RAG + 订单分析)

1. 配置

src/main/resources/application.yml

  • ai.ollama.base-url:主地址(例如 https://ai-api.websoft.top
  • ai.ollama.fallback-url:备用地址(例如 http://47.119.165.234:11434
  • ai.ollama.chat-model:对话模型(qwen3.5:cloud
  • ai.ollama.embed-model:向量模型(qwen3-embedding:4b

2. 建表(知识库)

执行:docs/ai/ai_kb_tables.sql

3. API

说明:所有接口默认需要登录(@PreAuthorize("isAuthenticated()")),并且要求能够拿到 tenantIdheader 或登录用户)。

3.1 对话

  • GET /api/ai/models:获取 Ollama 模型列表
  • POST /api/ai/chat:非流式对话
  • POST /api/ai/chat/stream流式对话SSE
  • GET /api/ai/chat/stream?prompt=...流式对话SSE适配 EventSource

请求示例(非流式):

{
  "prompt": "帮我写一个退款流程说明"
}

3.2 知识库RAG

  • POST /api/ai/kb/upload:上传文档入库(建议 txt/md/html
  • POST /api/ai/kb/sync/cms:同步 CMS 已发布文章到知识库(当前租户)
  • POST /api/ai/kb/query:仅检索 topK
  • POST /api/ai/kb/ask:检索 + 生成答案(答案要求引用 chunk_id

请求示例ask

{
  "question": "怎么开具发票?",
  "topK": 5
}

3.3 商城订单分析(按租户/按天)

  • POST /api/ai/analytics/query:返回按天指标数据
  • POST /api/ai/analytics/ask:基于指标数据生成分析结论

请求示例ask

{
  "question": "最近30天支付率有没有明显下滑请给出原因排查建议。",
  "startDate": "2026-02-01",
  "endDate": "2026-02-27"
}