KAG/kag/examples/2wiki/README_cn.md

2.4 KiB
Raw Blame History

KAG 示例TwoWiki

English | 简体中文

2WikiMultiHopQA 是一个用于对推理步骤进行全面评估的多跳问答数据集。KAGHippoRAG 用它评估多跳问答的性能。

本例我们展示为 2WikiMultiHopQA 数据集构建知识图谱,然后用 KAG 为评估问题生成答案,并与标准答案对比计算 EM 和 F1 指标。

1. 前置条件

参考文档 快速开始 安装 KAG 及其依赖的 OpenSPG server了解开发者模式 KAG 的使用流程。

2. 复现步骤

Step 1进入示例目录

cd kag/examples/2wiki

Step 2配置模型

更新 kag_config.yaml 中的生成模型配置 openie_llmchat_llm 和表示模型配置 vectorize_model

您需要设置正确的 api_key。如果使用的模型供应商和模型名与默认值不同,您还需要更新 base_urlmodel

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.pyevaFor2wiki.py 以尝试更大的数据集。