HippoRAG

GitHub
3.4k 335 中等 1 次阅读 昨天MIT语言模型开发框架
AI 解读 由 AI 自动生成,仅供参考

HippoRAG 是一款受人类长期记忆机制启发的新型检索增强生成(RAG)框架,旨在帮助大语言模型持续整合外部文档中的知识。它巧妙融合了知识图谱与个性化页面排名算法,将传统的 RAG 升级为具备“记忆”能力的智能系统。

针对现有系统在应对复杂、多跳推理任务时关联能力不足,以及在处理海量上下文时难以有效“理解”的痛点,HippoRAG 显著提升了模型在事实记忆、逻辑关联及复杂语境整合方面的表现。实验表明,它在增强高级推理能力的同时,并未牺牲简单任务的性能,且在离线索引阶段比 GraphRAG、RAPTOR 等同类图方案更节省资源,在线响应也保持了高效低延迟。

该工具特别适合 AI 研究人员、大模型应用开发者以及需要构建企业级知识库的技术团队使用。其核心技术亮点在于模拟了人脑的海马体功能,通过非参数化的持续学习机制,让模型能够像人类一样识别并利用新知识间的深层联系,从而向真正的“长期记忆”迈进了一大步。无论是处理多文档问答还是复杂叙事分析,HippoRAG 都能提供更精准、连贯的智能支持。

使用场景

某大型法律科技公司的研发团队正在构建一个智能案情分析助手,需要让 AI 从成千上万份分散的法律文书、判例和新闻报告中提取线索,回答如“被告 A 公司与证人 B 所在的蒙哥马利县有何关联”这类复杂的多跳推理问题。

没有 HippoRAG 时

  • 知识碎片化严重:传统 RAG 只能检索到包含关键词的单一文档,无法自动串联起分散在不同文件中的实体关系(如人物、地点、事件),导致回答断章取义。
  • 多跳推理能力弱:面对需要跨越多个文档才能推导出的结论(A 认识 B,B 住在 C 地,因此 A 与 C 地有关),系统往往直接返回“未找到相关信息”。
  • 上下文理解混乱:当强行拼接大量检索片段作为上下文时,模型容易陷入信息过载,产生幻觉或逻辑矛盾,难以形成连贯的案情叙事。
  • 索引成本高昂:若尝试使用其他基于知识图谱的方案(如 GraphRAG),离线构建索引的过程极其消耗算力和时间,难以适应频繁更新的法律数据库。

使用 HippoRAG 后

  • 模拟人类长期记忆:HippoRAG 利用神经生物学灵感构建动态知识网络,能像人脑一样自动识别并存储文档间隐含的实体关联,将碎片信息织成完整的知识网。
  • 精准多跳检索:结合个性化 PageRank 算法,系统能顺藤摸瓜,从“被告”推导至“关联公司”再定位到“涉案地点”,准确回答复杂的跨文档推理问题。
  • 增强叙事整合力:在處理长篇复杂的案情背景时,HippoRAG 显著提升了模型的“意义构建”能力,使其能输出逻辑严密、因果清晰的综合分析报告。
  • 高效低耗部署:相比同类图技术,HippoRAG 在离线索引阶段大幅降低了资源消耗,同时保持在线查询的低延迟,让大规模法律库的实时更新成为可能。

HippoRAG 通过将静态检索升级为具备关联推理能力的动态记忆系统,真正解决了大模型在处理复杂、分散知识时的“断链”难题。

运行环境要求

操作系统
  • Linux
GPU
  • 本地部署必需 NVIDIA GPU
  • 示例中使用了多卡配置(如 --tensor-parallel-size 2),运行大模型(如 Llama-3.3-70B)需高显存,建议通过调整 --gpu-memory-utilization 适配显存
  • 若使用 OpenAI API 则无需本地 GPU
内存

未说明(取决于加载的模型大小,运行 70B 模型需大量系统内存)

依赖
notes1. 推荐使用 conda 创建名为 'hipporag' 的虚拟环境。 2. 支持两种模式:调用 OpenAI API(无需本地显卡)或本地部署 vLLM 服务(需 NVIDIA 显卡)。 3. 本地部署时需设置环境变量 CUDA_VISIBLE_DEVICES 指定显卡,并可能需要调整 vLLM 的显存利用率参数以防溢出。 4. 嵌入模型支持 NV-Embed, GritLM 或 Contriever。 5. 离线批处理模式可显著提升索引速度(3 倍以上)。
python3.10
hipporag
vllm
transformers (隐含)
CUDA Toolkit (隐含)
HippoRAG hero image

