☰
如何5分钟上手LoCoMo:从环境配置到首次评测的完整教程
2026/10/14 16:05:11 网站建设 项目流程
  • 人工智能
  • 大模型
  • 模型评测
  • Agent 评测
  • 数据集
  • RAG

【免费下载链接】locomo

项目地址:https://gitcode.com/gh_mirrors/lo/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.pyQA 评测主入口,支持 RAG 检索与 4bit 量化推理
generative_agents/LLM Agent 自动生成新长对话的框架
prompt_examples/对话生成、观察抽取、摘要所需的提示词示例

三、5分钟环境配置:克隆、建环境、配 Key

1. 克隆 LoCoMo 仓库

git clone https://gitcode.com/gh_mirrors/lo/locomo cd locomo

2. 创建 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 GPTscripts/evaluate_gpts.sh
Claudescripts/evaluate_claude.sh
Geminiscripts/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/目录会生成两个文件:

  1. locomo10_qa.json:逐题保存模型预测答案(如gpt-4-turbo_prediction字段)与单题 F1
  2. locomo10_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

项目地址:https://gitcode.com/gh_mirrors/lo/locomo
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询