DiCE

GitHub
1.5k 226 简单 1 次阅读 昨天MIT开发框架
AI 解读 由 AI 自动生成,仅供参考

DiCE 是一个开源工具,用于为任何机器学习模型生成多样化的反事实解释。简单来说,它可以帮助我们理解“如果某些条件发生变化,模型的预测结果会如何改变”。例如,当一个贷款申请被拒绝时,DiCE 可以告诉我们哪些具体因素的调整可能会让结果变成通过。

传统的方法往往只能提供一个单一的解释,而 DiCE 通过生成多个不同的反事实场景,帮助用户更全面地理解模型的决策逻辑。这在金融、医疗、教育等关键领域尤为重要,因为这些领域的决策通常需要透明和可解释性。

DiCE 特别适合研究人员和开发者使用,他们可以利用这个工具深入分析模型行为,或者将其集成到自己的系统中以提升模型的可解释性。对于非技术人员,DiCE 提供了丰富的文档和示例,便于理解和应用。

其独特之处在于,DiCE 不仅关注模型的输出结果,还通过扰动输入特征来生成多种可能的反事实解释,从而让用户更清楚地了解哪些因素真正影响了模型的判断。这种多样化的方式有助于发现潜在的偏见或改进方向。

使用场景

某银行信贷部门正在使用一个基于机器学习的自动化贷款审批系统,负责评估客户申请并决定是否批准贷款。然而,当客户被拒绝时,系统仅提供一个简短的解释,如“信用记录不佳”,但无法给出具体的改进建议。

没有 DiCE 时

  • 客户收到的解释过于笼统,无法明确知道如何改进以提高未来申请的成功率。
  • 银行难以向客户说明哪些具体因素影响了决策,导致客户对系统的公平性和透明度产生质疑。
  • 无法识别哪些特征是可修改的(如收入、负债),哪些是不可更改的(如性别、种族),从而影响客户体验和信任。
  • 缺乏多样化的解释方式,使得同一类客户可能得到相似的反馈,缺乏个性化指导。
  • 难以验证模型的决策逻辑是否合理,增加模型审计和合规风险。

使用 DiCE 后

  • 客户可以获取多种具体的反事实解释,例如:“若您的月收入提高至1.5万元,或负债率降低至30%,则贷款申请将更有可能被批准。”
  • 银行能够清晰展示影响决策的关键因素,并区分可调整与不可调整的变量,提升客户对系统的理解和信任。
  • 提供多样化的解释路径,使不同背景的客户都能获得适合自身情况的建议,增强个性化服务体验。
  • 帮助银行验证模型的可解释性,确保其符合监管要求,减少潜在的法律和合规风险。
  • 支持模型开发者深入分析模型行为,优化模型设计,提升整体决策质量。

DiCE 通过生成多样化的反事实解释,显著提升了机器学习模型在金融场景中的透明度与用户满意度。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明

内存

未说明

依赖
notesDiCE 支持通过 pip 或 conda 安装,安装时需确保已正确配置 Python 环境。对于深度学习模型,需要额外安装 requirements-deeplearning.txt 中的依赖项。
python3+
scikit-learn
pandas
numpy
tensorflow
pytorch
matplotlib
seaborn
scipy
DiCE hero image

快速开始

|PyPiVersion|_ |CondaVersion|_ |MITlicense| |PythonSupport|_ |Downloads|_

|BuildStatusTests|_ |BuildStatusNotebooks|_

.. |MITlicense| image:: https://img.shields.io/badge/License-MIT-blue.svg .. _MITlicense: https://img.shields.io/badge/License-MIT-blue.svg

.. |PyPiVersion| image:: https://img.shields.io/pypi/v/dice-ml .. _PyPiVersion: https://pypi.org/project/dice-ml/

.. |Downloads| image:: https://static.pepy.tech/personalized-badge/dice-ml?period=total&units=international_system&left_color=grey&right_color=orange&left_text=Downloads .. _Downloads: https://pepy.tech/project/dice-ml

.. |PythonSupport| image:: https://img.shields.io/pypi/pyversions/dice-ml .. _PythonSupport: https://pypi.org/project/dice-ml/

.. |CondaVersion| image:: https://anaconda.org/conda-forge/dice-ml/badges/version.svg .. _CondaVersion: https://anaconda.org/conda-forge/dice-ml

