我將從一個 "聊完就忘" 的 Stateless Chatbot 開始,以適合新手的方式逐步實作 Context Management、Conversation History、Short-term Memory、Embedding、Semantic Search 與 Long-term Memory,再進一步處理 User Profile、記憶的重要性、更新、衝突與遺忘。最後加入 Tool Calling 與 Agent Loop,打造能自行判斷何時記住、找回、更新與遺忘資訊的 Agentic Memory AI Agent。
昨天我們完成了 Memora 的 Short-term Memory。它能保存目前這段對話、壓縮較舊的內容,並在 Input Token Budget 內建立下...
昨天我們第一次把 Conversation History 和 Memory Candidate 分開。目前使用者必須明確輸入: remember 我的英文程度...
昨天 Memora 已經可以自動分析 User Message,找出可能值得保存的資訊。 例如輸入: 我的英文程度是 B1,我想加強旅遊英文。 Memory...
昨天我們使用 Structured Output,把抽取結果整理成: MemoryCandidate( content="使用者想加強旅遊英文...
昨天我們已經替每一筆 Memory Candidate 建立 Embedding,也寫好了 cosine_similarity(),可以比較兩段記憶在語意上有多...
昨天我們沒有使用Vector Database,而是自己完成了一次Semantic Search: Query ↓ Query Embedding ↓ 逐一比較...
昨天我們把 Memory 從 Python List 搬進 Chroma,讓 Vector Database 負責保存 Record 與執行 Semantic...
昨天我們把 Chroma 的 EphemeralClient 改成 PersistentClient,並建立: LongTermMemoryStore 現在...
昨天Memora 完成了 Long-term Memory 的第一個完整循環。一般聊天時,它會先根據目前的 User Input 搜尋 Chroma,取得通過門...
昨天我們把 Long-term Memory 和 User Profile 分開了。 現在 Memora 會直接從 user_profile.json 取得目前...