快速开始

HippoRAG 2:从 RAG 到记忆

HippoRAG 2 是一个强大的 LLM 记忆框架,能够增强模型识别和利用新知识中关联的能力——这正是人类长期记忆的核心功能。

我们的实验表明,即使在最先进的 RAG 系统中,HippoRAG 2 也能提升联想能力(多跳检索)和意义构建能力(整合庞大复杂上下文的过程),同时不会降低其在简单任务上的表现。

与前代产品类似,HippoRAG 2 在在线处理过程中保持了较低的成本和延迟,而在离线索引方面,相比 GraphRAG、RAPTOR 和 LightRAG 等基于图的解决方案,所需资源则显著减少。

图 1: 对持续学习能力的评估涵盖三个关键维度:事实记忆(NaturalQuestions、PopQA)、意义构建(NarrativeQA)以及联想能力(MuSiQue、2Wiki、HotpotQA 和 LV-Eval)。HippoRAG 2 在所有类别中均优于其他方法,使其距离真正的长期记忆更近一步。

图 2: HippoRAG 2 的方法论。

更多信息请参阅我们的论文:


安装

conda create -n hipporag python=3.10
conda activate hipporag
pip install hipporag

初始化环境变量并激活环境:

export CUDA_VISIBLE_DEVICES=0,1,2,3
export HF_HOME=<Huggingface 主目录路径>
export OPENAI_API_KEY=<您的 OpenAI API 密钥>   # 如果您想使用 OpenAI 模型

conda activate hipporag

快速入门

OpenAI 模型

以下示例将展示如何使用任何 OpenAI 模型来运行 hipporag

from hipporag import HippoRAG

# 准备数据集和评估
docs = [
    "奥利弗·巴德曼是一位政治家。",
    "乔治·兰金是一位政治家。",
    "托马斯·马维克是一位政治家。",
    "灰姑娘参加了王室舞会。",
    "王子用丢失的玻璃鞋在整个王国寻找。",
    "当鞋子完美契合时,灰姑娘与王子重逢了。",
    "埃里克·霍特的出生地是蒙特贝洛。",
    "玛丽娜出生于明斯克。",
    "蒙特贝洛属于洛克兰县。"
]

save_dir = 'outputs' # 定义 HippoRAG 对象的保存目录(每种 LLM/嵌入模型组合都会创建一个新的子目录)
llm_model_name = 'gpt-4o-mini' # 任何 OpenAI 模型名称
embedding_model_name = 'nvidia/NV-Embed-v2' # 嵌入模型名称(目前支持 NV-Embed、GritLM 或 Contriever)

# 启动一个 HippoRAG 实例
hipporag = HippoRAG(save_dir=save_dir, 
                    llm_model_name=llm_model_name,
                    embedding_model_name=embedding_model_name) 

# 运行索引
hipporag.index(docs=docs)

# 分离式检索与问答
queries = [
    "乔治·兰金的职业是什么?",
    "灰姑娘是如何迎来幸福结局的?",
    "埃里克·霍特的出生地属于哪个县?"
]

retrieval_results = hipporag.retrieve(queries=queries, num_to_retrieve=2)
qa_results = hipporag.rag_qa(retrieval_results)

# 检索与问答一体化
rag_results = hipporag.rag_qa(queries=queries)

# 用于评估
answers = [
    ["政治家"],
    ["通过参加舞会。"],
    ["洛克兰县"]
]

gold_docs = [
    ["乔治·兰金是一位政治家。"],
    ["灰姑娘参加了王室舞会。",
    "王子用丢失的玻璃鞋在整个王国寻找。",
    "当鞋子完美契合时,灰姑娘与王子重逢了。"],
    ["埃里克·霍特的出生地是蒙特贝洛。",
    "蒙特贝洛属于洛克兰县。"]
]

rag_results = hipporag.rag_qa(queries=queries, 
                              gold_docs=gold_docs,
                              gold_answers=answers)

示例(兼容 OpenAI 的嵌入模型)

如果您希望使用与 OpenAI 兼容的 LLM 和嵌入模型,请采用以下方法。