.. |BuildStatusTests| image:: https://github.com/interpretml/DiCE/actions/workflows/python-package.yml/badge.svg?branch=main .. _BuildStatusTests: https://github.com/interpretml/DiCE/actions/workflows/python-package.yml?query=workflow%3A%22Python+package%22

.. |BuildStatusNotebooks| image:: https://github.com/interpretml/DiCE/actions/workflows/notebook-tests.yml/badge.svg?branch=main .. _BuildStatusNotebooks: https://github.com/interpretml/DiCE/actions/workflows/notebook-tests.yml?query=workflow%3A%22Notebook+tests%22

用于机器学习的多样化反事实解释(DiCE)

如何解释一个机器学习模型,使其既忠实于模型本身,又易于人类理解?

Ramaravind K. Mothilal <https://raam93.github.io/>, Amit Sharma <http://www.amitsharma.in/>, Chenhao Tan <https://chenhaot.com/>

FAT* '20论文 <https://arxiv.org/abs/1905.07697>_ | 文档 <https://interpretml.github.io/DiCE/>_ | 示例笔记本 <https://github.com/interpretml/DiCE/tree/master/docs/source/notebooks>_ | 实时Jupyter笔记本 |Binder|_

.. |Binder| image:: https://mybinder.org/badge_logo.svg .. _Binder: https://mybinder.org/v2/gh/interpretML/DiCE/master?filepath=docs/source/notebooks

博客文章: 利用多样化反事实进行机器学习解释 <https://www.microsoft.com/en-us/research/blog/open-source-library-provides-explanation-for-machine-learning-through-diverse-counterfactuals/>

案例研究: Towards Data Science <https://towardsdatascience.com/dice-diverse-counterfactual-explanations-for-hotel-cancellations-762c311b2c64>_ (酒店预订) | Analytics Vidhya <https://medium.com/analytics-vidhya/dice-ml-models-with-counterfactual-explanations-for-the-sunk-titanic-30aa035056e0>_ (泰坦尼克号数据集)

.. image:: https://www.microsoft.com/en-us/research/uploads/prod/2020/01/MSR-Amit_1400x788-v3-1blog.gif :align: center :alt: 可视化反事实解释

解释对于机器学习至关重要,尤其是在金融、医疗、教育和刑事司法等关乎社会重大利益的领域中,基于机器学习的系统正被广泛用于辅助决策。 然而,大多数解释方法都依赖于对机器学习模型的近似来生成可解释的解释。例如, 假设某人申请了一笔贷款,却被一家金融公司的贷款发放算法拒绝了。通常,该公司会给出一个关于贷款被拒的原因的解释,比如“信用记录不佳”。然而,这样的解释并不能帮助申请人决定下一步该怎么做才能提高未来获批的可能性。更关键的是,最重要的特征可能根本不足以改变算法的决策,而且在实际中,有些特征甚至无法改变,比如性别和种族。

DiCE实现了反事实(CF)解释 <https://arxiv.org/abs/1711.00399>_,通过展示同一人的特征扰动版本来提供这类信息,这些版本的人本应获得贷款,例如:“如果你的收入再高1万美元,你就能获得贷款”。换句话说,它为模型输出提供了“如果……会怎样”的解释,并且可以作为其他解释方法的有效补充,无论是对终端用户还是对模型开发者而言。

不过,除了简单的线性模型外,要为任何机器学习模型生成有效的CF示例都相当困难。DiCE基于最新研究 <https://arxiv.org/abs/1905.07697>_,能够为任何机器学习模型生成CF解释。其核心思想是将寻找此类解释的问题转化为一个优化问题,类似于寻找对抗样本。关键区别在于,对于解释而言,我们需要的扰动既要能改变机器学习模型的输出,又要具有多样性且在现实中切实可行。因此,DiCE支持生成一组反事实解释,并且具备可调参数,用于控制解释的多样性和与原始输入的接近程度。此外,它还支持对特征施加简单约束,以确保生成的反事实示例切实可行。

安装DICE

DiCE支持Python 3及以上版本。DiCE的稳定版已在PyPI <https://pypi.org/project/dice-ml/>_上发布。

.. code:: bash

pip install dice-ml

