GraphScope

GitHub
3.5k 468 较难 1 次阅读 2天前Apache-2.0其他数据工具
AI 解读 由 AI 自动生成,仅供参考

GraphScope 是阿里巴巴开源的一站式大规模图计算系统,旨在为开发者提供统一、高效的分布式图数据处理环境。面对海量图数据在存储、分析及人工智能应用中面临的碎片化挑战,GraphScope 通过简洁的 Python 接口,让用户能在集群上轻松完成从交互式查询、复杂分析到图神经网络(GNN)训练的全流程任务。

该系统特别适合需要处理社交网络、知识图谱或风控关系链等大规模图数据的算法工程师、数据科学家及研究人员。其核心优势在于融合了多项阿里自研核心技术:利用 GRAPE 引擎进行高性能并行分析,通过 MaxGraph 支持低延迟的交互式查询,并集成 Graph-Learn 加速图深度学习模型训练。此外,GraphScope 引入 Vineyard 内存数据存储,实现了不同计算引擎间高效的数据共享与流转,避免了繁琐的数据搬运。近期推出的 GraphScope Flex 架构进一步提升了系统的模块化与灵活性,并在国际权威基准测试中屡创吞吐量纪录,是构建企业级图应用平台的理想选择。

使用场景

某大型电商平台的风控团队需要实时分析亿级用户与交易构成的复杂关系网络,以识别隐蔽的团伙欺诈行为。

没有 GraphScope 时

  • 架构割裂严重:团队需分别维护离线图分析引擎、交互式查询系统和深度学习框架,数据在不同系统间频繁导出导入,开发链路冗长。
  • 实时性差:传统方案难以在秒级内完成大规模子图遍历与多跳查询,导致欺诈交易往往在发生数小时后才能被拦截。
  • 资源消耗巨大:为应对峰值流量,不得不过度配置集群资源,且内存数据无法高效共享,造成大量计算冗余和成本浪费。
  • 算法迭代缓慢:数据科学家将图特征提取到传统机器学习平台的过程繁琐,从想法验证到模型上线通常需要数周时间。

使用 GraphScope 后

  • 一站式统一处理:通过 Python 接口即可在一个平台上无缝串联交互式查询、离线分析及图神经网络训练,消除了系统间的“数据孤岛”。
  • 毫秒级实时响应:依托 MaxGraph 交互引擎,即使在十亿边规模下,复杂的多跳关联查询也能在毫秒级返回结果,实现交易即时阻断。
  • 极致资源效率:利用 Vineyard 内存数据存储,实现了各计算模块间零拷贝的数据共享,显著降低集群负载并节省硬件成本。
  • 敏捷模型落地:内置 Graph-Learn 支持端到端的 GNN 训练,算法工程师可直接在图数据上快速验证新策略,模型迭代周期缩短至天级。

GraphScope 通过融合阿里核心图技术,将原本割裂复杂的图计算流程简化为统一高效的闭环,让超大规模图数据的实时价值挖掘变得触手可及。

运行环境要求

操作系统
  • Linux (Ubuntu 20.04+
  • CentOS 7+)
  • macOS 12+ (Intel/Apple silicon)
  • Windows (需通过 WSL2 安装 Ubuntu)
GPU

未说明

内存

未说明

依赖
notes支持单机模式或 Kubernetes 集群模式运行。Windows 用户建议使用 WSL2。工具集成了 GRAPE、MaxGraph、Graph-Learn 和 Vineyard 等组件。可通过 pip 直接安装。
python3.8+
pip>=19.3
GraphScope hero image

快速开始

graphscope-logo

阿里巴巴推出的一站式大规模图计算系统

GraphScope CI Coverage Playground Open in Colab Artifact HUB Docs-en FAQ-en Docs-zh FAQ-zh README-zh ACM DL

🎉 请查看我们正在推进的 GraphScope Flex:一款受乐高启发、模块化且用户友好的 GraphScope 升级版本。🎉

GraphScope 是一个统一的分布式图计算平台,通过友好的 Python 接口,在计算机集群上提供一站式环境,用于执行各种图操作。GraphScope 将阿里巴巴的多项关键技术相结合,使得在计算集群上对大规模图数据进行多阶段处理变得简单易行:其中包括用于分析、交互式查询和图神经网络(GNN)计算的 GRAPEMaxGraphGraph-Learn(GL),以及提供高效内存间数据传输的存储系统 Vineyard

