MemGPT 使用教程:接入 Ollama 与自定义记忆配置
MemGPT 适合需要让大模型在多次对话中保留上下文的场景。
它通过分层记忆机制,把重要信息写入外部存储,缓解上下文窗口限制。
本文按 Docker 部署、接入 Ollama、自定义记忆、验证与排错的顺序,讲清本地跑通 MemGPT 的关键操作。
部署前需要准备什么
MemGPT 官方推荐通过 Docker 运行,也可以从源码安装。
零基础用户优先用 Docker,减少 Python 依赖冲突。
- 一台 Linux 服务器或本地电脑,已安装 Docker 和 Docker Compose。
- 可用的 Ollama 服务,并已拉取至少一个模型,例如
ollama pull llama3.1。 - 如果 MemGPT 和 Ollama 不在同一台机器,需要知道 Ollama 所在机器的局域网 IP。
- 预留约 10GB 磁盘空间,用于镜像和模型文件。
先确认 Docker 和 Ollama 都正常:
docker --version
curl http://localhost:11434/api/tags
第二条命令应返回模型列表 JSON。
如果连接被拒绝,说明 Ollama 没启动或端口未监听。
用 Docker 启动 MemGPT
拉取镜像并启动容器。
下面命令把配置目录挂载到宿主机,方便修改:
docker run -d --name memgpt \
-p 8283:8283 \
-v ~/.memgpt:/root/.memgpt \
letta/letta:latest
启动后查看日志,确认没有异常退出:
docker logs -f memgpt
日志出现服务监听信息后,再进入容器执行初始化。
MemGPT 的命令行工具是 letta,首次运行会引导创建配置:
docker exec -it memgpt letta
如果提示选择 LLM 后端,先选 ollama,再填写 Ollama 地址和模型名。
接入 Ollama 的配置要点
MemGPT 和 Ollama 在同一台机器时,地址通常写 http://localhost:11434。
如果 MemGPT 跑在 Docker 里,而 Ollama 在宿主机,localhost 指向容器自身,会连接失败。
此时要改用宿主机局域网 IP,例如 http://192.168.1.100:11434。
配置项一般保存在 ~/.memgpt/config 或 ~/.letta/config 中,关键字段包括:
[llm]
model = llama3.1
model_endpoint_type = ollama
model_endpoint = http://192.168.1.100:11434
修改后重启容器使配置生效:
docker restart memgpt
然后重新进入 CLI,观察是否出现对话提示符。
如果仍然报连接错误,回到上一步检查 Ollama 是否监听 0.0.0.0:11434,而不是只监听 127.0.0.1。
自定义记忆与验证效果
MemGPT 启动后会创建默认 agent,并维护 core memory 和 archival memory。
你可以在对话中直接说“记住我的项目路径是 /data/app”,观察它是否写入记忆。
验证方法有两种:
- 在 CLI 中查看当前 agent 的记忆摘要,确认内容已保存。
- 结束会话后重新进入,问它之前提到的项目路径,看能否复述。
如果记忆没有保留,先检查挂载目录 ~/.memgpt 是否有写权限,再确认容器没有使用临时文件系统。
数据持久化依赖宿主机挂载,删容器前务必确认配置目录已备份。
常见报错与避坑
连接 Ollama 超时:多半是地址写成了 localhost。
Docker 容器内访问宿主机要用局域网 IP,并确认防火墙放行 11434 端口。
模型不存在:配置里的模型名必须和 ollama list 输出完全一致,包括标签,例如 llama3.1:latest。
容器反复重启:查看 docker logs memgpt,常见原因是配置文件格式错误或挂载目录权限不足。
修改配置前先备份原文件。
记忆混乱:不要频繁手动编辑 core memory 文件。
优先通过对话让 agent 自行更新,确需编辑时先停止容器,改完再启动。
跑通之后,建议先用简单问题测试响应,再逐步加入需要记忆的内容。
确认基础对话和记忆读写都正常,再考虑接入更多数据源或调整模型参数。