hipporag = HippoRAG(save_dir=save_dir, 
    llm_model_name='您的 LLM 模型名称',
    llm_base_url='您的 LLM 模型 URL',
    embedding_model_name='您的嵌入模型名称',  
    embedding_base_url='您的嵌入模型 URL')

本地部署(vLLM)

以下示例将展示如何使用任何兼容 vLLM 的本地部署 LLM 来运行 hipporag

  1. 使用指定的 GPU 运行一个本地的 兼容 OpenAI 的 vLLM 服务器,并确保为您的嵌入模型留出足够的内存。
export CUDA_VISIBLE_DEVICES=0,1
export VLLM_WORKER_MULTIPROC_METHOD=spawn
export HF_HOME=<Huggingface 主目录路径>

conda activate hipporag  # vllm 应该在此环境中

# 如果出现 OOM 错误,可调整 gpu-memory-utilization 或 max_model_len 以适应您的 GPU 内存
vllm serve meta-llama/Llama-3.3-70B-Instruct --tensor-parallel-size 2 --max_model_len 4096 --gpu-memory-utilization 0.95 
  1. 现在您可以使用与上述代码非常相似的方式来运行 hipporag
save_dir = 'outputs' # 定义 HippoRAG 对象的保存目录(每种 LLM/嵌入模型组合都会创建一个新的子目录)
llm_model_name = # 任何 OpenAI 模型名称
embedding_model_name = # 嵌入模型名称(目前支持 NV-Embed、GritLM 或 Contriever)
llm_base_url= # 您部署的 LLM 的基础 URL(例如 http://localhost:8000/v1)

hipporag = HippoRAG(save_dir=save_dir,
                    llm_model_name=llm_model,
                    embedding_model_name=embedding_model_name,
                    llm_base_url=llm_base_url)

# 索引、检索和问答流程与运行 OpenAI 模型时相同

测试

在向 HippoRAG 贡献代码时,请运行以下脚本,以确保您的更改不会导致我们核心模块出现意外行为。

这些脚本会测试索引构建、图加载、文档删除以及对 HippoRAG 对象的增量更新功能。

OpenAI 测试

要使用 OpenAI 的 LLM 和嵌入模型测试 HippoRAG,只需运行以下命令。此测试的成本可以忽略不计。

export OPENAI_API_KEY=<您的 OpenAI API 密钥> 

conda activate hipporag

python tests_openai.py

本地测试

要在本地进行测试,您需要部署一个 vLLM 实例。为了降低测试成本,我们选择部署较小的 8B 模型 Llama-3.1-8B-Instruct

export CUDA_VISIBLE_DEVICES=0
export VLLM_WORKER_MULTIPROC_METHOD=spawn
export HF_HOME=<HuggingFace 家目录路径>

conda activate hipporag  # vllm 应该安装在这个环境中

# 如果出现 OOM 错误,请调整 gpu-memory-utilization 或 max_model_len 以适应您的 GPU 内存
vllm serve meta-llama/Llama-3.1-8B-Instruct --tensor-parallel-size 2 --max_model_len 4096 --gpu-memory-utilization 0.95 --port 6578

然后,我们运行以下测试脚本:

CUDA_VISIBLE=1 python tests_local.py

复现我们的实验

要使用我们的代码运行实验,我们建议您克隆此仓库,并按照 main.py 脚本的结构进行操作。

用于复现的数据

我们在论文中评估了多个采样数据集,其中一些已经包含在本仓库的 reproduce/dataset 目录中。完整的数据集请访问我们的 HuggingFace 数据集,并将它们放置在 reproduce/dataset 目录下。我们还提供了针对 musique 样本的 OpenIE 结果,分别使用 gpt-4o-miniLlama-3.3-70B-Instruct 模型,存储在 outputs/musique 目录中。

为了测试您的环境是否正确配置,您可以使用小数据集 reproduce/dataset/sample.json 进行调试,如下所示。

运行索引构建与问答

首先初始化环境变量并激活环境:

export CUDA_VISIBLE_DEVICES=0,1,2,3
export HF_HOME=<HuggingFace 家目录路径>
export OPENAI_API_KEY=<您的 OpenAI API 密钥>   # 如果您想使用 OpenAI 模型

conda activate hipporag

使用 OpenAI 模型运行