访问我们的官网 graphscope.io,了解更多详情。

最新消息

  • [2025年4月21日] 🏆 GraphScope 使用声明式查询语言 CYPHER,在 LDBC 社交网络基准交互式工作负载 上取得了突破性成果,SF300 规模下的吞吐量比此前的纪录保持者高出 2.0 倍!🏆
  • [2024年7月31日] 🎢 我们上线了一个可视化页面,展示了 GraphScope 在图计算领域的演进历程。立即查看!
  • [2024年5月30日] 🏅 LDBC 宣布,GraphScope Flex 创下了新的 [SNB Interactive 审计结果] 纪录,相关消息已在 X(Twitter) 上发布!
  • [2024年3月25日] 🙌🏻 我们将图文件格式 GraphAr 捐赠给 Apache 软件基金会,作为孵化项目。
  • [2024年2月5日] 🎉 GraphScope Flex 的论文 (arXiv.org) 已被 SIGMOD 2024 行业赛道收录。智利见!
  • [2023年12月19日] 📑 介绍 GraphScope Flex 的论文已在 arXiv.org 上发布。
  • [2023年7月20日] 🏆 GraphScope 在 LDBC 社交网络基准交互式工作负载 上再次刷新纪录,SF300 规模下的吞吐量比之前的纪录保持者高出 2.45 倍!🏆
  • [2023年7月4日] 🚀 GraphScope Flex 技术预览版随 v0.23.0 一同发布。

目录

快速入门

我们提供一个托管的 JupyterLab 环境 Playground。您可以在浏览器中直接体验 GraphScope

GraphScope 支持单机模式运行,也支持在由 Kubernetes 管理的容器集群上运行。为了快速上手,我们先从单机模式开始吧。

单机模式安装

GraphScope 的预编译包以 Python 包的形式分发,可以使用 pip 轻松安装。

pip3 install graphscope

请注意,graphscope 需要 Python >= 3.8 以及 pip >= 19.3。该包针对最流行的 Linux 发行版(Ubuntu 20.04+ / CentOS 7+)和 macOS 12+(Intel/Apple Silicon)进行了构建和测试。对于 Windows 用户,建议在 WSL2 上安装 Ubuntu 来使用此包。

接下来,我们将通过一个具体示例,展示数据科学家如何利用 GraphScope 有效地分析大型图数据。

演示:引用网络上的节点分类

ogbn-mag 是一个异构网络,由 Microsoft 学术图谱的一个子集构成。它包含 4 种类型的实体(即论文、作者、机构和研究领域),以及四种连接两种实体的有向关系。

给定异构的 ogbn-mag 数据,任务是预测每篇论文的类别。节点分类可以识别出属于多个期刊或会议的论文,这些期刊或会议代表了不同主题下的科学工作群体。我们同时利用属性信息和结构信息来对论文进行分类。在图中,每篇论文节点包含一个 128 维的 word2vec 向量,用于表示其内容,该向量通过对标题和摘要中单词嵌入的平均得到。单个单词的嵌入是预先训练好的。而结构信息则是在运行时动态计算的。

加载图

GraphScope 将图数据建模为属性图,在这种模型中,边和顶点都有标签,并且可以拥有多种属性。 以 ogbn-mag 为例,下图展示了属性图的模型。

sample-of-property-graph

该图有四种类型的顶点,分别标记为 paperauthorinstitutionfield_of_study。它们之间存在四类边,每种边都有一个标签,并指定了其两端顶点的类型。例如,cites 边连接两个标记为 paper 的顶点。另一个例子是 writes,它要求源顶点标记为 author,目标顶点标记为 paper。所有的顶点和边都可以具有属性,比如 paper 顶点可能包含特征、发表年份、学科标签等属性。

要使用我们的检索模块将此图加载到 GraphScope 中,请使用以下代码:

import graphscope
from graphscope.dataset import load_ogbn_mag

g = load_ogbn_mag()

我们提供了一组函数,用于从 ogbsnap 加载图数据集,以方便用户使用。所有可用的图可以在 这里 找到。如果您想使用自己的图数据,请参考 这篇文档,按照标签加载顶点和边。

交互式查询

