MemGPT 动态配置实战指南:5分钟搭建智能记忆系统
LLM应用常受限于上下文长度和记忆管理。MemGPT通过分层配置系统,提供了灵活的动态配置能力。本文将聚焦配置中心的核心文件和参数,帮助你快速实现智能记忆管理。
配置系统架构
MemGPT的配置采用双层文件结构:
- 核心配置层:由
letta/config.py管理基础设置,如预设、角色定义、记忆存储路径和加载逻辑。 - 高级设置层:
letta/settings.py处理LLM模型参数、嵌入模型、工具沙箱、数据库连接和遥测日志。
基础配置修改
配置文件路径
默认路径为 $HOME/.letta/config,可通过环境变量 MEMGPT_CONFIG_PATH 自定义。
修改默认角色与预设
# letta/config.py
persona = DEFAULT_PERSONA # 角色
human = DEFAULT_HUMAN # 人类角色
preset = DEFAULT_PRESET # 预设模式
将 preset 设为 "assistant" 或 "expert" 可切换行为模式。
调整记忆存储策略
# 归档记忆
archival_storage_type = "sqlite"
archival_storage_path = LETTA_DIR
# 召回记忆
recall_storage_type = "sqlite"
recall_storage_path = LETTA_DIR
支持 sqlite(默认)和 postgres(需配置URI)。
高级配置技巧
模型切换
# letta/settings.py
openai_api_key = None
ollama_base_url = None
anthropic_api_key = None
设置对应API密钥即可切换模型,如使用本地Ollama:
ollama_base_url = "http://localhost:11434"
工具沙箱配置
class ToolSettings(BaseSettings):
e2b_api_key = None
modal_token_id = None
modal_token_secret = None
@property
def sandbox_type(self):
if self.e2b_api_key:
return SandboxType.E2B
return SandboxType.LOCAL
配置优先级:E2B > Modal > 本地。
记忆管理高级选项
class SummarizerSettings(BaseSettings):
mode = SummarizationMode.PARTIAL_EVICT_MESSAGE_BUFFER
message_buffer_limit = 60
message_buffer_min = 15
partial_evict_summarizer_percentage = 0.30
支持 STATIC_MESSAGE_BUFFER 和 PARTIAL_EVICT_MESSAGE_BUFFER 模式。
实战:配置PostgreSQL
生产环境建议用PostgreSQL:
# 方法1:逐字段设置
pg_db = "memgpt_production"
pg_user = "memgpt_user"
pg_password = "secure_pass"
pg_host = "db.example.com"
pg_port = 5432
# 方法2:完整URI
pg_uri = "postgresql+pg8000://memgpt_user:secure_pass@db.example.com:5432/memgpt_production"
修改存储类型:
archival_storage_type = "postgres"
recall_storage_type = "postgres"
metadata_storage_type = "postgres"
动态更新最佳实践
配置优先级
- 环境变量
- 命令行参数
- 配置文件
- 默认值
热更新配置
from letta.config import LettaConfig
config = LettaConfig.load()
config.save()
# 使用信号处理
import signal
def reload_config(signal, frame):
global config
config = LettaConfig.load()
print("配置已重载")
signal.signal(signal.SIGHUP, reload_config)
Web管理界面
启动MemGPT服务后,访问 http://localhost:8283,进入"设置"页面即可可视化调整记忆策略、模型参数和API密钥。
问题排查
- 配置文件丢失:运行
letta configure重建。 - 配置不生效:检查文件路径、参数名、服务重启和环境变量覆盖。开启调试日志:
debug = True。