iT邦幫忙

2026 iThome 鐵人賽

DAY 7
0
ChatGPT & Codex

AI 不只會聊天:30 天打造 VoCare 智慧陪伴系統系列 第 7

Day 07|從資料流走向資料庫:VoCare 的資料到底要怎麼存?

  • 分享至 

  • xImage
  •  

Day 06 把 VoCare 的資料流整理完成之後,下一個問題就是:

這些資料進到後端之後,到底要怎麼存?

目前 VoCare 的資料可以先整理成:

使用者資料
→ 對話紀錄
→ Memory / Context
→ 問卷資料
→ 鏡頭觀察資料
→ Status Event
→ Trend Analysis

VoCare 裡的資料其實不是同一種類型。像是長者和 AI 的聊天,需要保存完整的對話內容;而從聊天中整理出的興趣、家庭、工作經歷等資訊,則比較適合另外存成 Memory。至於「最近睡不好」、「這幾天比較少出門」這類短期狀況,則不適合直接當成永久記憶,而是要另外保存成近期狀況資料。

所以在資料庫設計上,聊天紀錄和 AI 記憶會分開處理。每一次聊天可以用 Conversation 表示,而聊天中的每一句內容則保存成 Message。這樣之後不管是要重新查看完整對話,還是從某一段對話中重新萃取資訊,都可以找到原始資料。

當系統從聊天中發現具有長期價值的內容,例如長者的興趣、家庭、過去工作或重要人生經驗,就會另外整理成 Memory。每一筆 Memory 除了內容之外,也會保存來源,這樣之後還能知道這筆記憶是從哪一次聊天產生的。

另一邊,聊天、問卷和鏡頭其實都可能產生「近期狀況」。例如聊天裡提到睡不好、問卷裡睡眠品質較差,或鏡頭觀察到某些活動變化。這些資料來源不同,但最後都可以整理成統一的 Status Event

Status Event 可以包含:

使用者、時間、類型、內容、資料來源以及原始資料位置。

例如:

9/21|睡眠|聊天|提到昨晚睡不好

或:

9/22|睡眠|問卷|睡眠品質較差

這樣做的好處是,後面的趨勢分析就不需要分別去讀聊天、問卷和鏡頭資料,而是可以直接分析整理好的 Status Event。

當 Status Event 累積之後,系統就能進一步計算最近 7 天、14 天或 30 天的變化,產生 Trend Analysis,最後再提供給家屬端使用。

所以目前 VoCare 的資料大致可以分成四層:

原始資料:聊天、問卷、鏡頭
→ 長期資料:Memory
→ 近期狀況:Status Event
→ 分析結果:Trend Analysis

這樣的設計可以讓不同用途的資料分開保存,但又能透過使用者 ID、時間和來源互相連結。

簡單來說:

Memory 負責記住「這位長者是誰」。

而:

Status Event 負責記錄「這位長者最近發生了什麼」。

最後 Trend Analysis 再負責回答:

「最近和以前相比,有沒有什麼變化?」

這就是目前 VoCare 資料庫設計最核心的方向。


上一篇
Day 06|從功能走向架構:VoCare 的資料到底怎麼流?
下一篇
Day 08|從資料庫走向 API:VoCare 的前後端要怎麼溝通?
系列文
AI 不只會聊天:30 天打造 VoCare 智慧陪伴系統9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言