交互式查询允许用户以探索性的方式直接浏览、检查和展示图数据,以便及时找到特定或深入的信息。 GraphScope 采用一种称为 Gremlin 的高级语言来进行图遍历,并提供了大规模下的高效执行能力 [interactive_engine/benchmark/]。

在本例中,我们使用图遍历统计两位给定作者共同撰写的论文数量。为了简化查询,我们假设这两位作者可以通过 ID 分别唯一地标识为 24307

# 获取在图 g 上提交 Gremlin 查询的端点。
interactive = graphscope.gremlin(g)

# 统计两位作者(ID 分别为 2 和 4307)共同撰写的论文数量
papers = interactive.execute("g.V().has('author', 'id', 2).out('writes').where(__.in('writes').has('id', 4307)).count()").one()

图分析

图分析在现实世界中被广泛应用。许多算法,如社区检测、路径与连通性、中心性等,已被证明在各种业务场景中非常有用。 GraphScope 内置了一组 内置算法,使用户能够轻松地分析他们的图数据。

继续我们的示例,下面我们将首先通过提取整个图中特定时间段内的出版物来构建一个子图(使用 Gremlin!),然后运行 k-core 分解和三角形计数,以生成每个论文节点的结构特征。

请注意,许多算法可能只适用于 同质 图,因此,要在属性图上评估这些算法,我们需要先将其投影为简单图。

# 提取一个时间范围内的出版物子图
sub_graph = interactive.subgraph("g.V().has('year', gte(2014).and(lte(2020))).outE('cites')")

# 将投影后的图转换为简单图。
simple_g = sub_graph.project(vertices={"paper": []}, edges={"cites": []})

ret1 = graphscope.k_core(simple_g, k=5)
ret2 = graphscope.triangles(simple_g)

# 将结果作为新列添加到引用图中
sub_graph = sub_graph.add_column(ret1, {"kcore": "r"})
sub_graph = sub_graph.add_column(ret2, {"tc": "r"})

此外,用户还可以在 GraphScope 中编写自己的算法。 目前,GraphScope 支持用户基于 Pregel 模型和 PIE 模型编写自定义算法。

图神经网络 (GNNs)

图神经网络 (GNNs) 结合了图分析和机器学习的优势。GNN 算法可以将图中的结构和属性信息压缩成每个节点上的低维嵌入向量。这些嵌入可以进一步输入到下游的机器学习任务中。

在我们的示例中,我们训练了一个 GCN 模型,将节点(论文)分类为 349 个类别, 每个类别代表一个期刊或会议(例如预印本和会议)。 为此,我们首先启动一个学习引擎,并按照上一步骤构建带有特征的图。


# 定义用于学习的特征
paper_features = [f"feat_{i}" for i in range 128]

paper_features.extend(["kcore", "tc"])

# 启动一个学习引擎。
lg = graphscope.graphlearn(sub_graph, nodes=[("paper", paper_features)],
                  edges=[("paper", "cites", "paper")],
                  gen_labels=[
                      ("train", "paper", 100, (0, 75)),
                      ("val", "paper", 100, (75, 85)),
                      ("test", "paper", 100, (85, 100))
                  ])

然后我们定义训练过程并运行它。

# 注意:这里我们使用 tensorflow 作为 NN 后端来训练 GNN 模型。因此请安装 tensorflow。
try:
    # https://www.tensorflow.org/guide/migrate
    import tensorflow.compat.v1 as tf
    tf.disable_v2_behavior()
except ImportError:
    import tensorflow as tf

import graphscope.learning
from graphscope.learning.examples import EgoGraphSAGE
from graphscope.learning.examples import EgoSAGESupervisedDataLoader
from graphscope.learning.examples.tf.trainer import LocalTrainer

