mirror of https://github.com/OpenSPG/KAG
2.4 KiB
2.4 KiB
KAG 示例:TwoWiki
2WikiMultiHopQA 是一个用于对推理步骤进行全面评估的多跳问答数据集。KAG 和 HippoRAG 用它评估多跳问答的性能。
本例我们展示为 2WikiMultiHopQA 数据集构建知识图谱,然后用 KAG 为评估问题生成答案,并与标准答案对比计算 EM 和 F1 指标。
1. 前置条件
参考文档 快速开始 安装 KAG 及其依赖的 OpenSPG server,了解开发者模式 KAG 的使用流程。
2. 复现步骤
Step 1:进入示例目录
cd kag/examples/2wiki
Step 2:配置模型
更新 kag_config.yaml 中的生成模型配置 openie_llm
和 chat_llm
和表示模型配置 vectorize_model
。
您需要设置正确的 api_key
。如果使用的模型供应商和模型名与默认值不同,您还需要更新 base_url
和 model
。
Step 3:初始化项目
先对项目进行初始化。
knext project restore --host_addr http://127.0.0.1:8887 --proj_path .
Step 4:提交 schema
执行以下命令提交 schema TwoWiki.schema。
knext schema commit
Step 5:构建知识图谱
在 builder 目录执行 indexer.py 构建知识图谱。
cd builder && python indexer.py && cd ..
Step 6:执行 QA 任务
在 solver 目录执行 evaFor2wiki.py 生成答案并计算 EM 和 F1 指标。
cd solver && python evaFor2wiki.py && cd ..
生成的答案被保存至 ./solver/2wiki_res_*.json
.
计算出的 EM 和 F1 指标被保存至 ./solver/2wiki_metrics_*.json
.
Step 7:(可选)清理
若要删除 checkpoint,可执行以下命令。
rm -rf ./builder/ckpt
rm -rf ./solver/ckpt
若要删除 KAG 项目及关联的知识图谱,可执行以下类似命令,将 OpenSPG server 地址和 KAG 项目 id 换为实际的值。
curl http://127.0.0.1:8887/project/api/delete?projectId=1
Step 8:(可选)尝试更大的数据集
从 Step 1 重新开始,修改 indexer.py 和 evaFor2wiki.py 以尝试更大的数据集。