轻量级 AI 记忆系统
Project description
PalaceLite
轻量级 AI 记忆系统,灵感来自MemPalace。默认离线运行,数据完全本地化。
核心概念
采用三层结构组织记忆:Wing(项目或人)→ Room(具体话题)→ Drawer(记忆条目)。每条记忆存储原文和向量,支持混合检索(向量相似度 + 时间衰减 + 重要性加权)。
安装
git clone https://github.com/fajknli/palacelite.git
cd palacelite
pip install -e .
pip install -r requirements.txt
首次使用需下载嵌入模型(约百MB,BAAI/bge-small-zh-v1.5),添加 --online 参数即可自动下载,之后可永久离线运行。
快速开始
CLI
# 添加记忆
palacelite add -w default -r chat -c "用户喜欢 PostgreSQL"
# 搜索
palacelite search -q "数据库"
# 列出活跃记忆
palacelite list
# 归档超过90天且重要性低于2的记忆
palacelite archive-old --days 90 --importance 2
# 导出已归档记忆(自动保存到 ~/.palacelite/exports/)
palacelite export-archived
# 永久删除已归档记忆
palacelite delete-archived
# 统计
palacelite stats
Python API
from palacelite import PalaceLite
p = PalaceLite() # 默认离线,offline=False 可联网下载模型
p.add_memory("用户喜欢 PostgreSQL", "default", "chat")
results = p.search("数据库")
context = p.build_context("数据库选型") # 构建 LLM 上下文
验证安装:
python -c "from palacelite import PalaceLite; print('OK')"
带记忆对话
examples/ 目录提供了完整的对话示例:
# 离线模式(默认)
python examples/chat.py -m /path/to/model.gguf
# 联网模式(首次下载嵌入模型)
python examples/chat.py -m /path/to/model.gguf --online
# 指定 GPU 层数
python examples/chat.py -m /path/to/model.gguf -g 30
对话命令:/help、/mem、/list、/stats、/clear、/quit。
命令速查
| 命令 | 说明 |
|---|---|
add -w <wing> -r <room> -c <内容> |
添加记忆 |
search -q <关键词> |
搜索记忆 |
list [-w wing] [-r room] |
列出活跃记忆 |
archive-old [--days 90] [--importance 2] |
批量归档旧记忆 |
list-archived |
列出已归档记忆 |
export-archived [-o 路径] |
导出归档到 JSON |
delete-archived |
永久删除归档记忆 |
stats |
显示统计信息 |
wings |
列出所有 Wing |
rooms <wing> |
列出指定 Wing 下的 Room |
配置
| 环境变量 | 默认值 | 说明 |
|---|---|---|
PALACE_MODEL_PATH |
- | GGUF 模型文件路径 |
PALACE_MODEL_DIR |
~/Public/ai/models |
模型存放目录 |
GPU_LAYERS |
20 |
GPU 加速层数 |
工作目录默认为 ~/.palacelite,可通过 PalaceLite(workspace="/path") 自定义。
数据维护
导出数据清洗(用于微调):
python scripts/clean_memories.py ~/backup.json ~/cleaned.json
更换嵌入模型后重建向量库:
python scripts/rebuild_embeddings.py
许可证
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file palacelite-0.3.0.tar.gz.
File metadata
- Download URL: palacelite-0.3.0.tar.gz
- Upload date:
- Size: 18.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c64c317cacd6a7f34b244878d9e27a524cc98b30affa46be05de7ba247b8445
|
|
| MD5 |
bb30d9632cd64b1a57e93f83feb225ec
|
|
| BLAKE2b-256 |
ce1311884dc0d4760dfa2ba2ddd64fe71ec6d4c7eca733064e0f7d5c7afd7b91
|
File details
Details for the file palacelite-0.3.0-py3-none-any.whl.
File metadata
- Download URL: palacelite-0.3.0-py3-none-any.whl
- Upload date:
- Size: 20.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c4e4e555fb0553516b37b6d3760ac040e0a7cdc4bfb1de8d988e6797d0d68a9
|
|
| MD5 |
901cbf8bcffc5cfc6f117ce7cf3e90ed
|
|
| BLAKE2b-256 |
47896a546305aecbc7b03848898c8257769eef7d578b230890200b21bc096bf6
|