spikingjelly

GitHub
2k 304 简单 1 次阅读 3天前NOASSERTION开发框架
AI 解读 由 AI 自动生成,仅供参考

SpikingJelly 是一个基于 PyTorch 构建的开源深度学习框架,专为脉冲神经网络(SNN)设计。它致力于降低 SNN 的研究与开发门槛,解决了传统 SNN 实现复杂、缺乏统一工具链以及训练效率低等痛点,让开发者能够像搭建普通神经网络一样轻松构建和训练脉冲网络。

这款工具非常适合人工智能研究人员、深度学习工程师以及对类脑计算感兴趣的高校师生使用。无论是进行前沿算法探索,还是复现学术论文,SpikingJelly 都能提供强有力的支持。其独特亮点在于深度集成了现代加速技术:最新版本的神经元模型(如 LIFNode)已引入 Triton 后端,显著提升了 GPU 上的运行效率;同时提供了灵活的 ANN-SNN 转换工具,方便将传统神经网络快速迁移为脉冲形式。此外,框架还内置了显存优化模块(memopt)、操作量计数器以及丰富的神经形态数据集接口,并拥有完善的中英文双语文档与教程,帮助用户高效上手,专注于算法创新而非底层细节。

使用场景

某边缘计算团队正在为低功耗无人机开发基于脉冲神经网络(SNN)的实时目标检测系统,以利用神经形态摄像头的低延迟特性。

没有 spikingjelly 时

  • 开发门槛极高:研究人员需从零手动推导并编写复杂的 SNN 反向传播算法及 CUDA 核函数,极易出错且耗时数周。
  • 硬件加速困难:缺乏现成的高性能算子支持,模型在 GPU 上推理速度缓慢,无法满足无人机毫秒级响应需求。
  • 生态割裂严重:难以直接复用成熟的 PyTorch 预训练模型(ANN),必须重新设计网络结构从头训练,数据利用率低。
  • 内存优化缺失:训练深层脉冲网络时显存占用爆炸式增长,导致无法在有限资源下探索更优的网络架构。

使用 spikingjelly 后

  • 构建极简高效:依托其基于 PyTorch 的封装,开发者仅需几行代码即可调用 LIFNode 等神经元模块,将原型验证周期从数周缩短至数天。
  • 性能显著提升:利用内置的 Triton 后端和自动 CUDA 加速功能,模型推理吞吐量大幅提升,完美适配边缘端实时任务。
  • 无缝转换迁移:通过一键式 ANN-SNN 转换工具,直接将现有的高精度视觉模型转化为脉冲网络,保留了原有精度优势。
  • 训练显存优化:借助最新的梯度检查点与脉冲压缩技术(memopt),在不损失精度的前提下大幅降低训练显存占用,使深层网络训练成为可能。

spikingjelly 通过打通从算法理论到高性能部署的全链路,让开发者能像搭建普通深度学习模型一样轻松构建高效的脉冲神经网络。

运行环境要求

操作系统
  • 未说明
GPU
  • NVIDIA GPU 非必需(支持 CPU),但使用 CuPy 或 Triton 加速后端时必需
  • 需安装对应版本的 CUDA(文档提及测试环境为 CUDA 11.x/12.x)
  • 显存大小未说明
内存

未说明

依赖
notes该工具基于 PyTorch。默认后端支持 CPU 和 GPU;若需高性能训练,需额外安装 CuPy 或 Triton(仅支持 GPU)。华为 NPU 目前尚在计划中,暂不支持。奇数版本号为开发版,偶数版本号为稳定版。从 v0.0.0.0.14 起部分模块名称已变更,旧版本用户需注意迁移。
python3.8+ (依据 PyPI badge 推断,文档明确需 torch>=2.2.0)
torch>=2.2.0
torchvision
torchaudio
cupy-cuda11x 或 cupy-cuda12x (可选)
triton==3.3.1 (可选)
nir (可选)
nirtorch (可选)
spikingjelly hero image

