Skip to main content

轻量级 AI 记忆系统

Project description

PalaceLite

License: MIT Python 3.9+ Version

轻量级 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

palacelite-0.3.0.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

palacelite-0.3.0-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

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

Hashes for palacelite-0.3.0.tar.gz
Algorithm Hash digest
SHA256 8c64c317cacd6a7f34b244878d9e27a524cc98b30affa46be05de7ba247b8445
MD5 bb30d9632cd64b1a57e93f83feb225ec
BLAKE2b-256 ce1311884dc0d4760dfa2ba2ddd64fe71ec6d4c7eca733064e0f7d5c7afd7b91

See more details on using hashes here.

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

Hashes for palacelite-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3c4e4e555fb0553516b37b6d3760ac040e0a7cdc4bfb1de8d988e6797d0d68a9
MD5 901cbf8bcffc5cfc6f117ce7cf3e90ed
BLAKE2b-256 47896a546305aecbc7b03848898c8257769eef7d578b230890200b21bc096bf6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page