|
|
||
|---|---|---|
| .env.example | ||
| .gitignore | ||
| MIGRATION_TASKS.md | ||
| README.md | ||
| config.py | ||
| extractor.py | ||
| graph_store.py | ||
| main.py | ||
| meeting1.md | ||
| meeting_example.md | ||
| meeting_processor.py | ||
| meeting_state.py | ||
| raw_store.py | ||
| requirements.txt | ||
| vector_store.py | ||
README.md
会议纪要长期记忆系统
基于 LLM + LlamaIndex + 本地状态存储 的会议纪要长期记忆原型,当前聚焦三件事:
- 会议内容结构化抽取
- 跨会议行动项与指标状态追踪
- 语义检索与重复内容过滤
当前处理链路
meeting.md
-> 内容哈希去重
-> 语义相似去重
-> LLM 结构化抽取
-> 状态合并
-> 原文归档到 data/raw
-> 写入向量索引
当前版本已经移除了 Obsidian 作为主流程依赖,后续会继续引入图数据库来承载关系层。
快速开始
cd meeting_memory
python -m venv .venv
.venv\Scripts\pip install -r requirements.txt
copy .env.example .env
# 然后补充 API 配置
.venv\Scripts\python main.py process meeting_example.md
用法
python main.py
python main.py process meeting_example.md
python main.py process meeting_example.md -f
python main.py query "弱光指标目标值是多少"
python main.py stats
python main.py text "今天会议讨论了..."
python main.py batch "meetings/*.md" -f
目录
meeting_memory/
├── config.py 配置
├── extractor.py LLM 结构化抽取
├── meeting_processor.py 主处理流程
├── meeting_state.py 跨会议状态追踪
├── raw_store.py 原文归档
├── vector_store.py 向量索引与语义检索
├── main.py CLI 入口
├── data/
│ ├── raw/ 原始会议文本归档
│ └── meeting_state.json 状态持久化
└── vector_store_data/ 向量索引持久化目录
核心能力
1. 结构化抽取
从会议文本中提取:
- 标题、日期、参会人
- 实体
- 关系
- 行动项
- 指标
- 决策
- 摘要
2. 长期状态追踪
- 行动项按
task + assignee做稳定 ID - 指标按
metric_name + owner做稳定 ID - 保留历史状态演化
- 支持跨会议合并
3. 双重去重
- 内容哈希精确去重
- 语义相似度去重
4. 语义检索
- 会议内容写入向量库
- 支持自然语言查询
- 索引持久化,重启自动加载
配置
编辑 .env:
LLM_API_KEY=sk-xxx
LLM_BASE_URL=https://api.deepseek.com/v1
LLM_MODEL=deepseek-chat
EMBEDDING_API_KEY=sk-xxx
EMBEDDING_BASE_URL=https://api.openai.com/v1
EMBEDDING_MODEL=text-embedding-3-small
迁移计划
当前迁移进度见 MIGRATION_TASKS.md。