跳转到主要内容

🔌 为Argilla提供具有实用功能的开源插件,使用监听器。

项目描述

Argilla Plugins

🔌 为额外功能和工作流程提供开源插件

为什么? Argilla的设计是有意为之的可编程的(即,开发者可以构建复杂的读取和更新数据集的工作流程)。然而,有一些工作流程和功能在各个用例中是通用的,并且可以从开发人员体验的角度简化。为了促进关键工作流程的重用并赋予社区力量,Argilla Plugins提供了一系列扩展,以增强您的Argilla用例。其中一些可插拔方法最终可能集成到Argilla的核心中。

快速入门

pip install argilla-plugins
from argilla_plugins.datasets import end_of_life

plugin = end_of_life(
    name="plugin-test",
    end_of_life_in_seconds=100,
    execution_interval_in_seconds=5,
    discard_only=False
)
plugin.start()

如何开发插件

  1. 从主题列表或我们的问题概览中选择一个酷炫的插件。
  2. 像下面这样考虑插件的一个抽象。
  3. 参考问题中的解决方案。
    1. 分支仓库。
    2. 提交您的代码
    3. 提交PR。
  4. 保持简单。
  5. 享受乐趣。

开发要求

功能

我们希望插件尽可能抽象,因此它们必须能够在3行代码内使用。

from argilla_plugins.topic import plugin
plugin(name="dataset_name", ws="workspace" query="query", interval=1.0)
plugin.start()

变量

变量namewsquery应尽可能在整个插件中重复使用。类似地,某些函数可能包含类似name_fromquery_from的适应。尽可能多地重复使用变量。

哦,别忘了享受乐趣!🤓

主题

报告

是什么? 创建关于数据集活动、数据集功能、标注任务、模型预测等的交互式报告。

插件

  • 使用 datapane 自动生成报告的插件。 问题
  • great-expectations 自动生成报告的插件。 问题

数据集

这是什么? 涉及到数据集级别的操作,例如工作分配、数据集同步和记录去重。

插件

  • 在数据集之间同步数据。
  • 删除重复记录。 问题
  • 创建训练/测试分割。 问题
  • 设置数据集中记录的限制
    • 生命周期结束。 问题
    • 记录的最大数量。 问题

生命周期结束

自动在 x 秒后将记录删除或弃用。

from argilla_plugins.datasets import end_of_life

plugin = end_of_life(
    name="plugin-test",
    end_of_life_in_seconds=100,
    execution_interval_in_seconds=5,
    discard_only=False
)
plugin.start()

程序化标注

这是什么? 根据启发式方法自动更新 标注预测 标签以及 记录 的预测。

插件

  • 将标注的跨度作为标签的 gazetteer。 问题
  • 使用向量搜索查询和相似度阈值。 问题
  • 使用 gazetteer 进行标注。 问题
  • 使用 Snorkel 或 MajorityVoter 从规则中实现标注/预测的物化。 问题

标记拷贝猫

如果我们为像 NER 这样的文本标注跨度,我们相对确信这些跨度应该在整个数据集中被一致标注。我们可以使用这个假设来开始标注或预测之前未见过的数据。

from argilla_plugins import token_copycat

plugin = token_copycat(
    name="plugin-test",
    query=None,
    copy_predictions=True,
    word_dict_kb_predictions={"key": {"label": "label", "score": 0}},
    copy_annotations=True,
    word_dict_kb_annotations={"key": {"label": "label", "score": 0}},
    included_labels=["label"],
    case_sensitive=True,
    execution_interval_in_seconds=1,
)
plugin.start()

主动学习

这是什么? 在这个过程中,学习算法可以交互性地查询用户(或一些其他信息源)来标注新的数据点。

插件

  • TextClassification 进行主动学习。
  • TokenClassification 进行主动学习。 问题
from argilla_plugins import classy_learner

plugin = classy_learner(
    name="plugin-test",
    query=None,
    model="all-MiniLM-L6-v2",
    classy_config=None,
    certainty_threshold=0,
    overwrite_predictions=True,
    sample_strategy="fifo",
    min_n_samples=6,
    max_n_samples=20,
    batch_size=1000,
    execution_interval_in_seconds=5,
)
plugin.start()

推理端点

这是什么? 当记录记录到 Argilla 时,自动将预测添加到记录中。这可以用于轻松地使用现有模型或服务预标注数据集。

  • 使用未经认证的端点进行推理。 问题
  • 在后台嵌入传入的记录。 问题

训练端点

这是什么? 根据数据集标注自动训练模型。

  • 待定

建议

您有任何建议吗?请 提交问题 🤓

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。

源分布

argilla-plugins-0.1.3.tar.gz (16.7 kB 查看哈希值)

上传时间

构建分布

argilla_plugins-0.1.3-py3-none-any.whl (18.3 kB 查看哈希值)

上传于 Python 3

支持者