Memori:用 SQL 給 AI 加上記憶
關(guān)于AI記憶的項(xiàng)目很多,之前我們介紹過(guò)Mem0之類的產(chǎn)品(??mem0推出王炸mcp工具OpenMemory,打造用戶私有、跨應(yīng)用的共享記憶層??)。今天我們來(lái)介紹一個(gè)新的項(xiàng)目 Memori,它在技術(shù)選型上做了個(gè)有趣的選擇:當(dāng)大家都在追捧向量數(shù)據(jù)庫(kù)和圖數(shù)據(jù)庫(kù)時(shí),它選擇了回歸 SQL。
Memori 是 Gibson 團(tuán)隊(duì)開(kāi)發(fā)的開(kāi)源記憶引擎,專門給大語(yǔ)言模型和 AI Agent 加上持久記憶。簡(jiǎn)單說(shuō),就是讓 AI 能記住你們之前的對(duì)話,不用每次都從頭開(kāi)始。
目前主流的 AI 記憶方案各有各的問(wèn)題:
提示詞填充 最直接,把歷史對(duì)話不斷塞進(jìn)上下文。短對(duì)話還行,一旦聊久了,token 數(shù)量和成本都會(huì)失控。
向量數(shù)據(jù)庫(kù) 是當(dāng)前主流,用 Pinecone、Weaviate 存儲(chǔ)語(yǔ)義嵌入。但語(yǔ)義檢索本身就是模糊的,經(jīng)常召回一堆相關(guān)但不精確的內(nèi)容,而且結(jié)構(gòu)化信息容易丟失。
圖數(shù)據(jù)庫(kù) 在表達(dá)實(shí)體關(guān)系上確實(shí)強(qiáng)大,做推理很合適。但構(gòu)建和維護(hù)成本高,擴(kuò)展性也是個(gè)問(wèn)題。
而 Memori 的方案是用關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)記憶,理由很簡(jiǎn)單:SQL 數(shù)據(jù)庫(kù)運(yùn)行了幾十年,成熟可靠,用 JOIN 和索引做精確檢索正是它的強(qiáng)項(xiàng)。對(duì)于需要結(jié)構(gòu)化存儲(chǔ)、精確召回的記憶場(chǎng)景,SQL 可能確實(shí)更合適。
這個(gè)項(xiàng)目最有意思的地方在于它的雙模式設(shè)計(jì):
Conscious Mode(意識(shí)模式) 模擬人類的短期記憶。啟動(dòng)時(shí),AI 會(huì)分析歷史對(duì)話,把最重要的 5-10 段內(nèi)容提取出來(lái)作為工作記憶。比如你的名字、正在做的項(xiàng)目、常用技術(shù)棧這些信息,會(huì)被優(yōu)先記住并在對(duì)話開(kāi)始時(shí)一次性注入。
Auto Mode(自動(dòng)模式) 則是動(dòng)態(tài)搜索整個(gè)記憶庫(kù)。每次你提問(wèn)時(shí),AI 都會(huì)智能分析需要什么背景信息,然后從數(shù)據(jù)庫(kù)里檢索相關(guān)記憶。這個(gè)模式更適合需要大量歷史信息的復(fù)雜對(duì)話。
使用起來(lái)很簡(jiǎn)單:
from memori import Memori
from openai import OpenAI
# 初始化
memori = Memori(conscious_ingest=True)
memori.enable()
# 正常使用 OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "幫我優(yōu)化代碼"}]
)
# AI 會(huì)自動(dòng)記住你之前提到的項(xiàng)目信息從功能上看,Memori 支持 SQLite、PostgreSQL 和 MySQL,用 Pydantic 做結(jié)構(gòu)化數(shù)據(jù)驗(yàn)證,能自動(dòng)提取對(duì)話中的實(shí)體(人名、技術(shù)、項(xiàng)目等)并分類存儲(chǔ)。它可以跟任何 LLM 庫(kù)配合使用,已經(jīng)集成了 LangChain、CrewAI、AgentOps 等主流框架。
比較實(shí)用的是多用戶隔離功能。通過(guò) namespace 參數(shù),每個(gè)用戶的記憶可以完全獨(dú)立,適合做 SaaS 應(yīng)用。項(xiàng)目還提供了 FastAPI 的多用戶示例代碼。
當(dāng)然,這不意味著向量數(shù)據(jù)庫(kù)沒(méi)用。語(yǔ)義搜索在某些場(chǎng)景下不可替代。但 Memori 的實(shí)踐提醒我們:解決問(wèn)題不一定要用最新的技術(shù),有時(shí)候最合適的答案就在那些被驗(yàn)證過(guò)的"老技術(shù)"里。
如果你在開(kāi)發(fā) AI 應(yīng)用,特別是需要長(zhǎng)期記憶的場(chǎng)景(客服機(jī)器人、個(gè)人助理、多智能體系統(tǒng)),這個(gè)工具值得一試。畢竟,一個(gè)能記住上下文的 AI,比每次都要重新介紹自己的 AI 實(shí)用多了。
項(xiàng)目地址:???https://github.com/GibsonAI/memori??
本文轉(zhuǎn)載自??AI工程化??,作者:ully

















