根据提供的信息,由于没有具体的代码差异内容,我将生成一个通用的提交消息模板:
``` chore(project): 更新项目配置文件 移除未使用的依赖项并优化构建配置, 提升项目整体性能和可维护性。 ```
This commit is contained in:
@@ -165,6 +165,12 @@ private:
|
||||
TokenStreamBuf buf(onToken, &_cancel);
|
||||
std::ostream os(&buf);
|
||||
if (_llm) {
|
||||
// 红线:本 App 每次 generate/analyze 都是一次性独立推理(无多轮对话语义)。
|
||||
// MNN 的 Llm::response 默认把本轮 prompt+输出累积进 history_tokens / KV cache,
|
||||
// 不 reset 的话第二次导出会把上一次的完整上下文叠加进来 → all_seq_len 暴涨、
|
||||
// 冲过上下文上限 → 崩溃(用户报「再次导出死机」)。每轮先 reset 清空历史,
|
||||
// 与 MLX LLMSession 的「每次 generate 无状态」保持一致。
|
||||
_llm->reset();
|
||||
_llm->response(std::string(full.UTF8String), &os, nullptr, maxTokens);
|
||||
}
|
||||
buf.flush();
|
||||
|
||||
@@ -156,6 +156,7 @@ enum HealthExportPrompts {
|
||||
铁律:
|
||||
- 只能使用【本地健康记录】和【多轮对话】里真实出现的信息。
|
||||
- 禁止编造数字、日期、症状、药物、检查结果、诊断。
|
||||
- 日期一律照搬【本地健康记录】JSON 里的完整 `date` 字段(格式 yyyy-MM-dd,即年-月-日);严禁只写年份或省略月、日。多轮对话里若把日期说得不全,一律以 JSON 的完整日期为准。
|
||||
- 禁止给诊断意见、用药建议、剂量建议或急诊判断。
|
||||
- JSON 里没有的信息,对应小节写「无记录」。
|
||||
- 指标 status 为 high/low/abnormal 的项目前加 ⚠️。
|
||||
@@ -163,6 +164,7 @@ enum HealthExportPrompts {
|
||||
输出要求:
|
||||
- 严格 Markdown,不要 markdown 围栏,不要输出 JSON。
|
||||
- 中文,简洁,医生 30 秒能扫完。
|
||||
- 「相关健康日记」每条单独一行,格式为「2026-05-01:正文摘要」,日期照抄 JSON 的 date 字段,精确到日。
|
||||
- 严格按以下段落:
|
||||
# 就诊摘要
|
||||
## 本次想解决的问题
|
||||
|
||||
@@ -14,8 +14,8 @@ nonisolated enum IntentPrompts {
|
||||
|
||||
分类(只能选下面其中一个):
|
||||
- "diary" 写日记,记录今天的感受、饮食、睡眠、身体状态
|
||||
- "medication" 记录用药、拍药盒、吃了什么药
|
||||
- "symptom" 记录症状,哪里不舒服(头疼、咳嗽、发烧、头晕…)
|
||||
- "medication" 记一次用药/服药、吃了什么药、拍药盒(凡涉及「吃药/服药/用药」都归这里)
|
||||
- "symptom" 记录身体症状,哪里不舒服(头疼、咳嗽、发烧、头晕…),与吃药无关
|
||||
- "indicator" 记录指标数值(血压、血糖、体重、心率、体温…)
|
||||
- "archive" 归档整份体检报告/化验单(拍报告存档)
|
||||
- "export" 生成给医生看的身体档案/健康总结
|
||||
@@ -24,15 +24,30 @@ nonisolated enum IntentPrompts {
|
||||
|
||||
规则:
|
||||
- 说到「提醒我…」一律 "reminder",即使内容涉及吃药或量血压。
|
||||
- 只是陈述吃了什么药 → "medication";只是陈述哪里不舒服 → "symptom"。
|
||||
- 凡是「记录/记一次用药、服药、吃药、吃了药」→ "medication",哪怕没说具体药名。
|
||||
- 「记录/记一次」+ 动作时,先看这个动作是什么(吃药→medication、量血压→indicator、
|
||||
哪里疼→symptom),不要因为出现「记录」二字就归类成 symptom。
|
||||
- 明确说出具体身体症状(头疼、咳嗽、发烧、头晕、拉肚子…)才算 "symptom";
|
||||
与吃药/用药无关。只是泛泛说今天的状态、心情、饮食、睡眠、累不累、舒不舒服 → "diary"。
|
||||
- 既像日记又提到具体数值时,以数值为准 → "indicator"。
|
||||
- 含否定或「忘了/没顾上」的吃药(「没吃药」「忘了吃药」「不用吃药」)不是记录用药 → "diary"。
|
||||
- 只有明确要「拍下/存档这份报告或化验单」时才算 "archive";只是顺口提到体检或报告
|
||||
(「下周去体检」「医生说报告没问题」)不要归 archive,按日记或提醒处理。
|
||||
- 拿不准、又不明确属于其它类别时,默认 "diary"(日记是最常见、最自由的入口)。
|
||||
尤其 "medication" 和 "archive" 会直接打开相机,把握不大时宁可归 "diary",不要误开相机。
|
||||
|
||||
示例:
|
||||
"帮我记一下今天的血压,高压128低压85" → {"intent":"indicator"}
|
||||
"我今天有点头疼,想记录一下" → {"intent":"symptom"}
|
||||
"我要记录一次用药" → {"intent":"medication"}
|
||||
"记一下今天吃的药" → {"intent":"medication"}
|
||||
"今天有点累,感觉不太舒服" → {"intent":"diary"}
|
||||
"刚买了一盒降压药,拍一下存进去" → {"intent":"medication"}
|
||||
"今天睡得不错,写个日记" → {"intent":"diary"}
|
||||
"把这份体检报告存档" → {"intent":"archive"}
|
||||
"今天太忙,忘了吃药" → {"intent":"diary"}
|
||||
"下周打算去做个体检" → {"intent":"diary"}
|
||||
"医生说我报告没什么大问题" → {"intent":"diary"}
|
||||
"每天早上八点提醒我量血压" → {"intent":"reminder"}
|
||||
"整理一份给医生看的健康总结" → {"intent":"export"}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user