DiCE也在conda-forge <https://anaconda.org/conda-forge/dice-ml>_上可用。

.. code:: bash

conda install -c conda-forge dice-ml

要安装DiCE的最新(开发)版本及其依赖项,需克隆此仓库并在仓库的最顶层文件夹中运行pip install

.. code:: bash

pip install -e .

如遇任何问题,可尝试手动安装依赖项。

.. code:: bash

pip install -r requirements.txt
# 针对深度学习模型的额外依赖
pip install -r requirements-deeplearning.txt
# 运行单元测试所需
pip install -r requirements-test.txt

开始使用DiCE

借助DiCE,生成解释只需三个简单步骤:准备数据集、训练模型,然后调用DiCE为任意输入生成反事实示例。DiCE也可以与预训练模型配合使用,无论是否拥有原始训练数据。

.. code:: python

import dice_ml
from dice_ml.utils import helpers # 辅助函数
from sklearn.model_selection import train_test_split

数据集 = helpers.load_adult_income_dataset()
目标变量 = 数据集["income"] # 结果变量 
训练集、测试集、以及剩余部分,通过train_test_split分割数据集,
                                                     目标变量,
                                                     测试集占比20%,
                                                     随机种子0,
                                                     按目标变量分层抽样
# 用于训练机器学习模型的数据集
d = dice_ml.Data(dataframe=train_dataset,
                 连续特征['年龄', '每周工作小时数'],
                 结果名称='收入')

# 预训练的机器学习模型
m = dice_ml.Model(model_path=dice_ml.utils.helpers.get_adult_income_modelpath(),
                  后端='TF2', 函数="ohe-min-max")
# DiCE解释实例
exp = dice_ml.Dice(d,m)

对于任意给定的输入,我们现在可以生成反事实解释。例如, 以下输入会导致类别0(低收入),而我们想知道哪些最小的变化能够使预测结果变为1(高收入)。

.. code:: python

# 生成反事实示例
查询实例 = test_dataset.drop(columns="收入")[0:1]
dice_exp = exp.generate_counterfactuals(query_instance, total_CFs=4, desired_class="opposite")
# 可视化反事实解释
dice_exp.visualize_as_dataframe()

.. image:: https://raw.githubusercontent.com/interpretml/DiCE/master/docs/_static/getting_started_updated.png :width: 400 :alt: 反事实示例列表

您可以通过以下方式保存生成的反事实示例。

.. code:: python

# 将生成的反事实示例保存到磁盘
dice_exp.cf_examples_list[0].final_cfs_df.to_csv(path_or_buf='counterfactuals.csv', index=False)

更多详情,请参阅docs/source/notebooks <https://github.com/interpretml/DiCE/tree/master/docs/source/notebooks>_文件夹。这里有一些示例笔记本:

  • 入门指南 <https://github.com/interpretml/DiCE/blob/master/docs/source/notebooks/DiCE_getting_started.ipynb>_: 为sklearntensorflowpytorch二分类器生成CF示例,并计算特征重要性得分。
  • 解释多类分类器和回归器 <https://github.com/interpretml/DiCE/blob/master/docs/source/notebooks/DiCE_multiclass_classification_and_regression.ipynb>_: 为多类分类器或回归器生成CF解释。
  • 局部与全局特征重要性 <https://github.com/interpretml/DiCE/blob/master/docs/source/notebooks/DiCE_feature_importances.ipynb>_: 利用生成的反事实估计局部和全局特征重要性得分。
  • 为反事实生成设定约束 <https://github.com/interpretml/DiCE/blob/master/docs/source/notebooks/DiCE_model_agnostic_CFs.ipynb>_: 指定需要变化的特征及其允许范围,以确保生成的反事实示例有效。

支持的反事实生成方法

DiCE可以使用以下方法生成反事实示例。

与模型无关的方法

  • 随机采样
  • KD树(用于训练数据内的反事实)
  • 遗传算法

请参阅与模型无关的笔记本 <https://github.com/interpretml/DiCE/blob/master/docs/source/notebooks/DiCE_model_agnostic_CFs.ipynb>_,了解如何使用这些方法的代码示例。