快速开始

SpikingJelly

GitHub 最后提交 文档状态 PyPI PyPI - Python 版本 仓库大小 GitHub 问题数 GitHub 已关闭问题数 GitHub 拉取请求数 GitHub 已关闭拉取请求数 访问量 GitHub 分支数 GitHub 仓库星标数 GitHub 贡献者数

English | 中文(Chinese)

demo

SpikingJelly 是一个基于 PyTorch 的开源脉冲神经网络(SNN)深度学习框架。

SpikingJelly 的 文档 同时提供英文和中文版本。

更新日志

我们正在积极维护和改进 SpikingJelly。以下是我们的未来计划以及每次发布的主要亮点。

亮点

我们的新工作 通过梯度检查点和脉冲压缩实现无损、高效的脉冲神经网络训练 最近被 ICLR 2026 接受!自动训练内存优化工具现已在 spikingjelly.activation_based.memopt 中可用。更多信息请参阅 教程

在最新版本(GitHub 版本)中:

  • IFNodeLIFNodeParametricLIFNode 现已配备 Triton 后端;
  • FlexSN 可用于将 PyTorch 脉冲神经元动力学转换为 Triton 内核;
  • SpikingSelfAttentionQKAttention 已上线;
  • memopt 已上线;
  • nir_exchange 已上线;
  • op_counter 已上线;
  • spikingjelly.activation_based.layerspikingjelly.activation_based.functionalspikingjelly.datasets 已重构;
  • 数据集实现已重构;
  • 文档和教程已更新;
  • spikingjelly.activation_based.functional 中的卷积-批归一化融合函数已被弃用;请改用 PyTorch 的 fuse_conv_bn_eval

计划中

我们即将发布版本 0.0.0.1.0

  • 添加 Triton 后端,进一步加速 GPU 上的计算。
  • 添加一个编译器,用于将 PyTorch 脉冲神经元转换为 Triton 内核,这将比现有的 auto_cuda 子包更加灵活。
  • 添加脉冲自注意力实现。
  • 更新文档和教程。

其他长期计划包括:

  • 添加 NIR 支持。
  • 优化训练内存消耗。
  • 在华为 NPU 上加速。

对于早期实验性功能,请参阅我们的姊妹项目 flashsnn。新的想法会在 flashsnn 中进行原型验证,然后再合并到 SpikingJelly 中。

版本说明

  • 奇数版本号为开发版,随 GitHub/OpenI 仓库同步更新。偶数版本号为稳定版,可在 PyPI 上获取。

  • 默认文档适用于最新的开发版。如果您使用的是稳定版,请务必切换到对应版本的文档。

  • 自版本 0.0.0.0.14 起,clock_drivenevent_driven 等模块已被重命名。请参考教程 从旧版本迁移

  • 如果您使用的是较旧版本的 SpikingJelly,可能会遇到一些严重错误。更多详情请参阅 发行版中的错误历史

不同版本的文档:

安装

请注意,SpikingJelly 基于 PyTorch。在安装 SpikingJelly 之前,请确保已安装 PyTorch、torchvision 和 torchaudio。需要注意的是,SpikingJelly 的最新版本要求 torch>=2.2.0,并在 torch==2.7.1 上进行了测试。

PyPI 安装最新稳定版

pip install spikingjelly

从源代码安装最新开发版

GitHub

git clone https://github.com/fangwei123456/spikingjelly.git
cd spikingjelly
pip install .

OpenI

git clone https://openi.pcl.ac.cn/OpenI/spikingjelly.git
cd spikingjelly
pip install .

可选依赖

要启用 cupy 后端,请安装 CuPy

pip install cupy-cuda12x # 适用于 CUDA 12.x
pip install cupy-cuda11x # 适用于 CUDA 11.x

要启用 triton 后端,请确保已安装 Triton。通常,Triton 会随 PyTorch 2.X 一起安装。我们已在 triton==3.3.1 上测试了 Triton 后端。

pip install triton==3.3.1