# 有监督的 GCN。
def train_gcn(graph, node_type, edge_type, class_num, features_num,
              hops_num=2, nbrs_num=[25, 10], epochs=2,
              hidden_dim=256, in_drop_rate=0.5, learning_rate=0.01,
):
    graphscope.learning.reset_default_tf_graph()

    dimensions = [features_num] + [hidden_dim] * (hops_num - 1) + [class_num]
    model = EgoGraphSAGE(dimensions, act_func=tf.nn.relu, dropout=in_drop_rate)

    # 准备训练数据集
    train_data = EgoSAGESupervisedDataLoader(
        graph, graphscope.learning.Mask.TRAIN,
        node_type=node_type, edge_type=edge_type, nbrs_num=nbrs_num, hops_num=hops_num,
    )
    train_embedding = model.forward(train_data.src_ego)
    train_labels = train_data.src_ego.src.labels
    loss = tf.reduce_mean(
        tf.nn.sparse_softmax_cross_entropy_with_logits(
            labels=train_labels, logits=train_embedding,
        )
    )
    optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)

    # 准备测试数据集
    test_data = EgoSAGESupervisedDataLoader(
        graph, graphscope.learning.Mask.TEST,
        node_type=node_type, edge_type=edge_type, nbrs_num=nbrs_num, hops_num=hops_num,
    )
    test_embedding = model.forward(test_data.src_ego)
    test_labels = test_data.src_ego.src.labels
    test_indices = tf.math.argmax(test_embedding, 1, output_type=tf.int32)
    test_acc = tf.div(
        tf.reduce_sum(tf.cast(tf.math.equal(test_indices, test_labels), tf.float32)),
        tf.cast(tf.shape(test_labels)[0], tf.float32),
    )

    # 训练和测试
    trainer = LocalTrainer()
    trainer.train(train_data.iterator, loss, optimizer, epochs=epochs)
    trainer.test(test_data.iterator, test_acc)

train_gcn(lg, node_type="paper", edge_type="cites",
          class_num=349,  # 输出维度
          features_num=130,  # 输入维度,128 + kcore + 三角形计数
)

包含整个流程的 Python 脚本可在这里找到,您可以自行尝试。

在 Kubernetes 集群上处理大规模图

GraphScope 专为处理大规模图而设计,这类图通常难以容纳在单台机器的内存中。借助 Vineyard 作为分布式内存数据管理器,GraphScope 支持在由 Kubernetes (k8s) 管理的集群上运行。

要继续本教程,请确保您拥有一个由 k8s 管理的集群,并了解该集群的凭据(例如 k8s API 服务器的地址,通常存储在 ~/.kube/config 文件中)。

或者,您也可以使用 Kind 设置一个本地 k8s 集群进行测试。您可以参考 快速入门 安装并部署 Kind。

如果您在上述步骤中未安装 graphscope 包,可以仅安装包含客户端功能的子集:

pip3 install graphscope-client

接下来,让我们通过在集群上运行来重新审视这个示例。

how-it-works

该图展示了集群模式下的执行流程。当用户在 Python 客户端中运行代码时,它将:

  • 步骤 1:在 GraphScope 中创建会话或工作空间。
  • 步骤 2 至步骤 5:通过 Python 接口加载图、查询、分析并在该图上运行学习任务。这些步骤与本地模式相同,因此用户可以在分布式环境中处理大型图,就像在单台机器上分析小型图一样。(请注意,graphscope.gremlingraphscope.graphlearn 需分别替换为 sess.gremlinsess.graphlearn,其中 sess 是用户创建的 Session 实例的名称。)
  • 步骤 6:关闭会话。

创建会话

要在分布式环境中使用 GraphScope,我们需要在 Python 解释器中建立一个会话。

为了方便起见,我们提供了几个演示数据集,并提供了一个 with_dataset 选项,用于将数据集挂载到 GraphScope 集群中。这些数据集将被挂载到 Pod 中的 /dataset 目录下。如果您想在 k8s 集群上使用自己的数据,请参阅此处

import graphscope

sess = graphscope.session(with_dataset=True)

对于 macOS 系统,会话需要以 LoadBalancer 服务类型启动(默认为 NodePort)。

import graphscope

sess = graphscope.session(with_dataset=True, k8s_service_type="LoadBalancer")

会话会尝试启动一个协调器,它是后端引擎的入口。协调器管理着一组资源(k8s Pod),以及在这些 Pod 上运行的交互式、分析和学习引擎。集群中的每个 Pod 都有一个 Vineyard 实例,用于提供分布式内存数据服务。

加载图并处理计算任务

与独立模式类似,我们仍然可以使用函数轻松加载图。

from graphscope.dataset import load_ogbn_mag

# 注意我们已将演示数据集挂载到 /dataset,
# 其中包括 ogbn_mag_small 等多个数据集,
# 用户可以进入引擎容器探索该目录。
g = load_ogbn_mag(sess, "/dataset/ogbn_mag_small/")

在这里,图 g 通过 Vineyard 并行加载,并存储在由会话管理的集群中的 Vineyard 实例中。

