# 06-AI对话模块 ## 目标 实现 AI 健康问诊对话功能,支持多轮对话、结合用户体质信息、流式响应。 --- ## 前置要求 - 体质辨识模块已完成 - 已有 AI API Key(OpenAI / 通义千问) --- ## 实施步骤 详细代码请参考原文档 `02-后端开发/06-AI对话模块.md` ### 主要任务 1. 创建 AI 客户端抽象 `internal/service/ai/client.go` 2. 实现 OpenAI 客户端 `internal/service/ai/openai.go` 3. 实现阿里云通义千问客户端 `internal/service/ai/aliyun.go` 4. 创建 AI 客户端工厂 `internal/service/ai/factory.go` 5. 创建对话 Repository `internal/repository/impl/conversation.go` 6. 创建对话 Service `internal/service/conversation.go` - 系统提示词模板 - 用户体质信息注入 - 产品推荐整合 7. 创建对话 Handler 并更新路由 --- ## AI 配置 ```yaml ai: provider: aliyun # openai, aliyun max_history_messages: 10 openai: api_key: "sk-xxx" base_url: "https://api.openai.com/v1" model: "gpt-3.5-turbo" aliyun: api_key: "sk-xxx" model: "qwen-turbo" ``` --- ## API 接口 | 方法 | 路径 | 说明 | |-----|------|------| | GET | /api/conversations | 获取对话列表 | | POST | /api/conversations | 创建新对话 | | GET | /api/conversations/:id | 获取对话详情 | | DELETE | /api/conversations/:id | 删除对话 | | POST | /api/conversations/:id/messages | 发送消息 | --- ## 系统提示词要点 1. 角色定义:健康咨询助理(非医师) 2. 紧急情况:胸痛、高烧等必须建议就医 3. 用户信息:性别、年龄、BMI 4. 体质信息:主体质、特征描述 5. 用药历史:近期用药记录 6. 产品推荐:体质相关保健品 --- ## 验收标准 - [ ] 创建/获取/删除对话正常 - [ ] 发送消息返回 AI 回复 - [ ] AI 回复结合用户体质 - [ ] 对话历史正确保存 - [ ] 支持 OpenAI 和阿里云切换 - [ ] 紧急情况提示就医 --- ## 预计耗时 40-50 分钟 --- ## 下一步 完成后进入 `04-后端开发/07-健康档案模块.md`