要启用 nir_exchange,请安装 NIRNIRTorch

pip install nir nirtorch

以前所未有的简单方式构建 SNN

SpikingJelly 使用起来非常友好。使用 SpikingJelly 构建 SNN 就像在 PyTorch 中构建 ANN 一样简单:

nn.Sequential(
    layer.Flatten(),
    layer.Linear(28 * 28, 10, bias=False),
    neuron.LIFNode(tau=tau, surrogate_function=surrogate.ATan())
)

这个简单的网络配合泊松编码器,在 MNIST 测试数据集上可以达到 92% 的准确率。更多详细信息请参阅教程。您也可以在 Python 终端中运行以下代码来训练 MNIST 分类任务:

python -m spikingjelly.activation_based.examples.lif_fc_mnist -tau 2.0 -T 100 -device cuda:0 -b 64 -epochs 100 -data-dir <MNIST 数据路径> -amp -opt adam -lr 1e-3 -j 8

快速便捷的 ANN-SNN 转换

SpikingJelly 实现了一个相对通用的 ANN-SNN 转换接口。用户可以通过 PyTorch 实现转换,并且还可以自定义转换模式。

class ANN(nn.Module):
    def __init__(self):
        super().__init__()
        self.network = nn.Sequential(
            nn.Conv2d(1, 32, 3, 1),
            nn.BatchNorm2d(32, eps=1e-3),
            nn.ReLU(),
            nn.AvgPool2d(2, 2),

            nn.Conv2d(32, 32, 3, 1),
            nn.BatchNorm2d(32, eps=1e-3),
            nn.ReLU(),
            nn.AvgPool2d(2, 2),

            nn.Conv2d(32, 32, 3, 1),
            nn.BatchNorm2d(32, eps=1e-3),
            nn.ReLU(),
            nn.AvgPool2d(2, 2),

            nn.Flatten(),
            nn.Linear(32, 10)
        )

    def forward(self,x):
        x = self.network(x)
        return x

这个简单的网络采用模拟编码,在转换后于 MNIST 测试数据集上可达到 98.44% 的准确率。更多细节请参阅教程。您也可以在 Python 终端中运行以下代码来使用转换后的模型进行 MNIST 分类训练:

>>> import spikingjelly.activation_based.ann2snn.examples.cnn_mnist as cnn_mnist
>>> cnn_mnist.main()

CUDA/Triton 加速的神经元

SpikingJelly 为多步神经元提供了多种后端。您可以使用友好的 torch 后端进行轻松的编码和调试,也可以使用 cupytriton 后端以获得更快的训练速度。

下图比较了多步 LIF 神经元(float32)的 torchcupy 后端的执行时间。通常情况下,triton 后端比 cupy 后端更加高效。

exe_time_fb

cupytriton 后端还支持 float16 数据类型,可用于 自动混合精度训练

要使用 cupy 后端,请安装 CuPy。要使用 triton 后端,请安装 Triton。需要注意的是,cupytriton 后端仅支持 GPU,而 torch 后端则同时支持 CPU 和 GPU。

设备支持

  • Nvidia GPU
  • CPU
  • Huawei NPU

使用起来就像使用 PyTorch 一样简单。

>>> net = nn.Sequential(layer.Flatten(), layer.Linear(28 * 28, 10, bias=False), neuron.LIFNode(tau=tau))
>>> net = net.to(device) # 可以是 CPU 或 CUDA 设备

神经形态数据集支持

SpikingJelly 包含以下神经形态数据集:

数据集 来源
ASL-DVS 基于图的神经形态视觉传感目标分类
Bullying10K Bullying10K:面向隐私保护的欺凌识别的大规模神经形态数据集
CIFAR10-DVS CIFAR10-DVS:用于目标分类的事件流数据集
DVS-Lip 基于事件的唇读多粒度时空特征感知网络
DVS128 Gesture 一种低功耗、完全基于事件的手势识别系统
ES-ImageNet ES-ImageNet:用于脉冲神经网络的百万级事件流分类数据集
HARDVS HARDVS:利用动态视觉传感器重新审视人类活动识别
N-Caltech101 使用扫视将静态图像数据集转换为脉冲神经形态数据集
N-MNIST 使用扫视将静态图像数据集转换为脉冲神经形态数据集
Nav Gesture 利用智能手机计算能力实现背景抑制的基于事件的手势识别
海德堡脉冲数字数据集(SHD) 海德堡脉冲数据集:用于脉冲神经网络系统性评估的数据集
脉冲语音命令数据集(SSC) 海德堡脉冲数据集:用于脉冲神经网络系统性评估的数据集
语音命令 语音命令:用于有限词汇量语音识别的数据集

用户可以使用原始事件数据以及由 SpikingJelly 整合的帧数据:

import torch
from torch.utils.data import DataLoader
from spikingjelly.datasets.utils import pad_sequence_collate, padded_sequence_mask
from spikingjelly.datasets import DVS128Gesture

# 设置数据集的根目录
root_dir = 'D:/datasets/DVS128Gesture'
# 加载事件数据集
event_set = DVS128Gesture(root_dir, train=True, data_type='event')
event, label = event_set[0]
# 打印事件数据中各键及其对应的值
for k in event.keys():
    print(k, event[k])

# t [80048267 80048277 80048278 ... 85092406 85092538 85092700]
# x [49 55 55 ... 60 85 45]
# y [82 92 92 ... 96 86 90]
# p [1 0 0 ... 1 0 0]
# label 0

# 加载固定帧数的数据集
fixed_frames_number_set = DVS128Gesture(root_dir, train=True, data_type='frame', frames_number=20, split_by='number')
# 随机选取两帧并打印其形状
rand_index = torch.randint(low=0, high=fixed_frames_number_set.__len__(), size=[2])
for i in rand_index:
    frame, label = fixed_frames_number_set[i]
    print(f'frame[{i}].shape=[T, C, H, W]={frame.shape}')

# frame[308].shape=[T, C, H, W]=(20, 2, 128, 128)
# frame[453].shape=[T, C, H, W]=(20, 2, 128, 128)

# 加载固定时长的帧数据集,并打印前5个样本的形状
fixed_duration_frame_set = DVS128Gesture(root_dir, data_type='frame', duration=1000000, train=True)
for i in range(5):
    x, y = fixed_duration_frame_set[i]
    print(f'x[{i}].shape=[T, C, H, W]={x.shape}')

# x[0].shape=[T, C, H, W]=(6, 2, 128, 128)
# x[1].shape=[T, C, H, W]=(6, 2, 128, 128)
# x[2].shape=[T, C, H, W]=(5, 2, 128, 128)
# x[3].shape=[T, C, H, W]=(5, 2, 128, 128)
# x[4].shape=[T, C, H, W]=(7, 2, 128, 128)

# 为固定时长的帧数据集创建数据加载器,并打印形状和序列长度
train_data_loader = DataLoader(fixed_duration_frame_set, collate_fn=pad_sequence_collate, batch_size=5)
for x, y, x_len in train_data_loader:
    print(f'x.shape=[N, T, C, H, W]={tuple(x.shape)}')
    print(f'x_len={x_len}')
    mask = padded_sequence_mask(x_len)  # mask.shape = [T, N]
    print(f'mask=\n{mask.t().int()}')
    break

# x.shape=[N, T, C, H, W]=(5, 7, 2, 128, 128)
# x_len=tensor([6, 6, 5, 5, 7])
# mask=
# tensor([[1, 1, 1, 1, 1, 1, 0],
#         [1, 1, 1, 1, 1, 1, 0],
#         [1, 1, 1, 1, 1, 0, 0],
#         [1, 1, 1, 1, 1, 0, 0],
#         [1, 1, 1, 1, 1, 1, 1]], dtype=torch.int32)

未来还将加入更多数据集。