dataset=sample  # 或者 `reproduce/dataset` 下的其他数据集

# 运行 OpenAI 模型
python main.py --dataset $dataset --llm_base_url https://api.openai.com/v1 --llm_name gpt-4o-mini --embedding_name nvidia/NV-Embed-v2

使用 vLLM (Llama) 运行

  1. 如上所述,启动一个本地的 兼容 OpenAI 的 vLLM 服务器,并指定 GPU。
export CUDA_VISIBLE_DEVICES=0,1
export VLLM_WORKER_MULTIPROC_METHOD=spawn
export HF_HOME=<HuggingFace 家目录路径>

conda activate hipporag  # vllm 应该安装在这个环境中

# 如果出现 OOM 错误,请调整 gpu-memory-utilization 或 max_model_len 以适应您的 GPU 内存
vllm serve meta-llama/Llama-3.3-70B-Instruct --tensor-parallel-size 2 --max_model_len 4096 --gpu-memory-utilization 0.95 
  1. 在另一个终端中,使用其他 GPU 运行主程序。
export CUDA_VISIBLE_DEVICES=2,3  # 设置其他 GPU,同时 vLLM 服务器正在运行
export HF_HOME=<HuggingFace 家目录路径>
dataset=sample

python main.py --dataset $dataset --llm_base_url http://localhost:8000/v1 --llm_name meta-llama/Llama-3.3-70B-Instruct --embedding_name nvidia/NV-Embed-v2

高级:使用 vLLM 离线批处理模式

vLLM 提供了 离线批处理模式,可以实现更快的推理速度,相比在线 vLLM 服务器,索引构建速度可提升 3 倍以上。

  1. 使用以下命令以 vLLM 离线批处理模式运行主程序。
export CUDA_VISIBLE_DEVICES=0,1,2,3 # 使用所有 GPU 加速离线索引
export VLLM_WORKER_MULTIPROC_METHOD=spawn
export HF_HOME=<HuggingFace 家目录路径>
export OPENAI_API_KEY=''
dataset=sample

python main.py --dataset $dataset --llm_name meta-llama/Llama-3.3-70B-Instruct --openie_mode offline --skip_graph
  1. 第一步完成后,OpenIE 结果将保存到文件中。随后按照“使用 vLLM (Llama) 运行”部分的说明,重新启动 vLLM 在线服务器和主程序。

调试注意事项

  • /reproduce/dataset/sample.json 是专门用于调试的小数据集。
  • 在调试 vLLM 离线模式时,请将 hipporag/llm/vllm_offline.py 中的 tensor_parallel_size 设置为 1
  • 如果您想重新运行某个实验,请务必清除已保存的文件,包括 OpenIE 结果和知识图谱,例如:
rm reproduce/dataset/openie_results/openie_sample_results_ner_meta-llama_Llama-3.3-70B-Instruct_3.json
rm -rf outputs/sample/sample_meta-llama_Llama-3.3-70B-Instruct_nvidia_NV-Embed-v2

自定义数据集

要设置您自己的自定义数据集进行评估,请遵循 reproduce/dataset/sample_corpus.json 中显示的格式和命名规范(您的数据集名称后应加上 _corpus.json)。如果要运行带有预定义问题的实验,应根据查询文件 reproduce/dataset/sample.json 组织您的查询语料库,并确保也遵循我们的命名规范。

语料库和可选的查询 JSON 文件应具有以下格式:

检索语料库 JSON

[
  {
    "title": "第一条文档标题",
    "text": "第一条文档内容",
    "idx": 0
  },
  {
    "title": "第二条文档标题",
    "text": "第二条文档内容",
    "idx": 1
  }
]

(可选)查询 JSON


[
  {
    "id": "sample/question_1.json",
    "question": "问题内容",
    "answer": [
      "答案内容"
    ],
    "answerable": true,
    "paragraphs": [
      {
        "title": "{第一支持文档标题}",
        "text": "{第一支持文档内容}",
        "is_supporting": true,
        "idx": 0
      },
      {
        "title": "{第二支持文档标题}",
        "text": "{第二支持文档内容}",
        "is_supporting": true,
        "idx": 1
      }
    ]
  }
]

(可选)语料分块

在准备数据时,您可能需要对每条文档进行分块,因为较长的文档可能会使 OpenIE 处理变得过于复杂。

代码结构

