[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-hhy-huang--HiRAG":3,"tool-hhy-huang--HiRAG":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},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,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},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 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":81,"owner_website":81,"owner_url":82,"languages":83,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":23,"env_os":92,"env_gpu":93,"env_ram":92,"env_deps":94,"category_tags":99,"github_topics":100,"view_count":23,"oss_zip_url":81,"oss_zip_packed_at":81,"status":16,"created_at":107,"updated_at":108,"faqs":109,"releases":149},2156,"hhy-huang\u002FHiRAG","HiRAG","[EMNLP'25 findings] This is the official repo for the paper, HiRAG: Retrieval-Augmented Generation with Hierarchical Knowledge.","HiRAG 是一款专为提升大模型回答准确性而设计的开源检索增强生成（RAG）框架，其核心创新在于引入了“分层知识”机制。传统 RAG 方法在处理复杂问题时，往往难以兼顾宏观背景与微观细节，导致检索内容碎片化或丢失关键逻辑关联。HiRAG 通过构建层级化的知识图谱，将信息划分为全局、局部及连接不同层级的“桥梁”知识，使模型在检索时能像人类一样先把握整体脉络，再精准定位细节，从而显著提升了回答的逻辑连贯性与事实准确度。\n\n该项目已被 EMNLP 2025 Findings 收录，特别适合人工智能研究人员、算法工程师及希望深入优化知识库问答系统的开发者使用。用户不仅可以复现论文中的先进实验，还能灵活接入 DeepSeek、ChatGLM、OpenAI 等多种主流大模型 API。HiRAG 提供了完整的工具链，涵盖从数据索引、分层检索策略配置到自动化评估的全流程，并支持多种变体模式（如仅检索全局或局部知识），方便用户针对不同场景进行对比测试与调优。如果你正在探索如何让 AI 更聪明地利用长文档或复杂领域知识，HiRAG 提供了一个结构清晰且易于扩展的解决方案。","\u003Cdiv align=\"center\">\n\n# 🤗 HiRAG: Retrieval-Augmented Generation with Hierarchical Knowledge\n\n\u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fhhy-huang_HiRAG_readme_a9e035031c45.jpg\" width=\"20%\" style=\"max-width: 80;\">\n\u003C\u002Fp>\n\n[\u003Cimg align=\"center\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2503.10150 HiRAG -b31b1b\" \u002F>](https:\u002F\u002Farxiv.org\u002Fabs\u002F2503.10150)\n[\u003Cimg align=\"center\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDataset-TommyChien\u002FUltraDomain -yellow\" \u002F>](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FTommyChien\u002FUltraDomain)\n[\u003Cimg align=\"center\" src=\"https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg\" \u002F>](https:\u002F\u002Fdeepwiki.com\u002Fhhy-huang\u002FHiRAG)\n\n\u003C\u002Fdiv>\n\n\n\n- This is the repo for the paper [HiRAG: Retrieval-Augmented Generation with Hierarchical Knowledge](https:\u002F\u002Farxiv.org\u002Fabs\u002F2503.10150).\n- **Accepted to [EMNLP 2025](https:\u002F\u002F2025.emnlp.org\u002F) Findings!🎉**\n\n## Model Pipeline\n\n![image-20240129111934589](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fhhy-huang_HiRAG_readme_9d80ed826dae.png)\n\n## Install\n\n```bash\n# remember clone this repo first\ncd HiRAG\npip install -e .\n```\n\n## Quick Start\n\nYou can just utilize the following code to perform a query with HiRAG.\n\n```python\ngraph_func = HiRAG(\n    working_dir=\".\u002Fyour_work_dir\",\n    enable_llm_cache=True,\n    enable_hierachical_mode=True, \n    embedding_batch_num=6,\n    embedding_func_max_async=8, # according to your machine\n    enable_naive_rag=True\n    )\n# indexing\nwith open(\"path_to_your_context.txt\", \"r\") as f:\n    graph_func.insert(f.read())\n# retrieval & generation\nprint(\"Perform hi search:\")\nprint(graph_func.query(\"The question you want to ask?\", param=QueryParam(mode=\"hi\")))\n```\n\nOr if you want to employ HiRAG with DeepSeek, ChatGLM, or other third-party retrieval api, here are the examples in `.\u002Fhi_Search_deepseek.py`, `.\u002Fhi_Search_glm.py`, and `.\u002Fhi_Search_openai.py`. The API keys and the LLM configurations can be set at `.\u002Fconfig.yaml`.\n\n\n## Evaluation\n\nWe take the procedure in Mix dataset as an example.\n\n```shell\ncd .\u002FHiRAG\u002Feval\n```\n\n1. Extract context from original QA datasets.\n```shell\npython extract_context.py -i .\u002Fdatasets\u002Fmix -o .\u002Fdatasets\u002Fmix\n```\n\n2. Insert context to Graph Database.\n```shell\npython insert_context_deepseek.py\n```\n\nNote that the script `insert_context_deepseek.py` is for the setting of generation with DeepSeek-v3 api, you can replace that with `insert_context_openai.py` or `insert_context_glm.py`.\n\n3. Test with different versions of HiRAG.\n```shell\n# there are different retrieval options\n# If you want to employ HiRAG approach, just run:\npython test_deepseek.py -d mix -m hi\n# If you want to employ naive RAG approach, just run:\npython test_deepseek.py -d mix -m naive\n# If you want to employ HiRAG approach w\u002Fo bridge, just run:\npython test_deepseek.py -d mix -m hi_nobridge\n# If you want to employ HiRAG approach with retrieving only local knowledge, just run:\npython test_deepseek.py -d mix -m hi_local\n# If you want to employ HiRAG approach with retrieving only global knowledge, just run:\npython test_deepseek.py -d mix -m hi_global\n# If you want to employ HiRAG approach with retrieving only bridge knowledge, just run:\npython test_deepseek.py -d mix -m hi_bridge\n```\n\nNote that the dataset `mix` can be replaced to any other datasets in [Hugging Face link](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FTommyChien\u002FUltraDomain\u002Ftree\u002Fmain). And the script `test_deepseek.py` is for the setting of generation with DeepSeek-v3 api, you can replace that with `test_openai.py` or `test_glm.py`.\n\n4. Evaluate the generated answers.\n\nFirst step, request for evaluations.\n```shell\npython batch_eval.py -m request -api openai\npython batch_eval.py -m request -api deepseek\n```\n\nSecond step, get the results.\n```shell\npython batch_eval.py -m result -api openai\npython batch_eval.py -m result -api deepseek\n```\n\n## Results\n\n### Compare with Naive RAG:\n\nWith the config `output_file` set as `f\".\u002Fdatasets\u002F{DATASET}\u002F{DATASET}_eval_hi_naive.jsonl\"`, just run the command:\n```\npython batch_eval.py -m result -api openai\n```\n\n| Dataset |  Dimension  | NaiveRAG % | HiRAG % |\n|----------:|:--------:|--------------:|----------------:|\n|         Mix||||\n|           |Comprehensiveness|           16.6|             **83.4**|\n|           |Empowerment|           11.6|             **88.4**|\n|           |Diversity|           12.7|             **87.3**|\n|           |Overall|           12.4|             **87.6**|\n|        CS||||\n|           |Comprehensiveness|           30.0|             **70.0**|\n|           |Empowerment|           29.0|             **71.0**|\n|           |Diversity|           14.5|             **85.5**|\n|           |Overall|           26.5|             **73.5**|\n|        Legal||||\n|           |Comprehensiveness|           32.5|             **67.5**|\n|           |Empowerment|           25.0|             **75.0**|\n|           |Diversity|           22.0|             **78.0**|\n|           |Overall|           22.5|             **74.5**|\n|        Agriculture||||\n|           |Comprehensiveness|           34.0|             **66.0**|\n|           |Empowerment|           31.0|             **69.0**|\n|           |Diversity|           21.0|             **79.0**|\n|           |Overall|           28.5|             **71.5**|\n\n\n### Compare with GraphRAG:\n\nWith the config `output_file` set as `f\".\u002Fdatasets\u002F{DATASET}\u002F{DATASET}_eval_hi_graphrag.jsonl\"`, just run the command:\n```\npython batch_eval.py -m result -api openai\n```\n\n| Dataset |  Dimension  | GraphRAG % | HiRAG % |\n|----------:|:--------:|--------------:|----------------:|\n|         Mix||||\n|           |Comprehensiveness|           42.1|             **57.9**|\n|           |Empowerment|           35.1|             **64.9**|\n|           |Diversity|           40.5|             **59.5**|\n|           |Overall|           35.9|             **64.1**|\n|        CS||||\n|           |Comprehensiveness|           40.5|             **59.5**|\n|           |Empowerment|           38.5|             **61.5**|\n|           |Diversity|           30.5|             **69.5**|\n|           |Overall|           36.0|             **64.0**|\n|        Legal||||\n|           |Comprehensiveness|           48.5|             **51.5**|\n|           |Empowerment|           43.5|             **56.5**|\n|           |Diversity|           47.0|             **53.0**|\n|           |Overall|           45.5|             **54.5**|\n|        Agriculture||||\n|           |Comprehensiveness|           49.0|             **51.0**|\n|           |Empowerment|           48.5|             **51.5**|\n|           |Diversity|           45.5|             **54.5**|\n|           |Overall|           46.0|             **54.0**|\n\n### Compare with LightRAG:\n\nWith the config `output_file` set as `f\".\u002Fdatasets\u002F{DATASET}\u002F{DATASET}_eval_hi_lightrag.jsonl\"`, just run the command:\n```\npython batch_eval.py -m result -api openai\n```\n\n| Dataset |  Dimension  | LightRAG % | HiRAG % |\n|----------:|:--------:|--------------:|----------------:|\n|         Mix||||\n|           |Comprehensiveness|           36.8|             **63.2**|\n|           |Empowerment|           34.9|             **65.1**|\n|           |Diversity|           34.1|             **65.9**|\n|           |Overall|           34.1|             **65.9**|\n|        CS||||\n|           |Comprehensiveness|           44.5|             **55.5**|\n|           |Empowerment|           41.5|             **58.5**|\n|           |Diversity|           33.0|             **67.0**|\n|           |Overall|           41.0|             **59.0**|\n|        Legal||||\n|           |Comprehensiveness|           49.0|             **51.0**|\n|           |Empowerment|           43.5|             **56.5**|\n|           |Diversity|           **63.0**|             37.0|\n|           |Overall|           48.0|             **52.0**|\n|        Agriculture||||\n|           |Comprehensiveness|           38.5|             **61.5**|\n|           |Empowerment|           36.5|             **63.5**|\n|           |Diversity|           37.5|             **62.5**|\n|           |Overall|           38.5|             **61.5**|\n\n### Compare with FastGraphRAG:\n\nWith the config `output_file` set as `f\".\u002Fdatasets\u002F{DATASET}\u002F{DATASET}_eval_hi_fastgraphrag.jsonl\"`, just run the command:\n```\npython batch_eval.py -m result -api openai\n```\n\n| Dataset |  Dimension  | FastGraphRAG % | HiRAG % |\n|----------:|:--------:|--------------:|----------------:|\n|         Mix||||\n|           |Comprehensiveness|           0.8|             **99.2**|\n|           |Empowerment|           0.8|             **99.2**|\n|           |Diversity|           0.8|             **99.2**|\n|           |Overall|           0.8|             **99.2**|\n|        CS||||\n|           |Comprehensiveness|           0.0|             **100.0**|\n|           |Empowerment|           0.0|             **100.0**|\n|           |Diversity|           0.5|             **99.5**|\n|           |Overall|           0.0|             **100.0**|\n|        Legal||||\n|           |Comprehensiveness|           1.0|             **99.0**|\n|           |Empowerment|           0.0|             **100.0**|\n|           |Diversity|              1.5|             **98.5**|\n|           |Overall|           0.0|             **100.0**|\n|        Agriculture||||\n|           |Comprehensiveness|           0.0|             **100.0**|\n|           |Empowerment|           0.0|             **100.0**|\n|           |Diversity|           0.0|             **100.0**|\n|           |Overall|           0.0|             **100.0**|\n\n### Compare with KAG:\n\nWith the config `output_file` set as `f\".\u002Fdatasets\u002F{DATASET}\u002F{DATASET}_eval_hi_kag.jsonl\"`, just run the command:\n```\npython batch_eval.py -m result -api openai\n```\n\n| Dataset |  Dimension  | KAG % | HiRAG % |\n|----------:|:--------:|--------------:|----------------:|\n|         Mix||||\n|           |Comprehensiveness|           2.3|             **97.7**|\n|           |Empowerment|           3.5|             **96.5**|\n|           |Diversity|           3.8|             **96.2**|\n|           |Overall|           2.3|             **97.7**|\n|        CS||||\n|           |Comprehensiveness|           1.0|             **99.0**|\n|           |Empowerment|           4.5|             **95.5**|\n|           |Diversity|           5.0|             **95.0**|\n|           |Overall|           1.5|             **98.5**|\n|        Legal||||\n|           |Comprehensiveness|           16.5|             **83.5**|\n|           |Empowerment|           9.0|             **91.0**|\n|           |Diversity|              11.0|             **89.0**|\n|           |Overall|           8.5|             **91.5**|\n|        Agriculture||||\n|           |Comprehensiveness|           5.0|             **95.0**|\n|           |Empowerment|           5.0|             **95.0**|\n|           |Diversity|           3.5|             **96.5**|\n|           |Overall|           0.0|             **100.0**|\n\n## Acknowledgement\nWe gratefully acknowledge the use of the following open-source projects in our work:\n- [nano-graphrag](https:\u002F\u002Fgithub.com\u002Fgusye1234\u002Fnano-graphrag): a simple, easy-to-hack GraphRAG implementation\n\n- [RAPTOR](https:\u002F\u002Fgithub.com\u002Fparthsarthi03\u002Fraptor): a novel approach to retrieval-augmented language models by constructing a recursive tree structure from documents.\n\n## 💡 Cite Us\n```python\n@article{huang2025retrieval,\n  title={Retrieval-Augmented Generation with Hierarchical Knowledge},\n  author={Huang, Haoyu and Huang, Yongfeng and Yang, Junjie and Pan, Zhenyu and Chen, Yongqiang and Ma, Kaili and Chen, Hongzhi and Cheng, James},\n  journal={arXiv preprint arXiv:2503.10150},\n  year={2025}\n}\n```\n## 🌟 Star History\n\n![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fhhy-huang_HiRAG_readme_964cf751fe41.png)","\u003Cdiv align=\"center\">\n\n# 🤗 HiRAG：基于层次化知识的检索增强生成\n\n\u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fhhy-huang_HiRAG_readme_a9e035031c45.jpg\" width=\"20%\" style=\"max-width: 80;\">\n\u003C\u002Fp>\n\n[\u003Cimg align=\"center\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2503.10150 HiRAG -b31b1b\" \u002F>](https:\u002F\u002Farxiv.org\u002Fabs\u002F2503.10150)\n[\u003Cimg align=\"center\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDataset-TommyChien\u002FUltraDomain -yellow\" \u002F>](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FTommyChien\u002FUltraDomain)\n[\u003Cimg align=\"center\" src=\"https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg\" \u002F>](https:\u002F\u002Fdeepwiki.com\u002Fhhy-huang\u002FHiRAG)\n\n\u003C\u002Fdiv>\n\n\n\n- 这是论文《HiRAG：基于层次化知识的检索增强生成》（https:\u002F\u002Farxiv.org\u002Fabs\u002F2503.10150）的代码仓库。\n- **已被 [EMNLP 2025](https:\u002F\u002F2025.emnlp.org\u002F) 接收！🎉**\n\n## 模型流程\n\n![image-20240129111934589](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fhhy-huang_HiRAG_readme_9d80ed826dae.png)\n\n## 安装\n\n```bash\n# 请先克隆本仓库\ncd HiRAG\npip install -e .\n```\n\n## 快速入门\n\n您只需使用以下代码即可通过 HiRAG 执行查询。\n\n```python\ngraph_func = HiRAG(\n    working_dir=\".\u002Fyour_work_dir\",\n    enable_llm_cache=True,\n    enable_hierachical_mode=True, \n    embedding_batch_num=6,\n    embedding_func_max_async=8, # 根据您的机器配置调整\n    enable_naive_rag=True\n    )\n# 索引构建\nwith open(\"path_to_your_context.txt\", \"r\") as f:\n    graph_func.insert(f.read())\n# 检索与生成\nprint(\"执行 hi 搜索：\")\nprint(graph_func.query(\"您想提出的问题？\", param=QueryParam(mode=\"hi\")))\n```\n\n如果您希望将 HiRAG 与 DeepSeek、ChatGLM 或其他第三方检索 API 集成，可在 `.\u002Fhi_Search_deepseek.py`、`.\u002Fhi_Search_glm.py` 和 `.\u002Fhi_Search_openai.py` 中找到示例。API 密钥和 LLM 配置可设置在 `.\u002Fconfig.yaml` 文件中。\n\n\n## 评估\n\n我们以 Mix 数据集中的流程为例。\n\n```shell\ncd .\u002FHiRAG\u002Feval\n```\n\n1. 从原始 QA 数据集中提取上下文。\n```shell\npython extract_context.py -i .\u002Fdatasets\u002Fmix -o .\u002Fdatasets\u002Fmix\n```\n\n2. 将上下文插入图数据库。\n```shell\npython insert_context_deepseek.py\n```\n\n请注意，`insert_context_deepseek.py` 脚本适用于使用 DeepSeek-v3 API 进行生成的场景，您可以将其替换为 `insert_context_openai.py` 或 `insert_context_glm.py`。\n\n3. 使用不同版本的 HiRAG 进行测试。\n```shell\n# 存在不同的检索选项\n# 如果您想采用 HiRAG 方法，只需运行：\npython test_deepseek.py -d mix -m hi\n# 如果您想采用朴素 RAG 方法，只需运行：\npython test_deepseek.py -d mix -m naive\n# 如果您想采用不使用桥接的 HiRAG 方法，只需运行：\npython test_deepseek.py -d mix -m hi_nobridge\n# 如果您想采用仅检索本地知识的 HiRAG 方法，只需运行：\npython test_deepseek.py -d mix -m hi_local\n# 如果您想采用仅检索全局知识的 HiRAG 方法，只需运行：\npython test_deepseek.py -d mix -m hi_global\n# 如果您想采用仅检索桥接知识的 HiRAG 方法，只需运行：\npython test_deepseek.py -d mix -m hi_bridge\n```\n\n请注意，数据集 `mix` 可替换为 [Hugging Face 链接](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FTommyChien\u002FUltraDomain\u002Ftree\u002Fmain) 中的任何其他数据集。此外，`test_deepseek.py` 脚本适用于使用 DeepSeek-v3 API 进行生成的场景，您可以将其替换为 `test_openai.py` 或 `test_glm.py`。\n\n4. 对生成的答案进行评估。\n\n第一步，请求评估。\n```shell\npython batch_eval.py -m request -api openai\npython batch_eval.py -m request -api deepseek\n```\n\n第二步，获取结果。\n```shell\npython batch_eval.py -m result -api openai\npython batch_eval.py -m result -api deepseek\n```\n\n## 结果\n\n### 与朴素 RAG 对比：\n\n将配置 `output_file` 设置为 `f\".\u002Fdatasets\u002F{DATASET}\u002F{DATASET}_eval_hi_naive.jsonl\"` 后，运行以下命令：\n```\npython batch_eval.py -m result -api openai\n```\n\n| 数据集 | 维度       | 朴素RAG % | HiRAG % |\n|----------:|:--------:|--------------:|----------------:|\n|         Mix||||\n|           |全面性|           16.6|             **83.4**|\n|           |赋能性|           11.6|             **88.4**|\n|           |多样性|           12.7|             **87.3**|\n|           |整体|           12.4|             **87.6**|\n|        CS||||\n|           |全面性|           30.0|             **70.0**|\n|           |赋能性|           29.0|             **71.0**|\n|           |多样性|           14.5|             **85.5**|\n|           |整体|           26.5|             **73.5**|\n|        法律||||\n|           |全面性|           32.5|             **67.5**|\n|           |赋能性|           25.0|             **75.0**|\n|           |多样性|           22.0|             **78.0**|\n|           |整体|           22.5|             **74.5**|\n|        农业||||\n|           |全面性|           34.0|             **66.0**|\n|           |赋能性|           31.0|             **69.0**|\n|           |多样性|           21.0|             **79.0**|\n|           |整体|           28.5|             **71.5**|\n\n\n### 与 GraphRAG 对比：\n\n将配置 `output_file` 设置为 `f\".\u002Fdatasets\u002F{DATASET}\u002F{DATASET}_eval_hi_graphrag.jsonl\"` 后，运行以下命令：\n```\npython batch_eval.py -m result -api openai\n```\n\n| 数据集 | 维度       | GraphRAG % | HiRAG % |\n|----------:|:--------:|--------------:|----------------:|\n|         Mix||||\n|           |全面性|           42.1|             **57.9**|\n|           |赋能性|           35.1|             **64.9**|\n|           |多样性|           40.5|             **59.5**|\n|           |整体|           35.9|             **64.1**|\n|        CS||||\n|           |全面性|           40.5|             **59.5**|\n|           |赋能性|           38.5|             **61.5**|\n|           |多样性|           30.5|             **69.5**|\n|           |整体|           36.0|             **64.0**|\n|        法律||||\n|           |全面性|           48.5|             **51.5**|\n|           |赋能性|           43.5|             **56.5**|\n|           |多样性|           47.0|             **53.0**|\n|           |整体|           45.5|             **54.5**|\n|        农业||||\n|           |全面性|           49.0|             **51.0**|\n|           |赋能性|           48.5|             **51.5**|\n|           |多样性|           45.5|             **54.5**|\n|           |整体|           46.0|             **54.0**|\n\n### 与 LightRAG 对比：\n\n将配置 `output_file` 设置为 `f\".\u002Fdatasets\u002F{DATASET}\u002F{DATASET}_eval_hi_lightrag.jsonl\"`，然后运行以下命令：\n```\npython batch_eval.py -m result -api openai\n```\n\n| 数据集 | 维度         | LightRAG % | HiRAG % |\n|----------:|:--------:|--------------:|----------------:|\n|         Mix||||\n|           |全面性       |           36.8|             **63.2**|\n|           |赋能性       |           34.9|             **65.1**|\n|           |多样性       |           34.1|             **65.9**|\n|           |总体         |           34.1|             **65.9**|\n|        CS||||\n|           |全面性       |           44.5|             **55.5**|\n|           |赋能性       |           41.5|             **58.5**|\n|           |多样性       |           33.0|             **67.0**|\n|           |总体         |           41.0|             **59.0**|\n|        Legal||||\n|           |全面性       |           49.0|             **51.0**|\n|           |赋能性       |           43.5|             **56.5**|\n|           |多样性       |           **63.0**|             37.0|\n|           |总体         |           48.0|             **52.0**|\n|        Agriculture||||\n|           |全面性       |           38.5|             **61.5**|\n|           |赋能性       |           36.5|             **63.5**|\n|           |多样性       |           37.5|             **62.5**|\n|           |总体         |           38.5|             **61.5**|\n\n### 与 FastGraphRAG 对比：\n\n将配置 `output_file` 设置为 `f\".\u002Fdatasets\u002F{DATASET}\u002F{DATASET}_eval_hi_fastgraphrag.jsonl\"`，然后运行以下命令：\n```\npython batch_eval.py -m result -api openai\n```\n\n| 数据集 | 维度         | FastGraphRAG % | HiRAG % |\n|----------:|:--------:|--------------:|----------------:|\n|         Mix||||\n|           |全面性       |           0.8|             **99.2**|\n|           |赋能性       |           0.8|             **99.2**|\n|           |多样性       |           0.8|             **99.2**|\n|           |总体         |           0.8|             **99.2**|\n|        CS||||\n|           |全面性       |           0.0|             **100.0**|\n|           |赋能性       |           0.0|             **100.0**|\n|           |多样性       |           0.5|             **99.5**|\n|           |总体         |           0.0|             **100.0**|\n|        Legal||||\n|           |全面性       |           1.0|             **99.0**|\n|           |赋能性       |           0.0|             **100.0**|\n|           |多样性       |              1.5|             **98.5**|\n|           |总体         |           0.0|             **100.0**|\n|        Agriculture||||\n|           |全面性       |           0.0|             **100.0**|\n|           |赋能性       |           0.0|             **100.0**|\n|           |多样性       |           0.0|             **100.0**|\n|           |总体         |           0.0|             **100.0**|\n\n### 与 KAG 对比：\n\n将配置 `output_file` 设置为 `f\".\u002Fdatasets\u002F{DATASET}\u002F{DATASET}_eval_hi_kag.jsonl\"`，然后运行以下命令：\n```\npython batch_eval.py -m result -api openai\n```\n\n| 数据集 | 维度         | KAG % | HiRAG % |\n|----------:|:--------:|--------------:|----------------:|\n|         Mix||||\n|           |全面性       |           2.3|             **97.7**|\n|           |赋能性       |           3.5|             **96.5**|\n|           |多样性       |           3.8|             **96.2**|\n|           |总体         |           2.3|             **97.7**|\n|        CS||||\n|           |全面性       |           1.0|             **99.0**|\n|           |赋能性       |           4.5|             **95.5**|\n|           |多样性       |           5.0|             **95.0**|\n|           |总体         |           1.5|             **98.5**|\n|        Legal||||\n|           |全面性       |           16.5|             **83.5**|\n|           |赋能性       |           9.0|             **91.0**|\n|           |多样性       |              11.0|             **89.0**|\n|           |总体         |           8.5|             **91.5**|\n|        Agriculture||||\n|           |全面性       |           5.0|             **95.0**|\n|           |赋能性       |           5.0|             **95.0**|\n|           |多样性       |           3.5|             **96.5**|\n|           |总体         |           0.0|             **100.0**|\n\n## 致谢\n我们衷心感谢在本工作中使用了以下开源项目：\n- [nano-graphrag](https:\u002F\u002Fgithub.com\u002Fgusye1234\u002Fnano-graphrag)：一个简单易用的 GraphRAG 实现\n\n- [RAPTOR](https:\u002F\u002Fgithub.com\u002Fparthsarthi03\u002Fraptor)：一种通过从文档中构建递归树结构来增强检索型语言模型的新方法。\n\n## 💡 引用我们\n```python\n@article{huang2025retrieval,\n  title={具有层次化知识的检索增强生成},\n  author={Huang, Haoyu and Huang, Yongfeng and Yang, Junjie and Pan, Zhenyu and Chen, Yongqiang and Ma, Kaili and Chen, Hongzhi and Cheng, James},\n  journal={arXiv 预印本 arXiv:2503.10150},\n  year={2025}\n}\n```\n## 🌟 星标历史\n\n![星标历史图](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fhhy-huang_HiRAG_readme_964cf751fe41.png)","# HiRAG 快速上手指南\n\nHiRAG 是一个基于分层知识（Hierarchical Knowledge）的检索增强生成（RAG）框架，旨在通过构建层级化的知识图谱来提升大模型在复杂问答任务中的表现。该模型已被 EMNLP 2025 Findings 接收。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux 或 macOS（Windows 用户建议使用 WSL2）\n*   **Python 版本**：推荐 Python 3.8 及以上版本\n*   **依赖管理**：已安装 `pip`\n*   **API 密钥**：如需使用 DeepSeek、ChatGLM 或 OpenAI 等第三方模型，请提前准备好对应的 API Key，并在项目根目录的 `config.yaml` 中进行配置。\n\n## 安装步骤\n\n1.  **克隆仓库**\n    首先将代码库克隆到本地：\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fhhy-huang\u002FHiRAG.git\n    cd HiRAG\n    ```\n\n2.  **安装依赖**\n    以可编辑模式安装项目及其依赖：\n    ```bash\n    pip install -e .\n    ```\n    > **提示**：国内用户若遇到下载缓慢问题，可使用清华源加速安装：\n    > `pip install -e . -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n## 基本使用\n\n安装完成后，您可以通过简单的 Python 代码快速体验 HiRAG 的核心功能（索引构建与查询）。\n\n### 1. 初始化与索引构建\n\n创建一个 Python 脚本（例如 `demo.py`），写入以下代码。该示例将启用分层模式并构建本地缓存。\n\n```python\nfrom hirag import HiRAG, QueryParam # 假设导入路径，具体以实际包结构为准\n\n# 初始化 HiRAG 实例\ngraph_func = HiRAG(\n    working_dir=\".\u002Fyour_work_dir\",       # 工作目录，用于存储图谱数据\n    enable_llm_cache=True,               # 启用 LLM 缓存以节省 Token\n    enable_hierachical_mode=True,        # 开启核心的分层模式\n    embedding_batch_num=6,               # 嵌入批处理数量\n    embedding_func_max_async=8,          # 最大异步并发数（根据机器性能调整）\n    enable_naive_rag=True                # 同时启用基础 RAG 作为对比或补充\n)\n\n# 插入上下文数据\nwith open(\"path_to_your_context.txt\", \"r\") as f:\n    graph_func.insert(f.read())\n```\n\n### 2. 执行查询\n\n数据索引完成后，即可进行分层检索与生成：\n\n```python\nprint(\"Perform hi search:\")\n# mode=\"hi\" 表示使用 HiRAG 的分层检索策略\nresponse = graph_func.query(\"The question you want to ask?\", param=QueryParam(mode=\"hi\"))\nprint(response)\n```\n\n### 进阶配置\n\n如果您希望使用 DeepSeek、ChatGLM 或其他第三方 API 进行推理，可以参考项目自带的示例脚本：\n*   DeepSeek: `.\u002Fhi_Search_deepseek.py`\n*   ChatGLM: `.\u002Fhi_Search_glm.py`\n*   OpenAI: `.\u002Fhi_Search_openai.py`\n\n所有模型的 API Key 及具体配置参数请在根目录下的 `config.yaml` 文件中统一设置。","某大型医疗科技公司的研发部门正致力于构建一个智能临床决策支持系统，需要让 AI 基于海量的医学指南、药物说明书及最新科研论文回答医生的复杂咨询。\n\n### 没有 HiRAG 时\n- **知识碎片化严重**：传统 RAG 只能检索到孤立的段落，无法理解“高血压”与“特定降压药禁忌症”之间的层级从属关系，导致回答缺乏整体逻辑。\n- **跨文档推理能力弱**：当问题涉及多个文档间的隐含联系（如某药物在 A 指南推荐但在 B 研究中存在风险）时，系统往往遗漏关键“桥梁”信息，给出片面甚至矛盾的建议。\n- **长尾问题准确率低**：面对需要结合宏观领域知识（全局）和微观病例细节（局部）的复杂提问，模型常因上下文窗口限制或检索噪声而产生幻觉。\n- **维护成本高昂**：随着医学文献不断更新，扁平化的知识库难以动态调整知识结构，每次增量更新都需重新向量化大量冗余数据。\n\n### 使用 HiRAG 后\n- **层级化知识融合**：HiRAG 利用分层知识图谱，自动构建“疾病 - 治疗方案 - 具体药物”的层级索引，确保回答既涵盖宏观指南又精准定位微观细节。\n- **增强跨文档推理**：通过特有的“桥接（Bridge）”检索机制，HiRAG 能主动发现并连接分散在不同文献中的关键证据链，完整呈现药物风险的来龙去脉。\n- **动态模式切换**：针对不同类型的问题，HiRAG 可灵活切换仅检索局部细节、仅检索全局概览或混合模式，显著降低噪声干扰，提升复杂问答的准确率。\n- **高效增量更新**：基于图结构的存储方式使得新知识能以节点形式无缝插入现有层级体系，无需全量重构，大幅降低了知识库的运维门槛。\n\nHiRAG 通过引入分层知识架构，彻底解决了传统检索增强生成在处理复杂、多跳推理任务时的逻辑断层问题，让医疗 AI 的回答兼具广度与深度。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fhhy-huang_HiRAG_9d80ed82.png","hhy-huang","haoyuhuang","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fhhy-huang_3ec65be1.jpg","Ph.D. Student @ HKUST","HKUST","Clear Water Bay",null,"https:\u002F\u002Fgithub.com\u002Fhhy-huang",[84],{"name":85,"color":86,"percentage":87},"Python","#3572A5",100,527,83,"2026-04-01T20:55:19","MIT","未说明","未说明 (支持调用 DeepSeek, ChatGLM, OpenAI 等第三方 API，若本地运行嵌入模型则取决于具体 embedding_func 的实现)",{"notes":95,"python":92,"dependencies":96},"README 中未列出具体的系统环境要求（如 OS、Python 版本、GPU 型号等）。安装仅需执行 'pip install -e .'。该工具主要设计为通过配置文件 (config.yaml) 调用第三方大模型 API (如 DeepSeek-v3, ChatGLM, OpenAI) 进行生成和检索，因此对本地算力要求较低。若需本地运行嵌入模型 (embedding_func)，具体资源需求取决于所选用的嵌入模型，但文中未明确指定默认模型及对应硬件要求。",[97,98],"nano-graphrag (隐含依赖)","RAPTOR (参考项目)",[26,13,54],[101,102,103,104,105,106],"clustering","graphrag","large-language-models","nlp","rag","retrieval-augmented-generation","2026-03-27T02:49:30.150509","2026-04-06T07:14:23.499731",[110,115,119,124,129,134,139,144],{"id":111,"question_zh":112,"answer_zh":113,"source_url":114},9952,"HiRAG 索引阶段实体提取幻觉严重，推荐的最佳和最小模型是什么？如何优化？","用户反馈在 `entiti_continue_extraction` 阶段幻觉增加，推测是因为提示词暗示模型“必须遗漏了某些内容”，诱导模型过度解读。虽然维护者未直接指定具体模型名称，但建议检查提示词设计，避免强制模型补充缺失实体。对于模型选择，项目中实验使用了 DeepSeek-V3、GPT-4o、Claude-3.5-sonnet 或 Qwen-turbo 等较强模型，建议使用算力允许的较强模型以减少幻觉。","https:\u002F\u002Fgithub.com\u002Fhhy-huang\u002FHiRAG\u002Fissues\u002F17",{"id":116,"question_zh":117,"answer_zh":118,"source_url":114},9953,"构建 HiRAG 知识图谱需要多长时间？","构建时间完全取决于数据集的大小和您拥有的算力强弱。有用户反馈构建一个数据集的知识图谱花费了 4 个小时仍未完成一半，因此建议根据数据量预估时间并准备充足的计算资源。",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},9954,"运行时报错 `IndexError: list index out of bounds` 或在 `upsert` 时失败，如何解决？","这通常是因为输入数据（chunk list）为空导致的。当 `list_data` 为空时，向量数据库插入操作会越界报错。请检查您的输入字符串和分块（chunks）逻辑，确保在调用插入函数前数据列表不为空。","https:\u002F\u002Fgithub.com\u002Fhhy-huang\u002FHiRAG\u002Fissues\u002F13",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},9955,"复现论文时，MHQA 任务使用 local 和 global 提示词会导致回答过长从而降低 F1\u002FEM 分数吗？","是的，MHQA 任务的评估脚本与 QFS 任务不同。为了防止回答过长影响评分，需要使用另一个 LLM API 调用来对答案进行重写（rephrase），使其变短。您可以运行官方提供的评估脚本：`python eval_mhqa.py -d musique -n 1000`（代码位于 `eval\u002Feval_mhqa.py`），该脚本已包含答案缩短的处理逻辑。","https:\u002F\u002Fgithub.com\u002Fhhy-huang\u002FHiRAG\u002Fissues\u002F14",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},9956,"HiRAG 是否支持 Neo4j 的最短路径搜索功能？","目前版本中，Neo4j 不支持 HiRAG 的某些功能（包括最短路径搜索）。维护者已确认这是一个已知问题并计划修复。在修复之前，建议尝试使用其他支持的图数据库，或者关注后续更新。","https:\u002F\u002Fgithub.com\u002Fhhy-huang\u002FHiRAG\u002Fissues\u002F18",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},9957,"为什么 HiRAG 没有与 PathRAG 进行直接对比实验？","主要原因有两点：1. PathRAG 使用 GPT-4o-mini 作为评估器，而 HiRAG 实验使用的是更强的模型（如 DeepSeek-V3, GPT-4o, Claude-3.5-sonnet 等），评估标准不一致；2. PathRAG 仓库中未提供详细的实验结果数据。因此无法直接对比。建议用户参考 HiRAG README 中的复现流程，自行搭建环境进行对比测试。","https:\u002F\u002Fgithub.com\u002Fhhy-huang\u002FHiRAG\u002Fissues\u002F16",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},9958,"代码中的 `sub_community`（子社区）在论文中未提及，它的作用是什么？是自动生成的吗？","`sub_community` 是一种工程技巧，用于处理生成社区报告时超出 Token 限制的情况。当下一级社区是当前社区的子集时，可以使用较短的子社区报告来辅助生成当前社区报告，而不是罗列所有实体和关系描述。子图是由 Leiden 算法自动聚类生成的，但代码中额外增加了验证逻辑，确认下一级社区的节点是否为当前社区节点的子集，以优化报告生成过程。","https:\u002F\u002Fgithub.com\u002Fhhy-huang\u002FHiRAG\u002Fissues\u002F12",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},9959,"提示词中重复描述\"Goal\"（目标）是否有性能提升？","这种设计借鉴了 `nano-graphrag` 项目的经验。虽然在当前 Issue 中未给出具体数值，但参考相关讨论可知，重复关键指令有助于增强模型对任务目标的注意力，从而在一定程度上提升输出质量。具体原理可参考 nano-graphrag 的相关技术讨论。","https:\u002F\u002Fgithub.com\u002Fhhy-huang\u002FHiRAG\u002Fissues\u002F20",[]]