782 字
4 分钟
AI模块设计:健康管理系统的智能核心
1. 模块概述
模块定位AI模块是健康管理系统的智能核心,负责:
- 与DeepSeek API交互
- 生成个性化健康计划
- 解析和格式化计划数据
2. 核心设计
2.1 数据模型
模型设计AI模块主要包含两个核心类:
- Plan类:用于存储解析后的计划数据
- 解析函数:用于处理AI返回的计划文本
# response2plan.py
class Plan:
def __init__(self, thing, description, day, start_date, end_date):
self.thing = thing
self.description = description
self.day = day
self.start_date = start_date
self.end_date = end_date
def parse_plans(input_text):
"""
将输入的计划文本解析为 Plan 模型实例
"""
plans = []
lines = input_text.strip().split("\n")
for line in lines:
if line.startswith("p"):
# 提取用户 ID 和周几
user_id, content = line.split(":", 1)
day = int(user_id[1]) # 提取 p1, p2 中的数字作为周几
parts = [part.strip() for part in content.split(";")]
# 过滤掉空字符串
parts = [part for part in parts if part]
if len(parts) >= 4:
# 提取计划内容
start_time = datetime.strptime(parts[0].strip(), "%H:%M").time()
end_time = datetime.strptime(parts[1].strip(), "%H:%M").time()
thing = parts[2].strip()
description = parts[3].strip()
# 创建 Plan 实例
plan = Plan(
thing=thing,
description=description,
day=day,
start_date=start_time,
end_date=end_time,
)
plans.append(plan)
return plans
2.2 服务实现
服务设计AI服务主要提供:
- 与DeepSeek API的交互
- 计划生成
- 结果格式化
# deepseek.py
def chat(user_id, information):
"""
与DeepSeek API交互,生成健康计划
"""
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": prompt},
{"role": "user", "content": f"User ID: {user_id}, Information: {information}"},
],
stream=False,
temperature=0.7
)
return response.choices[0].message.content
# 提示词构建
prompt1 = f"今天是{today}。"
prompt2 = "你是一个健康助手,下面我将给你用户的信息,你需要给出从今天开始一周的健康和饮食计划,要求有7天,每天有三个饮食规划和两个运动规划。要求标准化输出,其他额外内容不要。格式如下:"
prompt3 = "请按照以下格式提供计划回复:每个任务以分号 (;) 分隔,任务的格式如下:p<day>: <starttime>; <endtime>; <task_name>; <task_description>; - <day>: 任务的天数标识,例如 \"p1\" 表示第 1 天。- <starttime>: 任务的开始时间,例如 \"08:00\"。- <endtime>: 任务的结束时间,例如 \"10:00\"。- <task_name>: 任务的名称,例如 \"晨跑\"。- <task_description>: 任务的详细描述,例如 \"在公园跑步 5 公里\"。示例回复:p1: 08:00; 10:00; 晨跑; 在公园跑步 5 公里; p2: 14:00; 16:00; 阅读; 阅读一本书;"
prompt = prompt1 + prompt2 + prompt3
3. 工作流程
工作流程
计划生成
- 获取当前日期
- 构建提示词
- 调用DeepSeek API生成计划
计划解析
- 接收AI返回的文本
- 按行分割处理
- 提取关键信息
- 创建Plan对象
4. 总结
关键收获
- 掌握了AI计划生成的基本流程
- 理解了计划文本的解析方法
- 熟悉了与AI API的交互方式
注意事项
API调用
- 确保API密钥安全
- 控制调用频率
- 处理可能的错误响应
数据格式
- 严格遵循约定的格式
- 确保时间格式正确
- 验证必要字段存在
NOTE本模块展示了如何将AI技术整合到健康管理系统中,为开发者提供了一个完整的AI服务实现参考。建议开发者根据实际需求进行调整和优化。