📦 .
│-- 📂 src/hipporag
│   ├── 📂 embedding_model          # 所有嵌入模型的实现
│   │   ├── __init__.py             # 获取特定嵌入模型类的工厂函数
|   |   ├── base.py                 # 嵌入模型基类 `BaseEmbeddingModel` 及其配置类 `EmbeddingConfig`
|   |   ├── NVEmbedV2.py            # NV-Embed-v2 模型的实现
|   |   ├── ...
│   ├── 📂 evaluation               # 所有评估指标的实现
│   │   ├── __init__.py
|   |   ├── base.py                 # 评估指标基类 `BaseMetric`
│   │   ├── qa_eval.py              # 问答任务的评估指标
│   │   ├── retrieval_eval.py       # 检索任务的评估指标
│   ├── 📂 information_extraction  # 所有信息抽取模型的实现
│   │   ├── __init__.py
|   |   ├── openie_openai_gpt.py    # 使用 OpenAI GPT 的 OpenIE 模型
|   |   ├── openie_vllm_offline.py  # 使用本地部署的 vLLM 模型进行 OpenIE
│   ├── 📂 llm                      # 大语言模型推理相关的类
│   │   ├── __init__.py             # 工厂函数
|   |   ├── base.py                 # 大语言模型推理的配置类及基类
|   |   ├── openai_gpt.py           # 使用 OpenAI GPT 进行推理的类
|   |   ├── vllm_llama.py           # 使用本地 vLLM 服务器进行推理的类
|   |   ├── vllm_offline.py         # 直接使用 vLLM API 进行推理的类
│   ├── 📂 prompts                  # 提示模板及提示模板管理器类
|   │   ├── 📂 dspy_prompts         # 过滤相关的提示
|   │   │   ├── ...
|   │   ├── 📂 templates            # 提示模板管理器可加载的所有提示模板
|   │   │   ├── README.md           # 提示模板管理器及提示模板文件的使用说明
|   │   │   ├── __init__.py
|   │   │   ├── triple_extraction.py
|   │   │   ├── ...
│   │   ├── __init__.py
|   |   ├── linking.py              # 链接相关的指令
|   |   ├── prompt_template_manager.py  # 提示模板管理器的实现
│   ├── 📂 utils                    # 本仓库中通用的工具函数(文件名表明其用途)
│   │   ├── config_utils.py         # 所有模块共用一个配置,此处定义其设置
|   |   ├── ...
│   ├── __init__.py
│   ├── HippoRAG.py          # 最高层次的类,用于启动检索、问答和评估流程
│   ├── embedding_store.py   # 存储库,用于加载、管理和保存段落、实体和事实的嵌入向量。
│   ├── rerank.py            # 重排序和过滤方法
│-- 📂 examples
│   ├── ...
│   ├── ...
│-- 📜 README.md
│-- 📜 requirements.txt   # 依赖列表
│-- 📜 .gitignore         # 需要从 Git 中排除的文件

联系方式

如有任何问题或疑问,请提交 issue 或联系以下人员:

Bernal Jiménez Gutiérrez
Yiheng Shu
Yu Su
俄亥俄州立大学

引用

如果您觉得这项工作对您有所帮助,请考虑引用我们的论文:

HippoRAG 2

@misc{gutiérrez2025ragmemorynonparametriccontinual,
      title={从 RAG 到记忆:大语言模型的非参数持续学习}, 
      author={Bernal Jiménez Gutiérrez、Yiheng Shu、Weijian Qi、Sizhe Zhou、Yu Su},
      year={2025},
      eprint={2502.14802},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2502.14802}, 
}

HippoRAG

@inproceedings{gutiérrez2024hipporag,
      title={HippoRAG:受神经生物学启发的大语言模型长期记忆}, 
      author={Bernal Jiménez Gutiérrez、Yiheng Shu、Yu Gu、Michihiro Yasunaga、Yu Su},
      booktitle={第三十八届神经信息处理系统年会},
      year={2024},
      url={https://openreview.net/forum?id=hkujvAPVsg}

待办事项:

  • 增加对更多嵌入模型的支持
  • 增加对嵌入端点的支持
  • 增加对向量数据库集成的支持

如果您有任何问题或建议,欢迎随时提交 issue 或 pull request。

版本历史

v1.0.02025/02/27

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

153.6k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|3天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|3天前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架