從“通用問答”走向“有記憶的健康夥伴”

當前,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交互

核心模塊關係

構建醫療專屬智能問診助手:基於昇騰平台的個性化記憶與推薦實踐_Vue

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

默認情況下,應用內容如下:

構建醫療專屬智能問診助手:基於昇騰平台的個性化記憶與推薦實踐_Vue_02

核心功能模塊代碼實現

醫療健康諮詢模塊

功能描述

提供專業的醫療健康諮詢服務,支持用户通過預設問題快速開始諮詢,或輸入自定義問題與智能體互動。

實現細節

系統提示詞設計 :

"你是一名專業的醫療智能助手,負責為用户提供健康諮詢、疾病預防、用藥指導、醫療機構查詢等醫療健康服務。請使用禮貌、專業的語言回答用户問題,注意保護用户隱私,不泄露敏感信息。如果遇到不確定的問題,請明確告知用户並建議其諮詢專業醫生。始終強調你只是提供參考信息,不能替代專業醫療診斷和治療。"

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);
}


效果驗證

構建醫療專屬智能問診助手:基於昇騰平台的個性化記憶與推薦實踐_Vue_03

健康諮詢模塊

構建醫療專屬智能問診助手:基於昇騰平台的個性化記憶與推薦實踐_Vue_04

用户行為跟蹤、個性化推薦模塊

構建醫療專屬智能問診助手:基於昇騰平台的個性化記憶與推薦實踐_Vue_05


總結

醫療智能體不應只是冷冰冰的知識庫,而應成為懂你、記得你、守護你的健康夥伴。通過華為雲MateChat,我們證明了在保障安全與隱私的前提下,個性化記憶機制能顯著提升醫療AI的專業性與人文關懷。

歡迎Star項目、提交Issue或貢獻醫療記憶模板 → 本文 Demo 完整代碼詳見 GitCode 倉庫https://gitcode.com/weixin_50843918/DevUI1