如果部分用户无法访问某些数据集的下载链接,可以从 OpenI 镜像站 下载。

OpenI 镜像站中保存的所有数据集均已获得许可或作者同意。

教程

SpikingJelly 提供了详尽的教程。以下是一些教程:

图片 教程
basic_concept 基本概念
neuron 神经元
lif_fc_mnist 单层全连接 SNN 用于分类 MNIST
conv_fashion_mnist 卷积 SNN 用于分类 FMNIST
ann2snn ANN2SNN
neuromorphic_datasets 神经形态数据集处理
classify_dvsg 分类 DVS 手势
recurrent_connection_and_stateful_synapse 循环连接与状态突触
stdp_learning STDP 学习
reinforcement_learning 强化学习

此处未列出的其他教程也可在 文档 中找到。

ZhenyuZhao 提供了 中文 Jupyter 教程笔记本

出版物与引用

使用 SpikingJelly 的出版物记录在 出版物 中。如果您在论文中使用了 SpikingJelly,也可以通过拉取请求将其添加到此表格中。

如果您在工作中使用了 SpikingJelly,请按以下方式引用:

@article{
doi:10.1126/sciadv.adi1480,
author = {Wei Fang  and Yanqi Chen  and Jianhao Ding  and Zhaofei Yu  and Timothée Masquelier  and Ding Chen  and Liwei Huang  and Huihui Zhou  and Guoqi Li  and Yonghong Tian },
title = {SpikingJelly: An open-source machine learning infrastructure platform for spike-based intelligence},
journal = {Science Advances},
volume = {9},
number = {40},
pages = {eadi1480},
year = {2023},
doi = {10.1126/sciadv.adi1480},
URL = {https://www.science.org/doi/abs/10.1126/sciadv.adi1480},
eprint = {https://www.science.org/doi/pdf/10.1126/sciadv.adi1480},
abstract = {Spiking neural networks (SNNs) aim to realize brain-inspired intelligence on neuromorphic chips with high energy efficiency by introducing neural dynamics和spike properties。As the emerging spiking deep learning paradigm attracts increasing interest, traditional programming frameworks cannot meet the demands of automatic differentiation, parallel computation acceleration, and high integration of processing neuromorphic datasets and deployment。In this work, we present the SpikingJelly framework to address the aforementioned dilemma。We contribute a full-stack toolkit for preprocessing neuromorphic datasets, building deep SNNs, optimizing their parameters, and deploying SNNs on neuromorphic chips。Compared to existing methods, the training of deep SNNs can be accelerated 11×, and the superior extensibility and flexibility of SpikingJelly enable users to accelerate custom models at low costs through multilevel inheritance and semiautomatic code generation。SpikingJelly paves the way for synthesizing truly energy-efficient SNN-based machine intelligence systems, which will enrich the ecology of neuromorphic computing。Motivation and introduction of the software framework SpikingJelly for spiking deep learning。}}

贡献

您可以阅读问题列表,了解待解决的问题及最新的开发计划。我们欢迎所有用户参与开发计划的讨论、解决问题并提交拉取请求。

并非所有 API 文档都同时提供英文和中文版本。我们欢迎用户完成翻译工作(从英文到中文或从中文到英文)。

更多信息请参阅 贡献指南

关于

机构

北京大学数字媒体研究所多媒体学习组 (NELVT)鹏城实验室 是 SpikingJelly 开发的主要机构。

PKU PCL

主要开发者

SpikingJelly 历年来由多位主要开发者负责开发和维护。

2024.07~至今

Yifan Huang, Peng Xue

2019.12~2024.06

Wei Fang, Yanqi Chen, Jianhao Ding, Ding Chen, Liwei Huang

感谢所有贡献者

贡献者名单可在 贡献者页面 中找到。

contributors

回到顶部

常见问题

相似工具推荐

stable-diffusion-webui

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

162.1k|★★★☆☆|今天
开发框架图像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 真正成长为懂上

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

ComfyUI

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

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

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

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架