构建医疗专属智能问诊助手:基于昇腾平台的个性化记忆与推荐实践
医疗智能体不应只是冷冰冰的知识库,而应成为懂你、记得你、守护你的健康伙伴。通过华为云MateChat,我们证明了在保障安全与隐私的前提下,个性化记忆机制能显著提升医疗AI的专业性与人文关怀。欢迎Star项目、提交Issue或贡献医疗记忆模板 → 本文 Demo 完整代码详见 GitCode 仓库。
从“通用问答”走向“有记忆的健康伙伴”
当前,AI医疗助手已在在线问诊、健康咨询、慢病管理等场景中广泛应用,为用户提供了便捷的初步健康支持。然而,大多数现有系统仍停留在“一次性对话”模式——每次交互都如同面对一位全新的患者,无法有效记录或调用用户的既往病史、用药记录、过敏信息、生活习惯偏好等关键数据。
这种“失忆式”服务带来了多重问题:
- 重复提问降低体验:用户每次咨询都需重新输入基础信息(如年龄、性别、慢性病史),造成操作繁琐、效率低下;
- 安全隐患隐现:若系统无法识别用户对青霉素过敏,却在后续推荐含该成分的药物,可能引发严重不良反应;
- 缺乏个性化干预:糖尿病患者希望AI能结合其近期血糖趋势提供建议;孕妇期待自动规避妊娠禁忌药物;慢性肾病患者需要长期跟踪肌酐、eGFR等指标变化——但现有系统难以实现动态、连续的健康管理。
为突破上述瓶颈,本文提出一种面向医疗问诊场景的个性化智能体原型,深度融合华为云 MateChat ,通过融合用户行为记忆与动态推荐机制,实现“一人一策”的健康顾问服务。
医疗智能体训练流程:打造专业可靠的“医学大脑”
医疗智能助手是一个基于Vue 3 + TypeScript开发的智能聊天机器人应用,专为医疗健康领域设计。它能够提供专业的医疗健康咨询服务,并通过用户行为跟踪和对话记忆功能,实现个性化推荐和持续优化的用户体验。
主要功能
- 医疗健康咨询:提供症状咨询、用药指导、疾病预防等专业医疗建议
- 个性化推荐:基于用户行为和对话历史生成定制化健康建议
- 对话记忆:保存完整对话历史,支持查看和切换历史会话
应用场景
- 普通用户的日常健康咨询
- 慢性病患者的自我管理辅助
- 健康知识的普及和教育
- 医疗资源的初步引导和查询
技术栈
前端框架
- Vue 3:现代化的前端框架,提供响应式数据绑定和组件化开发
- TypeScript:增强代码类型安全和开发体验
- Vite:快速的前端构建工具,支持热更新和优化的构建输出
第三方库和组件
- @matechat/core:聊天界面核心组件库
- vue-devui:DevUI组件库,提供丰富的UI组件
- openai:OpenAI SDK,用于与DeepSeek API交互
- localStorage:本地存储,用于保存用户数据和对话历史
API服务
DeepSeek API:提供医疗专业知识的大语言模型服务
系统架构
整体架构
项目采用典型的单页应用(SPA)架构,主要分为以下几个层次:
- UI层:负责用户界面的展示和交互
- 业务逻辑层:处理核心业务流程和用户交互
- 数据服务层:管理用户数据、行为记录和对话历史
- API集成层:与外部大语言模型API交互
核心模块关系

CLI创建项目
可通过如下命令创建一个应用:
// npm
npm create matechat@latest
// pnpm
pnpm create matechat@latest
这一指令会安装并执行create-matechat,你将会看到一些创建提示:
Please input the project name: matechat-project
Please select the template: Vue Starter
应用创建完成后通过以下命令安装依赖并启动开发:
cd
npm i
npm run dev
默认情况下,应用内容如下:

核心功能模块代码实现
医疗健康咨询模块
功能描述
提供专业的医疗健康咨询服务,支持用户通过预设问题快速开始咨询,或输入自定义问题与智能体互动。
实现细节
系统提示词设计 :
"你是一名专业的医疗智能助手,负责为用户提供健康咨询、疾病预防、用药指导、医疗机构查询等医疗健康服务。请使用礼貌、专业的语言回答用户问题,注意保护用户隐私,不泄露敏感信息。如果遇到不确定的问题,请明确告知用户并建议其咨询专业医生。始终强调你只是提供参考信息,不能替代专业医疗诊断和治疗。"
API调用实现:
const response = await fetch(import.meta.env.VITE_DEEPSEEK_BASE_URL + '/chat/completions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${import.meta.env.VITE_DEEPSEEK_API_KEY}`
},
body: JSON.stringify({
model: 'deepseek-reasoner',
messages: [
{ role: 'system', content: systemPrompt },
{ role: 'user', content: ques }
],
stream: true
})
});
流式响应处理:支持实时显示AI回复内容,提升用户体验
用户行为跟踪与对话记忆模块
功能描述
跟踪用户与智能助手的所有交互行为,记录完整对话历史,并基于这些数据生成用户偏好模型。
实现细节
用户行为记录:
recordBehavior(behavior: UserBehavior): void {
this.behaviors.value.push(behavior);
this.updatePreferences(behavior);
this.saveToLocalStorage();
}
对话历史管理:
addMessageToConversation(from: 'user' | 'model', content: string): void {
if (!this.currentConversationId.value) {
this.startNewConversation();
}
const conversation = this.conversations.value.find(c => c.id === this.currentConversationId.value);
if (conversation) {
conversation.messages.push({
from,
content,
timestamp: Date.now()
});
this.saveToLocalStorage();
}
}
数据持久化:使用localStorage保存用户数据,确保页面刷新后数据不丢失
个性化推荐系统
功能描述
基于用户行为和对话历史,生成个性化的健康建议和内容推荐,提升用户体验和服务质量。
实现细节
用户偏好分析:
private updatePreferences(behavior: UserBehavior): void {
// 提取健康主题关键词
const healthCategories = {
'症状咨询': ['症状', '不舒服', '难受', '疼痛', '异常'],
'用药指导': ['药物', '药', '服用', '剂量', '副作用'],
'疾病预防': ['预防', '避免', '降低', '减少', '防止'],
// ... 更多分类
};
// 更新兴趣权重
for (const [category, keywords] of Object.entries(healthCategories)) {
if (keywords.some(keyword => behavior.content.includes(keyword))) {
this.preferences.value.interests[category] =
(this.preferences.value.interests[category] || 0) + 1;
break;
}
}
}
推荐内容生成:
getRecommendations(count: number = 3): string[] {
// 根据用户兴趣生成推荐
const interests = this.preferences.value.interests;
const sortedCategories = Object.entries(interests)
.sort(([,a], [,b]) => b - a)
.map(([category]) => category);
const recommendations: string[] = [];
// 基于分类生成推荐
if (sortedCategories.includes('症状咨询')) {
recommendations.push('您可能想了解常见症状的自我护理方法');
}
// ... 更多推荐逻辑
return recommendations.slice(0, count);
}
效果验证

健康咨询模块

用户行为跟踪、个性化推荐模块

总结
医疗智能体不应只是冷冰冰的知识库,而应成为懂你、记得你、守护你的健康伙伴。通过华为云MateChat,我们证明了在保障安全与隐私的前提下,个性化记忆机制能显著提升医疗AI的专业性与人文关怀。
欢迎Star项目、提交Issue或贡献医疗记忆模板 → 本文 Demo 完整代码详见 GitCode 仓库https://gitcode.com/weixin_50843918/DevUI1
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐


所有评论(0)