从“通用问答”走向“有记忆的健康伙伴”

当前,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)架构,主要分为以下几个层次:

  1. UI层:负责用户界面的展示和交互
  2. 业务逻辑层:处理核心业务流程和用户交互
  3. 数据服务层:管理用户数据、行为记录和对话历史
  4. 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

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