基于梯度的方法

  • Mothilal等人(2020年) <https://arxiv.org/abs/1905.07697>_中描述的显式损失驱动方法(深度学习模型的默认方法)。
  • Mahajan等人(2019年) <https://arxiv.org/abs/1912.03277>中描述的变分自编码器(VAE)方法(参见BaseVAE的笔记本 <https://github.com/interpretml/DiCE/blob/master/docs/notebooks/DiCE_getting_started_feasible.ipynb>)。

后两种方法需要可微分的模型,例如神经网络。如果您对某种特定方法感兴趣,请在此处提交问题here <https://github.com/interpretml/DiCE/issues>_。

支持的使用场景

数据

DiCE并不需要访问完整的数据集。它只需要每个特征的元数据属性(连续特征的最小值、最大值,以及分类特征的取值水平)。因此,对于敏感数据,可以这样提供数据集:

.. code:: python

d = data.Data(features={
                   '年龄':[17, 90],
                   '工作单位': ['政府', '其他/未知', '私人', '个体经营'],
                   '教育': ['协会', '学士', '博士', '高中毕业', '硕士', '专业学校', '学校', '一些大学'],
                   '婚姻状况': ['离婚', '已婚', '分居', '单身', '丧偶'],
                   '职业':['蓝领', '其他/未知', '专业人士', '销售', '服务', '白领'],
                   '种族': ['其他', '白人'],
                   '性别':['女性', '男性'],
                   '每周工作小时数': [1, 99]},
         结果名称='收入')

模型

我们既支持预训练模型,也支持训练新模型。这里有一个使用Tensorflow的简单示例。

.. code:: python

sess = tf.InteractiveSession()
# 生成训练和测试数据
训练集,_ = d.split_data(d.normalize_data(d.one_hot_encoded_data))
X_train = train.loc[:, train.columns != '收入']
y_train = train.loc[:, train.columns == '收入']
# 拟合一个密集型神经网络模型
ann_model = keras.Sequential()
ann_model.add(keras.layers.Dense(20, input_shape=(X_train.shape[1],), kernel_regularizer=keras.regularizers.l1(0.001), activation=tf.nn.relu))
ann_model.add(keras.layers.Dense(1, activation=tf.nn.sigmoid))
ann_model.compile(loss='binary_crossentropy', optimizer=tf.keras.optimizers.Adam(0.01), metrics=['accuracy'])
ann_model.fit(X_train, y_train, validation_split=0.20, epochs=100, verbose=0, class_weight={0:1,1:2})

# 生成用于解释的DiCE模型
m = model.Model(model=ann_model)

请参阅入门指南 <https://github.com/interpretml/DiCE/blob/master/docs/source/notebooks/DiCE_getting_started.ipynb>_笔记本,查看使用DiCE结合sklearn和PyTorch模型的代码示例。

解释

我们通过一张表格来可视化解释,突出显示特征的变化。我们还计划支持英文解释!

反事实解释的可行性

我们承认,并非所有反事实解释对用户来说都是可行的。一般来说,越接近个人特征的反事实就越容易实现。同时,多样性也很重要,可以帮助个人在多个可能选项之间做出选择。

DiCE提供了可调参数,用于控制多样性和与原始输入的接近程度,从而生成不同类型的解释。

.. code:: python

dice_exp = exp.generate_counterfactuals(query_instance,
                total_CFs=4, desired_class="opposite",
                proximity_weight=1.5, diversity_weight=1.0)

此外,某些特征可能比其他特征更难改变(例如,教育程度比每周工作小时数更难改变)。DiCE允许通过指定特征权重来输入特征改变的相对难度。较高的特征权重意味着该特征比其他特征更难改变。例如,一种方法是使用与中位数的平均绝对偏差作为衡量连续特征改变相对难度的指标。默认情况下,DiCE会在内部计算这一指标,并将连续特征之间的距离除以该特征在训练集中数值的MAD。我们也可以通过feature_weights参数赋予不同的值。

.. code:: python

# 赋予新的权重
feature_weights = {'年龄': 10, '每周工作小时数': 5}
# 现在使用新的特征权重生成解释
dice_exp = exp.generate_counterfactuals(query_instance,
                total_CFs=4, desired_class="opposite",
                feature_weights=feature_weights)

最后,有些特征是无法改变的,比如年龄或种族。因此,DiCE也允许输入需要变化的特征列表。

.. code:: python