接下来,我们可以像在独立模式中一样,使用 Gremlin 进行图查询、调用各种图算法,或运行基于图的神经网络任务。这里不再重复代码,但一个在 k8s 上处理分类任务的 .ipynb 文件已在 Playground 上提供。

关闭会话

分布式环境中的另一个额外步骤是关闭会话。在完成所有图任务后,我们关闭会话。

sess.close()

此操作将通知后端引擎和 Vineyard 安全地卸载图及其应用程序,然后协调器将释放 k8s 集群中所有已申请的资源。

请注意,我们尚未针对生产环境对这一发布版本进行加固,它缺乏身份验证和加密等重要安全特性,因此目前不建议用于生产环境!

开发

在本地构建

要构建 GraphScope 的 Python 包和引擎二进制文件,您需要安装一些依赖项和构建工具。

python3 gsctl.py install-deps dev

# 如果您在中国,可使用 --cn 参数加速下载。
python3 gsctl.py install-deps dev --cn

然后,您可以使用预配置的 make 命令构建 GraphScope。

# 构建完整的 GraphScope 包,包括 Python 包和引擎二进制文件。
sudo make install

# 或者构建引擎组件

# 使具有交互性
# 使具有分析性
# 使具有学习性

构建 Docker 镜像

GraphScope 自带一个 Dockerfile,可用于构建用于发布的 Docker 镜像。这些镜像是基于一个安装了所有依赖项的 builder 镜像构建的,随后将内容复制到 runtime-base 镜像中。要构建最新版本的 GraphScope 镜像,请进入根目录下的 k8s/internal 目录,并运行以下命令。

# 默认情况下,构建的镜像会被打上标签 graphscope/graphscope:SHORTSHA
# cd k8s
make graphscope

构建客户端库

GraphScope 的 Python 接口与引擎镜像是分开的。如果您正在开发 Python 客户端且未修改 Protobuf 文件,则无需重新构建引擎镜像。

您可能希望在本地重新安装 Python 客户端:

make client

请注意,学习引擎客户端包含 C/C++ 扩展模块,搭建构建环境较为繁琐。默认情况下,本地构建的客户端库不包含对学习引擎的支持。如果您希望构建支持学习引擎的客户端库,请参阅 构建 Python Wheels

测试

为了验证您开发的功能是否正确,您的代码更改应通过我们的测试。

您可以使用以下命令运行整个测试套件:

make test

文档

文档可以使用 Sphinx 生成。用户可以通过以下命令构建文档:

# 构建文档
make graphscope-docs

# 在本地打开预览
open docs/_build/latest/html/index.html

最新版在线文档可在 https://graphscope.io/docs 找到。

许可证

GraphScope 采用 Apache License 2.0 许可证发布。请注意,第三方库的许可证可能与 GraphScope 不同。

出版物

  • Tao He, Shuxian Hu, Longbin Lai, Dongze Li, Neng Li, Xue Li, Lexiao Liu, Xiaojian Luo, Binqing Lyu, Ke Meng, Sijie Shen, Li Su, Lei Wang, Jingbo Xu, Wenyuan Yu, Weibin Zeng, Lei Zhang, Siyuan Zhang, Jingren Zhou, Xiaoli Zhou, Diwen Zhu. GraphScope Flex: LEGO 式图计算栈。2024 年国际数据管理会议 (SIGMOD) 行业分会场论文,2024 年。
  • Wenfei Fan, Tao He, Longbin Lai, Xue Li, Yong Li, Zhao Li, Zhengping Qian, Chao Tian, Lei Wang, Jingbo Xu, Youyang Yao, Qiang Yin, Wenyuan Yu, Jingren Zhou, Diwen Zhu, Rong Zhu. GraphScope:用于大规模图处理的统一引擎。第 47 届国际大型数据库会议 (VLDB),行业分会场论文,2021 年。
  • Jingbo Xu, Zhanning Bai, Wenfei Fan, Longbin Lai, Xue Li, Zhao Li, Zhengping Qian, Lei Wang, Yanyan Wang, Wenyuan Yu, Jingren Zhou. GraphScope:一站式大规模图处理系统。第 47 届国际大型数据库会议 (VLDB),演示论文,2021 年。

如果您使用本软件,请使用以下元数据引用我们的论文:

