LOCOMO_EVALUATION_README.md•6.55 kB
# MemOS LoCoMo本地评测
基于LoCoMo评测框架的MemOS记忆系统本地评测工具,用于量化记忆系统改进后的正确率提升。
## 🎯 评测目标
- **量化改进效果**: 对比不同配置下的记忆系统性能
- **严谨对比分析**: 提供客观的评测指标和统计分析
- **本地化评测**: 无需依赖外部服务,完全本地运行
- **轻量级实现**: 专注核心功能,避免过度复杂
## 📊 评测指标
### 核心指标
- **准确率 (Accuracy)**: 答案正确性的基础指标
- **ROUGE分数**: 文本重叠度评估(ROUGE-1, ROUGE-2, ROUGE-L)
- **BERTScore**: 基于BERT的语义相似度评估
- **Recall@K**: 前K个结果中的召回率
- **响应时间**: 系统响应速度
### 系统指标
- **记忆容量**: 系统中存储的记忆数量
- **检索效率**: 查询响应时间分布
- **反馈效果**: 反馈机制对结果质量的影响
## 🚀 快速开始
### 1. 安装依赖
```bash
cd /path/to/MemOS
./venv/bin/pip install rouge-score bert-score
```
### 2. 运行简化演示
```bash
# 概念演示(不需要完整MemOS环境)
./venv/bin/python simple_locomo_demo.py
```
### 3. 运行完整评测
```bash
# 基础评测(20个样本)
./venv/bin/python locomo_evaluation.py --dataset-size 20
# 大规模评测(100个样本)
./venv/bin/python locomo_evaluation.py --dataset-size 100 --output large_eval_report.json
# 使用基础版MemOS
./venv/bin/python locomo_evaluation.py --dataset-size 50 --no-enhanced
```
### 4. 运行测试验证
```bash
# 验证评测功能
./venv/bin/python test_locomo_evaluation.py
```
## 📁 文件结构
```
MemOS/
├── locomo_evaluation.py # 主评测脚本
├── simple_locomo_demo.py # 简化演示脚本
├── test_locomo_evaluation.py # 测试脚本
├── LOCOMO_EVALUATION_README.md # 本文档
└── locomo_eval_data/ # 评测数据目录(自动创建)
├── locomo_evaluation_report_*.json # 评测报告
└── simple_locomo_report.json # 简化演示报告
```
## 🔧 使用方法
### 命令行参数
```bash
python locomo_evaluation.py [选项]
选项:
--dataset-size SIZE 测试数据集大小 (默认: 20)
--data-dir DIR 评测数据目录 (默认: ./locomo_eval_data)
--enhanced 使用增强版MemOS (默认: True)
--output FILE 输出报告文件名
--verbose 显示详细日志 (默认: True)
```
### 编程接口
```python
from locomo_evaluation import LoCoMoEvaluator
# 创建评测器
evaluator = LoCoMoEvaluator(
data_dir="./my_eval_data",
use_enhanced=True,
verbose=True
)
# 运行评测
report = evaluator.run_evaluation(dataset_size=50)
# 显示结果
evaluator.print_summary(report)
# 保存报告
evaluator.save_report(report, "my_evaluation_report.json")
# 清理资源
evaluator.close()
```
## 📈 评测报告
### 报告结构
```json
{
"evaluation_info": {
"dataset_size": 20,
"timestamp": "2025-07-15T14:30:00",
"memory_system": "MemOS",
"enhanced_mode": true,
"data_dir": "./locomo_eval_data"
},
"summary_metrics": {
"accuracy_mean": 0.75,
"accuracy_std": 0.12,
"rouge_1_mean": 0.68,
"bert_score_f1_mean": 0.72,
"response_time_mean": 1.23,
"recall_at_k_mean": 0.80
},
"detailed_results": [...],
"dataset": [...]
}
```
### 关键指标解读
- **accuracy_mean > 0.7**: 系统表现良好
- **response_time_mean < 2.0s**: 响应速度可接受
- **recall_at_k_mean > 0.6**: 检索能力合格
- **rouge_1_mean > 0.5**: 文本匹配度良好
## 🔍 对比分析
### 增强版 vs 基础版
```bash
# 评测增强版
./venv/bin/python locomo_evaluation.py --dataset-size 50 --enhanced --output enhanced_report.json
# 评测基础版
./venv/bin/python locomo_evaluation.py --dataset-size 50 --no-enhanced --output basic_report.json
# 对比分析(需要自行实现或手动对比)
```
### 配置优化前后对比
1. **基线评测**: 使用默认配置运行评测
2. **优化配置**: 调整MemOS配置参数
3. **重新评测**: 使用相同数据集重新评测
4. **对比分析**: 计算改进幅度
## ⚠️ 注意事项
### 环境要求
- **Python 3.8+**: 支持现代Python特性
- **MemOS环境**: 需要完整的MemOS安装
- **Qdrant服务**: 增强版需要Qdrant向量数据库
- **网络连接**: 某些评测指标需要下载模型
### 性能考虑
- **数据集大小**: 建议从小规模开始(20-50样本)
- **内存使用**: BERTScore计算需要较多内存
- **计算时间**: 大规模评测可能需要较长时间
- **GPU加速**: 有GPU时BERTScore计算更快
### 故障排除
#### 常见问题
1. **Qdrant连接失败**
```bash
# 检查Qdrant服务状态
docker ps | grep qdrant
# 重启Qdrant服务
docker restart qdrant
```
2. **依赖缺失**
```bash
# 安装评测依赖
./venv/bin/pip install rouge-score bert-score
```
3. **内存不足**
```bash
# 减少数据集大小
python locomo_evaluation.py --dataset-size 10
```
4. **模型下载失败**
```bash
# 设置代理或使用离线模式
export HF_ENDPOINT=https://hf-mirror.com
```
## 🎯 最佳实践
### 评测流程
1. **环境检查**: 确保MemOS和依赖正常
2. **小规模测试**: 先用小数据集验证
3. **基线建立**: 记录当前系统性能
4. **配置优化**: 调整系统参数
5. **重新评测**: 使用相同条件评测
6. **结果分析**: 对比改进效果
### 数据管理
- **版本控制**: 保存不同版本的评测报告
- **数据备份**: 定期备份评测数据和配置
- **结果归档**: 建立评测结果的历史记录
### 性能优化
- **批量处理**: 大规模评测时使用批量模式
- **并行计算**: 利用多核CPU加速计算
- **缓存机制**: 复用已计算的嵌入向量
- **增量评测**: 只评测变更部分
## 📚 参考资料
- [LoCoMo官方论文](https://snap-research.github.io/locomo/)
- [LoCoMo GitHub仓库](https://github.com/snap-research/locomo)
- [ROUGE评测指标](https://en.wikipedia.org/wiki/ROUGE_(metric))
- [BERTScore论文](https://arxiv.org/abs/1904.09675)
## 🤝 贡献指南
欢迎提交Issue和Pull Request来改进评测工具!
### 开发环境
```bash
# 克隆项目
git clone <repository>
# 安装开发依赖
pip install -r requirements-dev.txt
# 运行测试
python -m pytest test_locomo_evaluation.py
```
## 📄 许可证
本项目采用MIT许可证。