iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0
AI & Data

雲端情人 - AI 愛系列 第 6

Day 6 妳是否還記得我? - 有記憶的聊天

  • 分享至 

  • xImage
  •  

記憶功能上線!

讓 AI 雲端情人能記住你的話

前一天的 AI Bot 還只是單純的一問一答,如果每次聊天都像剛認識一樣,只會說「安安你好」,那就完全沒有「戀愛感」。
所以今天,我加入了 對話歷史(conversation memory),讓 AI 雲端情人能「記住」我說過的事。

🧠 記憶功能的設計
• 每個 user_id 都有一個 conversation_history
• 每次新訊息都 append 進歷史
• 保留最後 10 筆(避免 token 過多、增加成本)
• 傳給 LLM 時,整段歷史會一起送出

這樣的設計看似複雜,卻帶來關鍵意義:就像電影《雲端情人(Her)》裡的女友 AI 一樣,一台雲端伺服器可以同時服務很多人。

每個人加上這個 LINE AI Bot讓每一個使用者都能有專屬的互動情境。聊天內容互不干擾,AI 會延續個別對話脈絡,而不是每次都從「你好」開始。

這樣,AI 雲端情人就能接續上下文,維持一個「個性」與「連貫性」,不會每次都 reset。

💻 程式片段(Day 6:對話歷史)

conversation_history.setdefault(user_id, [])
conversation_history[user_id].append({"role": "user", "content": msg})

# 限制歷史長度,避免 token 過多
if len(conversation_history[user_id]) > MAX_HISTORY_LEN * 2:
    conversation_history[user_id] = conversation_history[user_id][-MAX_HISTORY_LEN * 2:]

# 帶著歷史發送給 LLM
reply_text = await get_async_reply(conversation_history[user_id])

📈 時序圖(Day 6:有記憶的聊天)

https://ithelp.ithome.com.tw/upload/images/20250830/20112100dBMLveoaZC.png

🎯 成果

到這裡,我的 AI 女友已經從 「會講話」 進化到 「會記住我的事」。
這個小小的「記憶」功能,讓她開始像個真實的人一樣:會提到我們昨天聊過的內容,也不會每次都 reset。

https://ithelp.ithome.com.tw/upload/images/20250830/20112100yxyZviqszy.png


上一篇
Day 5:我的 AI 女友開始會聊天了!- 接入大語言模型接入 OpenAI/Groq LLM 到 LINE Bot
下一篇
Day 7戀愛要有話題 -讓 AI 雲端情人多一點小話題快速按鈕 互動選單
系列文
雲端情人 - AI 愛13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言