- 人工智能
- 大模型
- 模型评测
- Agent 评测
- 数据集
- RAG
【免费下载链接】locomo
LoCoMo 是一个面向 LLM Agent 的超长对话记忆评测基准(Benchmark),用于检验大语言模型能否在跨越数周、数百轮对话中记住并利用早期信息。它包含 10 段高质感的超长对话、1,986 道问答标注和事件摘要标注。本教程将带你快速完成LoCoMo 环境配置,并跑通第一次 QA 评测、读懂输出的 F1 得分,全程约 5 分钟。
一、LoCoMo 长对话记忆评测基准是什么?
LoCoMo 源自 ACL 2024 论文Evaluating Very Long-Term Conversational Memory of LLM Agents。两位拥有预设人设(Persona)的 LLM Agent 通过多轮、跨越多天的对话不断积累"记忆",评测系统则考察模型在这些超长上下文中的表现。它支持三类任务:
- 问答(Question Answering):单跳、多跳、时序推理、开放域知识、对抗性问题,共 1,986 题
- 事件摘要(Event Summarization):为每位说话人生成带因果、时间关联的事件总结
- 多模态对话生成(Multimodal Dialog Generation):对话中穿插图片分享,平均每段对话含 91.2 张图
二、仓库结构与核心文件速览
上手前先花 30 秒认识关键文件,后面每一步都会用到它们:
| 路径 | 作用 |
|---|---|
| data/locomo10.json | 核心数据集(约 2.7 MB):10 段对话 + QA / 事件 / 观察 / 摘要标注 |
| scripts/env.sh | 全局配置:API Key、数据路径、输出目录 |
| scripts/evaluate_gpts.sh 等 | 一键评测 GPT / Claude / Gemini / HF 开源模型 |
| task_eval/evaluate_qa.py | QA 评测主入口,支持 RAG 检索与 4bit 量化推理 |
| generative_agents/ | LLM Agent 自动生成新长对话的框架 |
| prompt_examples/ | 对话生成、观察抽取、摘要所需的提示词示例 |
三、5分钟环境配置:克隆、建环境、配 Key
1. 克隆 LoCoMo 仓库
git clone https://gitcode.com/gh_mirrors/lo/locomo cd locomo2. 创建 Python 3.9 运行环境
官方环境基于 Python 3.9 + PyTorch 2.0.1。requirements.txt 是完整的 conda 环境导出文件,可直接复用:
conda create --name locomo --file requirements.txt conda activate locomo如果只想按需安装,核心依赖为:openai、anthropic、google-generativeai、transformers、sentence-transformers、torch、bert-score。
3. 配置 API Key(最关键的一步)
所有脚本开头都会source scripts/env.sh,因此只需编辑 scripts/env.sh 中的对应变量:
OPENAI_API_KEY:评测 GPT 系列ANTHROPIC_API_KEY:评测 Claude 系列GOOGLE_API_KEY:评测 Gemini 系列HF_TOKEN:评测 Hugging Face 模型(需要时)
该文件同时定义了DATA_FILE_PATH=./data/locomo10.json和输出目录OUT_DIR=./outputs,一般无需改动。
四、跑通首次评测:四种模型一键运行
根据你的 API Key,任选一个脚本即可开始首次 LoCoMo 评测:
| 被测模型 | 一键评测脚本 |
|---|---|
| OpenAI GPT | scripts/evaluate_gpts.sh |
| Claude | scripts/evaluate_claude.sh |
| Gemini | scripts/evaluate_gemini.sh |
| HF 开源模型(llama3、mistral 等) | scripts/evaluate_hf_llm.sh |
bash scripts/evaluate_gpts.sh如果想自定义参数,可以直接调用 task_eval/evaluate_qa.py:
python3 task_eval/evaluate_qa.py \ --data-file ./data/locomo10.json \ --out-file ./outputs/locomo10_qa.json \ --model gpt-4-turbo --batch-size 20常用参数:--model(模型名)、--batch-size(并发批大小)、--use-4bit(HF 模型 4bit 量化省显存)、--use-rag(启用检索增强)。
五、如何解读评测输出与 F1 得分?
评测结束后,outputs/目录会生成两个文件:
locomo10_qa.json:逐题保存模型预测答案(如gpt-4-turbo_prediction字段)与单题 F1locomo10_qa_stats.json:按问题类别聚合的 F1 统计
五个问题类别的题量分布为:单跳 841、多跳 282、时序推理 321、开放域知识 96、对抗性 446。重点关注多跳和时序推理类别的 F1——这正是衡量模型"长程对话记忆"能力的核心指标。
六、进阶玩法:RAG 评测与自定义对话生成
检索增强(RAG)评测:运行bash scripts/evaluate_rag_gpts.sh,会以 dialog、observation、session summary 三种数据库搭配不同--top-k检索长度评测 gpt-3.5-turbo,对应参数为--use-rag --rag-mode --top-k --retriever。观察(observation)和摘要(summary)可通过 scripts/generate_observations.sh 与 scripts/generate_session_summaries.sh 重新生成。
生成新的超长对话:运行bash scripts/generate_conversations.sh,底层调用 generative_agents/generate_conversations.py。两种方式:
- 将
--out-dir指向包含agent_a.json和agent_b.json的目录,使用自定义人设,示例见 data/multimodal_dialog/example/agent_a.json - 指向空目录,则自动从 data/msc_personas_all.json 采样人设
--num-days可控制对话跨度的时间范围,--num-sessions、--max-turns-per-session控制会话规模。
七、常见问题快速排查
- 报错缺少 API Key:Key 是通过环境变量读取的(见 global_methods.py),请确认已在 scripts/env.sh 中填写正确
- 模型名不被识别:
--model需包含gpt/claude/gemini关键字,或属于gemma、llama、mistral系列 - 运行缓慢:调小
--batch-size;HF 本地模型建议加--use-4bit降低显存占用 - 只想重跑部分数据:输出文件已存在的样本会被复用,加
--overwrite可强制重新评测
总结
LoCoMo 为 LLM 长对话记忆能力提供了开箱即用的评测基准:克隆仓库 →conda create --file requirements.txt建环境 → 在 scripts/env.sh 填入 API Key → 运行bash scripts/evaluate_gpts.sh等一键脚本,即可在 5 分钟内看到模型在单跳、多跳、时序等维度的 F1 表现。结合 RAG 评测与对话生成框架,它也是研究 Agent 记忆机制的完整实验平台。
- 人工智能
- 大模型
- 模型评测
- Agent 评测
- 数据集
- RAG
【免费下载链接】locomo
相关推荐
如何快速上手Step-Audio-2-mini:5分钟完成环境配置与首次推理
如何快速上手Step Audio 2 mini:5分钟完成环境配置与首次推理 Step Audio 2 mini是阶跃星辰推出的端到端多模态大语言模型,专门针对
大模型语音/音频多模态深度学习如何 5 分钟上手 files-sdk:从安装到首次上传的完整新手指南
如何 5 分钟上手 files sdk:从安装到首次上传的完整新手指南 files sdk 是一个面向 TypeScript 的统一文件存储 SDK,核心理念是
对象存储后端如何10分钟上手SkillsBench:从安装BenchFlow到第一次评测的完整教程
如何10分钟上手SkillsBench:从安装BenchFlow到第一次评测的完整教程 SkillsBench 是目前首个专门评测「AI Agent 如何调用技
人工智能大模型AI 评测Agent 评测
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考