feat(ai): 添加AI模块文档和重构前端AI组件
- 新增 docs/ai/README.md 包含完整的AI模块配置、建表、API文档 - 重构 src/views/ai/index.vue 组件,移除硬编码BASE_URL和多余参数 - 添加 src/api/ai/backend.ts 统一的AI后端API接口实现 - 集成模型列表、流式对话、非流式对话等功能 - 实现SE流式响应处理和鉴权头自动携带 - 移除历史消息存储和温度参数等冗余功能
This commit is contained in:
61
docs/ai/README.md
Normal file
61
docs/ai/README.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# 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()")`),并且要求能够拿到 `tenantId`(header 或登录用户)。
|
||||
|
||||
### 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)
|
||||
|
||||
请求示例(非流式):
|
||||
```json
|
||||
{
|
||||
"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):
|
||||
```json
|
||||
{
|
||||
"question": "怎么开具发票?",
|
||||
"topK": 5
|
||||
}
|
||||
```
|
||||
|
||||
### 3.3 商城订单分析(按租户/按天)
|
||||
|
||||
- `POST /api/ai/analytics/query`:返回按天指标数据
|
||||
- `POST /api/ai/analytics/ask`:基于指标数据生成分析结论
|
||||
|
||||
请求示例(ask):
|
||||
```json
|
||||
{
|
||||
"question": "最近30天支付率有没有明显下滑?请给出原因排查建议。",
|
||||
"startDate": "2026-02-01",
|
||||
"endDate": "2026-02-27"
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user