# GraphScope 论文
@article{fan2021graphscope,
  title={GraphScope: a unified engine for big graph processing},
  author={Fan, Wenfei and He, Tao and Lai, Longbin and Li, Xue and Li, Yong and Li, Zhao and Qian, Zhengping and Tian, Chao and Wang, Lei and Xu, Jingbo and others},
  journal={Proceedings of the VLDB Endowment},
  volume={14},
  number={12},
  pages={2879--2892},
  year={2021},
  publisher={VLDB Endowment}
}
# 或 GraphScope Flex 论文
@inproceedings{10.1145/3626246.3653383,
  title = {GraphScope Flex: LEGO-like Graph Computing Stack},
  author = {He, Tao and Hu, Shuxian and Lai, Longbin and Li, Dongze and Li, Neng and Li, Xue and Liu, Lexiao and Luo, Xiaojian and Lyu, Bingqing and Meng, Ke and Shen, Sijie and Su, Li and Wang, Lei and Xu, Jingbo and Yu, Wenyuan and Zeng, Weibin and Zhang, Lei and Zhang, Siyuan and Zhou, Jingren and Zhou, Xiaoli and Zhu, Diwen},
  year = {2024},
  isbn = {9798400704222},
  publisher = {Association for Computing Machinery},
  booktitle = {Companion of the 2024 International Conference on Management of Data},
  pages = {386–399},
  numpages = {14},
  location = {Santiago AA, Chile},
  series = {SIGMOD/PODS '24}
}

贡献

您的任何贡献都将受到高度赞赏

  • 加入 Slack 频道 进行讨论。
  • 如发现错误,请提交 GitHub 问题。
  • 请通过拉取请求提交您的贡献。

版本历史

v0.31.02025/01/27
v0.30.02025/01/03
v0.29.02024/09/29
v0.28.02024/07/03
v0.27.02024/03/29
v0.26.02024/01/25
v0.25.02023/11/10
v0.24.02023/09/01
v0.23.02023/07/04
v0.22.02023/06/06
v0.21.02023/04/25
v0.20.02023/03/16
v0.19.02023/01/18
v0.18.02022/12/02
v0.17.02022/09/29
v0.16.02022/08/12
v0.15.02022/07/06
v0.14.02022/06/09
v0.13.02022/05/06
v0.12.02022/04/02

常见问题

相似工具推荐

openclaw

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

349.3k|★★★☆☆|6天前
Agent开发框架图像

ML-For-Beginners

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

85.1k|★★☆☆☆|2天前
图像数据工具视频

funNLP

funNLP 是一个专为中文自然语言处理(NLP)打造的超级资源库,被誉为"NLP 民工的乐园”。它并非单一的软件工具,而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。 面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点,funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具,还独特地收录了丰富的垂直领域资源,如法律、医疗、金融行业的专用词库与数据集,甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性,从基础的字典词典到前沿的 BERT、GPT-2 模型代码,再到高质量的标注数据和竞赛方案,应有尽有。 无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师,还是从事人工智能研究的学者,都能在这里找到急需的“武器弹药”。对于开发者而言,它能大幅减少寻找数据和复现模型的时间;对于研究者,它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神,极大地降低了中文自然语言处理的开发与研究成本,是中文 AI 社区不可或缺的宝藏仓库。

79.9k|★☆☆☆☆|3天前
语言模型数据工具其他

cs-video-courses

cs-video-courses 是一个精心整理的计算机科学视频课程清单,旨在为自学者提供系统化的学习路径。它汇集了全球知名高校(如加州大学伯克利分校、新南威尔士大学等)的完整课程录像,涵盖从编程基础、数据结构与算法,到操作系统、分布式系统、数据库等核心领域,并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。 面对网络上零散且质量参差不齐的教学资源,cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容,仅收录真正的大学层级课程,排除了碎片化的简短教程或商业广告,确保用户能接触到严谨的学术内容。 这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员,以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽,不仅包含传统的软件工程与网络安全,还细分了生成式 AI、大语言模型、计算生物学等新兴学科,并直接链接至官方视频播放列表,让用户能一站式获取高质量的教育资源,免费享受世界顶尖大学的课堂体验。

79.8k|★☆☆☆☆|3天前
其他图像数据工具

ragflow

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

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

PaddleOCR

PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。

75.4k|★★★☆☆|今天
语言模型图像开发框架