[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-RManLuo--reasoning-on-graphs":3,"tool-RManLuo--reasoning-on-graphs":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160015,2,"2026-04-18T11:30:52",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":90,"forks":91,"last_commit_at":92,"license":93,"difficulty_score":10,"env_os":94,"env_gpu":95,"env_ram":94,"env_deps":96,"category_tags":102,"github_topics":103,"view_count":32,"oss_zip_url":78,"oss_zip_packed_at":78,"status":17,"created_at":110,"updated_at":111,"faqs":112,"releases":141},9221,"RManLuo\u002Freasoning-on-graphs","reasoning-on-graphs","Official Implementation of ICLR 2024 paper: \"Reasoning on Graphs: Faithful and Interpretable Large Language Model Reasoning\"","Reasoning on Graphs（RoG）是一款将大型语言模型（LLM）与知识图谱（KG）深度融合的开源框架，旨在实现既忠实又可解释的逻辑推理。它主要解决了传统大模型在复杂推理任务中容易产生“幻觉”、事实依据不足以及决策过程不透明的问题。\n\nRoG 创新性地提出了“规划 - 检索 - 推理”三步走策略：首先利用模型生成基于知识图谱的关系路径作为严谨的“规划蓝图”；随后依据该蓝图从图谱中检索出有效的推理路径；最后引导大模型基于这些确凿的事实路径进行推导并输出结果。这种机制确保了模型的每一个结论都有据可查，极大地提升了推理的可信度。\n\n该工具特别适合人工智能研究人员、算法工程师以及对可解释性 AI 有较高需求的开发者使用。其独特的技术亮点在于支持“即插即用”模式，用户不仅可以运行预训练的 RoG 模型，还能灵活接入 Llama2、ChatGPT 等不同的大模型进行推理测试。此外，项目提供了完整的训练与推理代码及数据集，方便用户在问答预测等场景中进行二次开发或学术研究，是探索神经符号结合与可信 AI 方向的有力工具。","# Reasoning on Graphs (RoG)\nOfficial Implementation of \"[Reasoning on Graphs: Faithful and Interpretable Large Language Model Reasoning](https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.01061)\".\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRManLuo_reasoning-on-graphs_readme_a0f42c43cecc.png\" width = \"800\" \u002F>\n\nReasoning on graphs (RoG) synergizes LLMs with KGs to enable faithful and interpretable reasoning. We present a planning-retrieval-reasoning framework, where RoG first generates relation paths grounded by KGs as faithful plans. These plans are then used to retrieve valid reasoning paths from the KGs for LLMs to conduct faithful reasoning and generate interpretable results.\n\n## News 🎉\n* Check our the first graph foundation model-powered RAG pipeline ([GFM-RAG](https:\u002F\u002Fgithub.com\u002FRManLuo\u002Fgfm-rag)) that combines the power of GNNs+KGs with LLMs to enhance reasoning. [Paper](https:\u002F\u002Fwww.arxiv.org\u002Fabs\u002F2502.01113)\n* Check out our latest work on KG + LLM reasoning: [Graph-constrained Reasoning](https:\u002F\u002Fgithub.com\u002FRManLuo\u002Fgraph-constrained-reasoning) \n\n## Requirements\n```\npip install -r requirements.txt\n```\n\n## Pre-trained weights\n\n> Our code will automatically download the model weight from the huggingface.\n\nYou can find the pre-trained weights [here](https:\u002F\u002Fhuggingface.co\u002Frmanluo\u002FRoG).\n\n## Datasets\n\n> Our code will automatically download the data from the huggingface.\n\n[RoG-WebQSP](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Frmanluo\u002FRoG-webqsp)   \n[RoG-CWQ](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Frmanluo\u002FRoG-cwq)\n\u003Cdetails> \u003Csummary>Subgraph Extraction\u003C\u002Fsummary>\n\nWe extract the subgraphs from the Freebase following previous studies. The code can be found [here](https:\u002F\u002Fgithub.com\u002FRichardHGL\u002FWSDM2021_NSM\u002Ftree\u002Fmain\u002Fpreprocessing\u002FFreebase).   \n\u003C\u002Fdetails>\n\n## Inference\nRequirements: Any GPU with at least 12GB memory.\n### Step1: Planning (Generate relation paths)\n\nRun: `.\u002Fscripts\u002Fplanning.sh`\n\n```bash\npython src\u002Fqa_prediction\u002Fgen_rule_path.py \\\n        --model_name RoG \\\n        --model_path rmanluo\u002FRoG \\\n        -d {RoG-webqsp,RoG-cwq} \\\n        --split test \\\n        --n_beam 3\n```\n\nGenerated rules will be saved at: `results\u002Fgen_rule_path\u002F{dataset}\u002F{model_name}\u002F{split}`\n\n### Step2: Reasoning (Generate answers with RoG)\n\nRun: `.\u002Fscripts\u002Frog-reasoning.sh`\n\n```bash\npython src\u002Fqa_prediction\u002Fpredict_answer.py \\\n        --model_name RoG \\\n        --model_path rmanluo\u002FRoG \\\n        -d {RoG-webqsp,RoG-cwq} \\\n        --prompt_path prompts\u002Fllama2_predict.txt \\\n        --add_rul \\\n        --rule_path {rule_path} \\\n```\n\nAnswers will be saved at: `results\u002FKGQA\u002F{dataset}\u002F{model_name}\u002F{split}`\n\n### Plug-and-play Reasoning (Generate answers with different LLMs)\n>\n> Note: you need to set your openai key at `.env` to use ChatGPT.\n\nRun: `.\u002Fscripts\u002Fplug-and-play.sh`\n\n```bash\npython src\u002Fqa_prediction\u002Fpredict_answer.py \\\n        --model_name {gpt-3.5-turbo,alpaca,llama2-chat-hf,flan-t5} \\\n        -d {RoG-webqsp,RoG-cwq} \\\n        --prompt_path {prompt_path} \\\n        --add_rule \\\n        --rule_path {rule_path}\n```\n### Interpretable Reasoning\nRun: `python scripts\u002Finterpretable_example.py`\n\n```python\nfrom transformers import pipeline, AutoTokenizer\nimport torch\n\nMODEL_PATH_OR_NAME=\"rmanluo\u002FRoG\"\n\ntokenizer = AutoTokenizer.from_pretrained(MODEL_PATH_OR_NAME, use_fast=False)\nmodel = pipeline(\"text-generation\", model=MODEL_PATH_OR_NAME, tokenizer=tokenizer, device_map=\"auto\", torch_dtype=torch.float16)\n\nprint(\"====EXAMPLE 1: ====\")\n\nINPUT_TEXT_1 = \"\"\"Based on the reasoning paths, please answer the given question and explain why \n\nReasoning Paths: \nNorthern District -> location.administrative_division.first_level_division_of -> Israel -> government.form_of_government.countries -> Parliamentary system\n\nQuestion: \nWhat type of government is used in the country with Northern District?\"\"\"\n\noutputs = model(INPUT_TEXT_1, return_full_text=False)\nprint(outputs[0]['generated_text'])\n```\n\n## Training\n\n### Training Datasets\nYou can download the processed datasets from [RoG_train_data.tar.tz](datasets\u002FRoG_train_data.tar.tz). Unzip the files and put them under `datasets\u002F` folder.\n\u003Cdetails> \u003Csummary>Process datasets\u003C\u002Fsummary>\n\n1. Build question to relation path pairs.\n\n```bash\npython src\u002Falign_kg\u002Fbuild_align_qa_dataset.py -d {RoG-webqsp,RoG-cwq} --split {train,validation,test}\n```\n2. Build joint-training datasets.\n\n```bash\npython src\u002Fjoint_training\u002Fpreprocess_align.py\npython src\u002Fjoint_training\u002Fpreprocess_qa.py\n```\n\n3. Build interpretable examples.\n```bash\npython src\u002Fjoint_training\u002Fgenerate_explanation_results.py\n```\n\n\u003C\u002Fdetails>\n\n### Training RoG\n2 A100-80GB GPUs are required for training RoG.\n\nRun: `.\u002Fscripts\u002Ftrain.sh`\n\n## Results\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRManLuo_reasoning-on-graphs_readme_4247e67ce77f.png\" width = \"600\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRManLuo_reasoning-on-graphs_readme_42cfebd71eb9.png\" width = \"600\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRManLuo_reasoning-on-graphs_readme_437de298394f.png\" width = \"600\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRManLuo_reasoning-on-graphs_readme_88fd7fafc280.png\" width = \"600\" \u002F>\n\n## Bibinfo\nIf you found this repo helpful, please help us by citing this paper:\n```\n@inproceedings{luo2024rog,\ntitle={Reasoning on Graphs: Faithful and Interpretable Large Language Model Reasoning},\nauthor={Luo, Linhao and Li, Yuan-Fang and Haffari, Gholamreza and Pan, Shirui},\nbooktitle={International Conference on Learning Representations},\n  year={2024}\n}\n```\n","# 图上推理 (RoG)\n“图上推理：忠实且可解释的大语言模型推理”（[arxiv.org\u002Fabs\u002F2310.01061](https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.01061)）的官方实现。\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRManLuo_reasoning-on-graphs_readme_a0f42c43cecc.png\" width = \"800\" \u002F>\n\n图上推理 (RoG) 将大语言模型与知识图谱相结合，实现忠实且可解释的推理。我们提出了一种规划-检索-推理框架：首先，RoG基于知识图谱生成具有事实依据的关系路径作为忠实的规划；随后，这些规划被用于从知识图谱中检索有效的推理路径，供大语言模型进行忠实推理并生成可解释的结果。\n\n## 新闻 🎉\n* 请查看首个由图基础模型驱动的 RAG 流水线 ([GFM-RAG](https:\u002F\u002Fgithub.com\u002FRManLuo\u002Fgfm-rag))，它结合了 GNN 和知识图谱的强大能力与大语言模型，以增强推理性能。[论文](https:\u002F\u002Fwww.arxiv.org\u002Fabs\u002F2502.01113)\n* 欢迎了解我们在知识图谱与大语言模型推理方面的最新工作：[图约束推理](https:\u002F\u002Fgithub.com\u002FRManLuo\u002Fgraph-constrained-reasoning)\n\n## 环境要求\n```\npip install -r requirements.txt\n```\n\n## 预训练权重\n\n> 我们的代码会自动从 Hugging Face 下载模型权重。\n\n您可以在 [这里](https:\u002F\u002Fhuggingface.co\u002Frmanluo\u002FRoG) 找到预训练权重。\n\n## 数据集\n\n> 我们的代码会自动从 Hugging Face 下载数据。\n\n[RoG-WebQSP](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Frmanluo\u002FRoG-webqsp)   \n[RoG-CWQ](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Frmanluo\u002FRoG-cwq)\n\u003Cdetails> \u003Csummary>子图提取\u003C\u002Fsummary>\n\n我们按照先前的研究从 Freebase 中提取子图。相关代码可在 [这里](https:\u002F\u002Fgithub.com\u002FRichardHGL\u002FWSDM2021_NSM\u002Ftree\u002Fmain\u002Fpreprocessing\u002FFreebase) 找到。   \n\u003C\u002Fdetails>\n\n## 推理\n硬件要求：任何至少拥有 12GB 显存的 GPU。\n### 步骤1：规划（生成关系路径）\n\n运行：`.\u002Fscripts\u002Fplanning.sh`\n\n```bash\npython src\u002Fqa_prediction\u002Fgen_rule_path.py \\\n        --model_name RoG \\\n        --model_path rmanluo\u002FRoG \\\n        -d {RoG-webqsp,RoG-cwq} \\\n        --split test \\\n        --n_beam 3\n```\n\n生成的规则将保存至：`results\u002Fgen_rule_path\u002F{dataset}\u002F{model_name}\u002F{split}`\n\n### 步骤2：推理（使用 RoG 生成答案）\n\n运行：`.\u002Fscripts\u002Frog-reasoning.sh`\n\n```bash\npython src\u002Fqa_prediction\u002Fpredict_answer.py \\\n        --model_name RoG \\\n        --model_path rmanluo\u002FRoG \\\n        -d {RoG-webqsp,RoG-cwq} \\\n        --prompt_path prompts\u002Fllama2_predict.txt \\\n        --add_rul \\\n        --rule_path {rule_path}\n```\n\n答案将保存至：`results\u002FKGQA\u002F{dataset}\u002F{model_name}\u002F{split}`\n\n### 即插即用式推理（使用不同大语言模型生成答案）\n>\n> 注意：需在 `.env` 文件中设置您的 OpenAI API 密钥，才能使用 ChatGPT。\n\n运行：`.\u002Fscripts\u002Fplug-and-play.sh`\n\n```bash\npython src\u002Fqa_prediction\u002Fpredict_answer.py \\\n        --model_name {gpt-3.5-turbo,alpaca,llama2-chat-hf,flan-t5} \\\n        -d {RoG-webqsp,RoG-cwq} \\\n        --prompt_path {prompt_path} \\\n        --add_rule \\\n        --rule_path {rule_path}\n```\n\n### 可解释性推理\n\n运行：`python scripts\u002Finterpretable_example.py`\n\n```python\nfrom transformers import pipeline, AutoTokenizer\nimport torch\n\nMODEL_PATH_OR_NAME=\"rmanluo\u002FRoG\"\n\ntokenizer = AutoTokenizer.from_pretrained(MODEL_PATH_OR_NAME, use_fast=False)\nmodel = pipeline(\"text-generation\", model=MODEL_PATH_OR_NAME, tokenizer=tokenizer, device_map=\"auto\", torch_dtype=torch.float16)\n\nprint(\"====EXAMPLE 1: ====\")\n\nINPUT_TEXT_1 = \"\"\"根据推理路径，请回答给定的问题，并说明理由。\n\n推理路径：\n北区 -> location.administrative_division.first_level_division_of -> 以色列 -> government.form_of_government.countries -> 议会制\n\n问题：\n北区所在的国家采用哪种政体？\"\"\"\n\noutputs = model(INPUT_TEXT_1, return_full_text=False)\nprint(outputs[0]['generated_text'])\n```\n\n## 训练\n\n### 训练数据集\n您可以从 [RoG_train_data.tar.tz](datasets\u002FRoG_train_data.tar.tz) 下载处理好的数据集。解压文件后将其放入 `datasets\u002F` 文件夹中。\n\u003Cdetails> \u003Csummary>数据集处理\u003C\u002Fsummary>\n\n1. 构建问题到关系路径的对应关系。\n\n```bash\npython src\u002Falign_kg\u002Fbuild_align_qa_dataset.py -d {RoG-webqsp,RoG-cwq} --split {train,validation,test}\n```\n2. 构建联合训练数据集。\n\n```bash\npython src\u002Fjoint_training\u002Fpreprocess_align.py\npython src\u002Fjoint_training\u002Fpreprocess_qa.py\n```\n\n3. 构建可解释的示例。\n\n```bash\npython src\u002Fjoint_training\u002Fgenerate_explanation_results.py\n```\n\n\u003C\u002Fdetails>\n\n### 训练 RoG\n训练 RoG 需要 2 张 A100-80GB 的 GPU。\n\n运行：`.\u002Fscripts\u002Ftrain.sh`\n\n## 结果\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRManLuo_reasoning-on-graphs_readme_4247e67ce77f.png\" width = \"600\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRManLuo_reasoning-on-graphs_readme_42cfebd71eb9.png\" width = \"600\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRManLuo_reasoning-on-graphs_readme_88fd7fafc280.png\" width = \"600\" \u002F>\n\n## 参考文献\n如果您觉得本仓库有所帮助，请通过引用以下论文支持我们：\n```\n@inproceedings{luo2024rog,\ntitle={Reasoning on Graphs: Faithful and Interpretable Large Language Model Reasoning},\nauthor={Luo, Linhao and Li, Yuan-Fang and Haffari, Gholamreza and Pan, Shirui},\nbooktitle={International Conference on Learning Representations},\n  year={2024}\n}\n```","# Reasoning on Graphs (RoG) 快速上手指南\n\nReasoning on Graphs (RoG) 是一个将大语言模型（LLM）与知识图谱（KG）相结合的工具，旨在实现忠实且可解释的推理。它通过“规划 - 检索 - 推理”框架，首先生成基于知识图谱的关系路径作为规划，然后检索有效的推理路径供 LLM 进行推理并生成结果。\n\n## 环境准备\n\n### 系统要求\n- **GPU**: 推理至少需要显存 **12GB** 的 GPU；训练则需要 2 张 **A100-80GB** GPU。\n- **Python**: 建议使用 Python 3.8 或更高版本。\n- **操作系统**: Linux 推荐（Windows 可能需要额外配置）。\n\n### 前置依赖\n确保已安装 `pip` 和 `git`。若需加速下载模型和数据，建议配置 Hugging Face 镜像源（可选）：\n```bash\nexport HF_ENDPOINT=https:\u002F\u002Fhf-mirror.com\n```\n\n## 安装步骤\n\n1. 克隆仓库（如果尚未克隆）：\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002FRManLuo\u002Freasoning-on-graphs.git\n   cd reasoning-on-graphs\n   ```\n\n2. 安装 Python 依赖：\n   ```bash\n   pip install -r requirements.txt\n   ```\n   > 注：代码运行时会自动从 Hugging Face 下载预训练权重和数据集，无需手动下载。\n\n## 基本使用\n\n以下是最简单的推理流程示例，包含“规划”和“推理”两个核心步骤。\n\n### 第一步：规划（生成关系路径）\n此步骤生成基于知识图谱的忠实规划路径。以 `RoG-webqsp` 数据集为例：\n\n```bash\npython src\u002Fqa_prediction\u002Fgen_rule_path.py \\\n        --model_name RoG \\\n        --model_path rmanluo\u002FRoG \\\n        -d RoG-webqsp \\\n        --split test \\\n        --n_beam 3\n```\n生成的规则将保存在：`results\u002Fgen_rule_path\u002FRoG-webqsp\u002FRoG\u002Ftest`\n\n### 第二步：推理（生成答案）\n利用上一步生成的规则路径进行问答推理：\n\n```bash\npython src\u002Fqa_prediction\u002Fpredict_answer.py \\\n        --model_name RoG \\\n        --model_path rmanluo\u002FRoG \\\n        -d RoG-webqsp \\\n        --prompt_path prompts\u002Fllama2_predict.txt \\\n        --add_rul \\\n        --rule_path results\u002Fgen_rule_path\u002FRoG-webqsp\u002FRoG\u002Ftest\n```\n生成的答案将保存在：`results\u002FKGQA\u002FRoG-webqsp\u002FRoG\u002Ftest`\n\n### 进阶：可解释性推理示例\n你可以直接使用 Python 代码测试单个样本的可解释性推理过程：\n\n```python\nfrom transformers import pipeline, AutoTokenizer\nimport torch\n\nMODEL_PATH_OR_NAME=\"rmanluo\u002FRoG\"\n\ntokenizer = AutoTokenizer.from_pretrained(MODEL_PATH_OR_NAME, use_fast=False)\nmodel = pipeline(\"text-generation\", model=MODEL_PATH_OR_NAME, tokenizer=tokenizer, device_map=\"auto\", torch_dtype=torch.float16)\n\nINPUT_TEXT_1 = \"\"\"Based on the reasoning paths, please answer the given question and explain why \n\nReasoning Paths: \nNorthern District -> location.administrative_division.first_level_division_of -> Israel -> government.form_of_government.countries -> Parliamentary system\n\nQuestion: \nWhat type of government is used in the country with Northern District?\"\"\"\n\noutputs = model(INPUT_TEXT_1, return_full_text=False)\nprint(outputs[0]['generated_text'])\n```","某金融风控团队需要利用内部庞大的企业关联知识图谱，自动回答关于“某公司最终受益人是谁”或“是否存在隐蔽担保链”等复杂查询问题。\n\n### 没有 reasoning-on-graphs 时\n- **幻觉严重**：大模型仅凭训练记忆作答，常编造不存在的股权关系或担保路径，导致风控结论完全不可信。\n- **黑盒决策**：模型直接输出答案，无法提供推导过程，合规部门无法追溯判断依据，难以通过审计。\n- **逻辑断裂**：面对多跳推理问题（如 A 控股 B，B 投资 C），模型容易在中间步骤迷失，无法准确串联长链条关系。\n- **更新滞后**：知识图谱中的最新变更无法实时被模型利用，必须重新微调模型才能反映最新数据。\n\n### 使用 reasoning-on-graphs 后\n- **事实锚定**：reasoning-on-graphs 先基于知识图谱生成确切的“关系路径规划”，强制模型仅在检索到的真实路径上进行推理，彻底消除幻觉。\n- **过程透明**：系统会输出完整的推理路径（如：公司 A -> 持股 -> 公司 B -> 担保 -> 个人 C），每一步都有图谱数据支撑，满足可解释性要求。\n- **精准多跳**：通过“规划 - 检索 - 推理”框架，模型能精准执行复杂的多步查询，准确梳理出隐蔽的深层关联网络。\n- **动态适配**：无需重新训练模型，只要底层知识图谱更新，reasoning-on-graphs 即可立即基于新数据生成正确的推理路径。\n\nreasoning-on-graphs 通过将大模型的推理能力严格约束在知识图谱的事实路径上，实现了既精准可信又全程可追溯的专业级推理。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRManLuo_reasoning-on-graphs_f49f0971.png","RManLuo","Linhao Luo","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FRManLuo_344dd426.jpg","Research Fellow at Monash University | AI, LLM, Graph, Agent","Monash University","Melbourne",null,"https:\u002F\u002Frmanluo.github.io\u002F","https:\u002F\u002Fgithub.com\u002FRManLuo",[82,86],{"name":83,"color":84,"percentage":85},"Python","#3572A5",96.3,{"name":87,"color":88,"percentage":89},"Shell","#89e051",3.7,512,60,"2026-04-15T13:44:54","MIT","未说明","推理：必需，任何显存至少 12GB 的 GPU；训练：必需，2 张 NVIDIA A100 (80GB)",{"notes":97,"python":94,"dependencies":98},"代码会自动从 Hugging Face 下载预训练模型权重和数据集。推理阶段需至少 12GB 显存，训练阶段需 2 张 80GB 显存的 A100 GPU。若使用 ChatGPT 进行即插即用推理，需在 .env 文件中配置 OpenAI API Key。子图提取代码引用了外部仓库。",[99,100,101],"transformers","torch","datasets (Hugging Face)",[14,35,16],[104,105,106,107,108,109],"kg","knowledge","large-language-models","llm","reasoning","reasoning-on-graph","2026-03-27T02:49:30.150509","2026-04-19T03:03:16.230439",[113,118,122,127,132,137],{"id":114,"question_zh":115,"answer_zh":116,"source_url":117},41392,"如何获取或提取用于推理的子图（Subgraph）数据？","项目中关于提取子图的逻辑参考了 NSM 项目的实现。你可以查看该仓库中的预处理代码来获取具体方法：https:\u002F\u002Fgithub.com\u002FRichardHGL\u002FWSDM2021_NSM\u002Ftree\u002Fmain\u002Fpreprocessing\u002FFreebase。这通常涉及从 Freebase 等原始知识图谱中根据实体检索相关的邻接节点和边。","https:\u002F\u002Fgithub.com\u002FRManLuo\u002Freasoning-on-graphs\u002Fissues\u002F5",{"id":119,"question_zh":120,"answer_zh":121,"source_url":117},41393,"在“规划”之后的“检索”阶段，代码中使用的 'graph' 列具体指代什么数据？","在检索阶段使用的 'graph' 列通常指的是经过预处理提取出的局部子图数据。这些数据包含了与当前问题实体相关的候选关系路径和邻居节点信息，用于限制大模型的搜索空间并提高推理的准确性。具体的数据结构定义可以在数据集加载后的字段说明或预处理脚本中找到。",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},41388,"在规划优化（Planning Optimization）过程中，是否直接使用了知识图谱（KG）？还是仅通过提示词让大模型生成关系路径？","在该工作中，并没有直接将知识图谱中的关系路径作为提示词输入给大语言模型（LLM）。而是通过“规划优化”过程，将知识图谱中的知识蒸馏到模型中。虽然代码中似乎结合了子图（subgraph）和提示词（prompt），但其核心机制是通过优化目标从 KG 中提取知识来指导路径生成，而非简单地在提示词中罗列 KG 数据。","https:\u002F\u002Fgithub.com\u002FRManLuo\u002Freasoning-on-graphs\u002Fissues\u002F7",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},41389,"数据集应该放在什么位置？运行脚本时提示找不到数据文件（FileNotFoundError）怎么办？","建议不要手动下载文件到杂乱目录，而是让 Hugging Face 库自动处理下载和数据加载过程。如果必须指定路径，请确保使用 `--data_path` 和 `-d` 参数指向正确的子文件夹。如果遇到网络问题（如学校服务器无法连接 VPN），可以考虑使用 Hugging Face 的镜像站（如 hf-mirror.com）来加速或完成下载。","https:\u002F\u002Fgithub.com\u002FRManLuo\u002Freasoning-on-graphs\u002Fissues\u002F9",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},41390,"运行预处理脚本或生成解释结果时遇到数据集加载错误或版本警告如何解决？","维护者已更新代码以兼容 Hugging Face datasets 库的最新变化。如果遇到此类错误，请拉取最新的代码版本（commit 418cd4bc066e8a37e07f360349a8feb0ff920229 之后），代码已调整为直接使用 Hugging Face 上的数据集，无需手动处理复杂的本地文件路径。","https:\u002F\u002Fgithub.com\u002FRManLuo\u002Freasoning-on-graphs\u002Fissues\u002F12",{"id":138,"question_zh":139,"answer_zh":140,"source_url":117},41391,"运行 gen_rule_path.py 进行规划推理时，加载数据集报错（如 Arrow schema 错误或下载失败）如何处理？","这类错误通常是由于本地缓存的数据集文件损坏或版本不匹配导致的。解决方法是清除 Hugging Face 的本地缓存目录（通常位于 `~\u002F.cache\u002Fhuggingface\u002Fdatasets\u002F` 下对应的数据集文件夹），然后重新运行脚本，让程序重新下载并准备数据集。确保网络连接正常或使用镜像源。",[]]