dice_exp = exp.generate_counterfactuals(query_instance,
                total_CFs=4, desired_class="opposite",
                features_to_vary=['年龄','工作单位','教育','职业','每周工作小时数'])

它还支持对特征施加简单的约束,以反映实际限制(例如,每周工作小时数应在10至50之间,可通过permitted_range参数设置)。

更多详情,请参阅this <https://github.com/interpretml/DiCE/blob/master/docs/source/notebooks/DiCE_model_agnostic_CFs.ipynb>_笔记本。

反事实解释的承诺

反事实解释忠实于模型,对于因机器学习模型作出的决策,对所有利益相关者都可能很有用。

  • 决策对象:反事实解释可用于探索针对某人因机器学习模型作出的决策所采取的可行补救措施。DiCE展示了带有可操作替代特征配置的决策结果,以帮助人们了解自己原本可以做些什么来改变模型的结果。

  • 机器学习模型开发者:反事实解释也有助于模型开发者调试模型,查找潜在问题。DiCE可用于为选定的输入生成CF解释,从而揭示某些特征是否存在有问题的(不)独立性(例如,对于95%的输入,改变特征X和Y会改变结果,但对另外5%则不然)。我们旨在支持汇总指标,以帮助开发者调试机器学习模型。

  • 决策者:反事实解释可能对诸如医生或法官之类的决策者有用,他们可能会使用机器学习模型作出决策。对于特定个人,DiCE允许深入探究机器学习模型,查看可能导致不同模型结果的可能变化,从而使决策者能够评估自己对预测的信任程度。

  • 决策评估者:最后,反事实解释也可能对决策评估者有用,他们可能关注机器学习模型的公平性或其他理想特性。我们计划在未来支持这一功能。

路线图

理想情况下,反事实解释应在建议的广泛变化范围(多样性)与采纳这些变化的相对容易程度(与原始输入的接近程度)之间取得平衡,并且还要遵循世界的因果规律,例如,一个人很难降低自己的教育程度或改变自己的种族。

我们正在努力为DiCE添加以下功能:

  • 支持使用DiCE调试机器学习模型
  • 构建英文短语(例如,“如果改变了特征,就会得到期望的结果”)以及其他输出反事实示例的方式
  • 使用反事实评估LIME和SHAP等特征归因方法的必要性和充分性指标(参见this paper <https://arxiv.org/abs/2011.04917>_)
  • 支持贝叶斯优化及其他算法生成反事实解释
  • 更好的反事实生成可行性约束

引用

如果您发现DiCE对您的研究工作有帮助,请按如下方式引用。

Ramaravind K. Mothilal、Amit Sharma和Chenhao Tan(2020年)。通过多样化反事实解释来解释机器学习分类器2020年公平、问责与透明度会议论文集

Bibtex::

@inproceedings{mothilal2020dice,
		title={通过多样化反事实解释来解释机器学习分类器},
		author={Mothilal, Ramaravind K 和 Sharma, Amit 和 Tan, Chenhao},
		booktitle={2020年公平、问责与透明度会议论文集},
		pages={607--617},
		year={2020}
}

贡献

本项目欢迎贡献与建议。大多数贡献都需要您同意一份《贡献者许可协议》(CLA),声明您有权并确实授予我们使用您贡献的权利。详情请访问https://cla.microsoft.com。

当您提交拉取请求时,CLA机器人会自动判断您是否需要提供CLA,并相应地标注PR(例如,添加标签、留言)。您只需按照机器人提供的指示操作即可。在整个使用我们CLA的项目中,您只需完成一次即可。

本项目已采用微软开源行为准则 <https://opensource.microsoft.com/codeofconduct/>。 更多信息请参阅行为准则常见问题 <https://opensource.microsoft.com/codeofconduct/faq/>,或如有任何其他问题或意见,请联系opencode@microsoft.com <mailto:opencode@microsoft.com>_。

版本历史

v0.122025/07/13
v0.112023/10/26
v0.102023/06/26
v0.92022/10/19
v0.82022/06/02
v0.7.22021/09/27
v0.7.12021/08/24
v0.72021/08/17
v0.6.12021/05/10
v0.62021/04/28
v0.52021/03/01
v0.42020/09/22
v0.22020/03/17

常见问题

相似工具推荐

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图像开发框架