客户端#

在这里,我们描述了 Argilla 的 Python 客户端,我们将其分为四个基本模块

  • 方法:这些方法构成了与 Argilla REST API 交互的接口。

  • 记录:你需要将你的数据包装在这些记录中,Argilla 才能理解它。

  • 数据集:数据集:你可以将你的记录包装在这些数据集周围以获得额外的功能。

  • FeedbackDataset:FeedbackDataset:用于FeedbackTask和 LLM 支持的数据集格式。

方法#

argilla.active_client()#

返回活动 argilla 客户端。

如果活动客户端为 None,则初始化一个默认客户端。

返回类型:

Argilla

argilla.copy(dataset, name_of_copy, workspace=None)#

创建数据集的副本,包括其标签和元数据

参数:
  • dataset (str) – 源数据集的名称

  • name_of_copy (str) – 复制的数据集的名称

  • workspace (Optional[str]) – 如果提供,数据集将被复制到该工作区

返回类型:

None

示例

>>> import argilla as rg
>>> rg.copy("my_dataset", name_of_copy="new_dataset")
>>> rg.load("new_dataset")
argilla.delete(name, workspace=None)#

从服务器删除 Argilla 数据集。它可以与 DatasetFeedbackDataset 一起使用,尽管对于后者,建议使用 rg.FeedbackDataset.delete 代替。

参数:
  • name (str) – 要删除的数据集的名称。

  • workspace (Optional[str]) – 数据集所属的工作区。如果 None (默认) 且未设置环境变量 ARGILLA_WORKSPACE,则默认为私有用户工作区。

Raises:
  • ValueError – 如果未找到具有给定名称和工作区的数据集。

  • PermissionError – 如果要删除的数据集是 FeedbackDataset 且用户没有足够的权限来删除它。

  • RuntimeError – 如果要删除的数据集是 FeedbackDataset 且在删除过程中发生某种错误。

返回类型:

None

示例

>>> import argilla as rg
>>> rg.delete(name="example-dataset")
argilla.delete_records(name, workspace=None, query=None, ids=None, discard_only=False, discard_when_forbidden=True)#

从 argilla 数据集中删除记录。

参数:
  • name (str) – 数据集名称。

  • workspace (Optional[str]) – 将在其中记录/加载记录的工作区。如果 None (默认) 且未设置环境变量 ARGILLA_WORKSPACE,则默认为私有用户工作区。

  • query (Optional[str]) – 带有 查询字符串语法 的 ElasticSearch 查询

  • ids (Optional[List[Union[str, int]]]) – 如果提供,则删除具有给定 ID 的数据集记录。

  • discard_only (bool) – 如果为 True,则不会删除匹配的记录。相反,它们将被标记为 Discarded

  • discard_when_forbidden (bool) – 只有超级用户或数据集创建者才能从数据集删除记录。因此,为其他用户运行“硬”删除将引发 ForbiddenApiError 错误。如果此参数为 True,则客户端 API 将自动尝试将记录标记为 Discarded。默认值为 True

Returns:

匹配记录总数和实际处理的错误数。如果在操作期间发现一些数据冲突(某些匹配的记录在删除期间更改),则这些数字可能不相同。

返回类型:

Tuple[int, int]

示例

>>> ## Delete by id
>>> import argilla as rg
>>> rg.delete_records(name="example-dataset", ids=[1,3,5])
>>> ## Discard records by query
>>> import argilla as rg
>>> rg.delete_records(name="example-dataset", query="metadata.code=33", discard_only=True)
argilla.get_workspace()#

返回活动工作区的名称。

Returns:

活动工作区的名称,以字符串形式返回。

返回类型:

str

argilla.init(api_url=None, api_key=None, workspace=None, timeout=60, extra_headers=None, httpx_extra_kwargs=None)#

初始化 Python 客户端。

如果调用此函数时 api_url=Noneapi_key=None,并且环境变量 ARGILLA_API_URLARGILLA_API_KEY 没有设置值,则将使用先前调用 argilla login 命令存储的本地凭据。如果找不到本地凭据,则 api_urlapi_key 将回退到默认值。

参数:
  • api_url (Optional[str]) – REST API 的地址。如果 None (默认) 且未设置环境变量 ARGILLA_API_URL,则默认为 https://#:6900

  • api_key (Optional[str]) – REST API 的身份验证密钥。如果 None (默认) 且未设置环境变量 ARGILLA_API_KEY,则默认为 argilla.apikey

  • workspace (Optional[str]) – 将在其中记录/加载记录的工作区。如果 None (默认) 且未设置环境变量 ARGILLA_WORKSPACE,则默认为私有用户工作区。

  • timeout (int) – 连接超时等待 timeout 秒。默认值:60。

  • extra_headers (Optional[Dict[str, str]]) – 发送到服务器的额外 HTTP 标头。你可以使用它来自定义 argilla 客户端请求的标头,例如额外的安全限制。默认值:None

  • httpx_extra_kwargs (Optional[Dict[str, Any]]) – 传递给 httpx.Client 构造函数的额外 kwargs。有关可用参数的更多信息,请参阅 https://www.python-httpx.org/api/#client。默认值为 None

返回类型:

None

示例

>>> import argilla as rg
>>>
>>> rg.init(api_url="https://#:9090", api_key="4AkeAPIk3Y")
>>> # Customizing request headers
>>> headers = {"X-Client-id":"id","X-Secret":"secret"}
>>> rg.init(api_url="https://#:9090", api_key="4AkeAPIk3Y", extra_headers=headers)
argilla.load(name, workspace=None, query=None, vector=None, ids=None, limit=None, sort=None, id_from=None, batch_size=250, include_vectors=True, include_metrics=True, as_pandas=None)#

加载 argilla 数据集。

参数:
  • name (str) – 数据集名称。

  • workspace (Optional[str]) – 将在其中记录/加载记录的工作区。如果 None (默认) 且未设置环境变量 ARGILLA_WORKSPACE,则默认为私有用户工作区。

  • query (Optional[str]) –

    带有 查询字符串语法 的 ElasticSearch 查询

  • vector (Optional[Tuple[str, List[float]]]) – 用于语义搜索的向量配置

  • ids (Optional[List[Union[str, int]]]) – 如果提供,则加载具有给定 ID 的数据集记录。

  • limit (Optional[int]) – 要检索的记录数。

  • sort (Optional[List[Tuple[str, str]]]) – 要排序的字段 [(<field_name>, ‘asc|decs’)]。

  • id_from (Optional[str]) – 如果提供,则从该记录开始收集记录。由于使用 load 方法返回的记录按 ID 排序,因此 id_from 可用于批量加载。

  • batch_size (int) – 如果提供,则每次请求加载 batch_size 个样本。较低的批处理大小可能有助于避免超时。

  • include_vectors (bool) – 设置为 False 时,表示将检索记录,但不包括其向量(如果有)。默认情况下,此参数设置为 True,这意味着将包括向量。

  • include_metrics (bool) – 设置为 False 时,表示将检索记录,但不包括其指标。默认情况下,此参数设置为 True,这意味着将包括指标。

  • as_pandas (Optional[bool]) – 已弃用!要获取 pandas DataFrame,请执行 rg.load('my_dataset').to_pandas()

Returns:

一个 argilla 数据集。

返回类型:

Union[DatasetForTextClassification, DatasetForTokenClassification, DatasetForText2Text, RemoteFeedbackDataset]

示例

基本加载:加载按其 ID 排序的样本

>>> import argilla as rg
>>> dataset = rg.load(name="example-dataset")
迭代大型数据集

在处理大型数据集时,你可能希望分批加载它,以优化内存消耗并避免网络超时。为此,可以采用 from_id 参数对整个数据库进行简单的批处理迭代。此参数将充当分隔符,检索给定 ID 之后的 N 个项目,其中 N 由 limit 参数确定。 注意 如果未给定 limit,则将检索该 ID 之后的所有数据集。

>>> import argilla as rg
>>> dataset_batch_1 = rg.load(name="example-dataset", limit=1000)
>>> dataset_batch_2 = rg.load(name="example-dataset", limit=1000, id_from=dataset_batch_1[-1].id)
argilla.log(records, name, workspace=None, tags=None, metadata=None, batch_size=100, verbose=True, background=False, chunk_size=None, num_threads=0, max_retries=3)#

将记录记录到 argilla。

日志记录在后台线程中异步发生。

参数:
  • records (Union[TextClassificationRecord, TokenClassificationRecord, Text2TextRecord, TextGenerationRecord, Iterable[Union[TextClassificationRecord, TokenClassificationRecord, Text2TextRecord, TextGenerationRecord]], DatasetForTextClassification, DatasetForTokenClassification, DatasetForText2Text]) – 要记录的记录、记录迭代器或数据集。

  • name (str) – 数据集名称。

  • workspace (Optional[str]) – 将在其中记录/加载记录的工作区。如果 None (默认) 且未设置环境变量 ARGILLA_WORKSPACE,则默认为私有用户工作区。

  • tags (Optional[Dict[str, str]]) – 与数据集相关的标签字典。

  • metadata (Optional[Dict[str, Any]]) – 数据集的额外信息字典。

  • batch_size (int) – 数据批处理的批处理大小。

  • verbose (bool) – 如果为 True,则显示进度条并在末尾打印快速摘要。

  • background (bool) – 如果为 True,我们将不会等待日志记录过程完成并返回 asyncio.Future 对象。在这种情况下,你可能需要将 verbose 设置为 False。

  • chunk_size (Optional[int]) – 已弃用!请改用 batch_size

  • num_threads (int) – 如果 > 0,将使用 num_thread 个单独的线程来批处理,并发发送数据。默认为 0,这意味着根本不进行线程处理。

  • max_retries (int) – 如果发生 httpx.TransportError,则在记录一批记录时重试的次数。默认值为 3

Returns:

来自 REST API 的响应摘要。如果 background 参数设置为 True,则将返回 asyncio.Future

返回类型:

Union[BulkResponse, Future]

示例

>>> import argilla as rg
>>> record = rg.TextClassificationRecord(
...     text="my first argilla example",
...     prediction=[('spam', 0.8), ('ham', 0.2)]
... )
>>> rg.log(record, name="example-dataset")
1 records logged to https://#:6900/datasets/argilla/example-dataset
BulkResponse(dataset='example-dataset', processed=1, failed=0)
>>>
>>> # Logging records in the background
>>> rg.log(record, name="example-dataset", background=True, verbose=False)
<Future at 0x7f675a1fffa0 state=pending>
argilla.set_workspace(workspace)#

设置活动工作区。

参数:

workspace (str) – 新的工作区

返回类型:

None

记录#

此模块包含接口的数据模型

class argilla.client.models.Framework(value)#

Argilla 支持的框架

选项

transformers: Transformers peft: PEFT Transformers 库 setfit: SetFit Transformers 库 spacy: Spacy Explosion spacy-transformers: Spacy Transformers Explosion 库 span_marker: SpanMarker Tom Aarsen 库 spark-nlp: Spark NLP John Snow Labs 库 openai: OpenAI LLMs trl: Transformer Reinforcement Learning sentence-transformers: Sentence Transformers 库

class argilla.client.models.Text2TextRecord(*, text, prediction=None, prediction_agent=None, annotation=None, annotation_agent=None, vectors=None, id=None, metadata=None, status=None, event_timestamp=None, metrics=None, search_keywords=None)#

文本到文本任务的记录

参数:
  • text (str) – 记录的输入

  • prediction (Optional[List[Union[str, Tuple[str, float]]]]) – 字符串列表或包含输入文本预测的元组。如果是元组,则第一个条目是预测文本,第二个条目是其对应的分数。

  • prediction_agent (Optional[str]) – 预测代理的名称。默认情况下,这设置为你机器的主机名。

  • annotation (Optional[str]) – 表示给定输入文本的预期输出文本的字符串。

  • annotation_agent (Optional[str]) – 预测代理的名称。默认情况下,这设置为你机器的主机名。

  • vectors (Optional[Dict[str, List[float]]]) – 包含类属性的自然语言文本的嵌入数据映射

  • id (Optional[Union[int, str]]) – 记录的 ID。默认情况下 (None),我们将为你生成一个唯一的 ID。

  • metadata (Optional[Dict[str, Any]]) – 记录的元数据。默认为 {}

  • status (可选[str]) – 记录的状态。选项:‘Default’、‘Edited’、‘Discarded’、‘Validated’。如果提供了标注,则默认为 ‘Validated’,否则为 ‘Default’。

  • event_timestamp (可选[datetime]) – 记录创建的时间戳。默认为 datetime.datetime.now()

  • metrics (可选[Dict[str, Any]]) – 只读!使用 rg.load 时服务器提供的记录级别指标。使用 rg.log 时将忽略此属性。

  • search_keywords (可选[List[str]]) – 只读!使用 rg.load 时为提供的查询相关的记录关键字/术语。使用 rg.log 时将忽略此属性。

示例

>>> import argilla as rg
>>> record = rg.Text2TextRecord(
...     text="My name is Sarah and I love my dog.",
...     prediction=["Je m'appelle Sarah et j'aime mon chien."],
...     vectors = {
...         "bert_base_uncased": [1.2, 2.3, 3.4, 5.2, 6.5],
...         "xlm_multilingual_uncased": [2.2, 5.3, 5.4, 3.2, 2.5]
...     }
... )
classmethod prediction_as_tuples(prediction)#

预处理预测并将它们包装在元组中(如果需要)

参数:

prediction (可选[List[Union[str, Tuple[str, float]]]]) –

class argilla.client.models.TextClassificationRecord(*, text=None, inputs=None, prediction=None, prediction_agent=None, annotation=None, annotation_agent=None, vectors=None, multi_label=False, explanation=None, id=None, metadata=None, status=None, event_timestamp=None, metrics=None, search_keywords=None)#

文本分类的记录

参数:
  • text (可选[str]) – 记录的输入。提供 ‘text’ 或 ‘inputs’。

  • inputs (可选[Union[str, List[str], Dict[str, Union[str, List[str]]]]]) – 记录的各种输入(见下面的示例)。提供 ‘text’ 或 ‘inputs’。

  • prediction (可选[List[Tuple[str, float]]]) – 包含记录预测的元组列表。元组的第一个条目是预测标签,第二个条目是其对应的分数。

  • prediction_agent (Optional[str]) – 预测代理的名称。默认情况下,这设置为你机器的主机名。

  • annotation (可选[Union[str, List[str]]]) – 对应于记录的标注(黄金标签)的字符串或字符串列表(多标签)。

  • annotation_agent (Optional[str]) – 预测代理的名称。默认情况下,这设置为你机器的主机名。

  • vectors (可选[Dict[str, List[float]]]) – 包含类属性的自然语言文本的向量数据映射

  • multi_label (bool) – 预测/标注是否用于多标签分类任务?默认为 False

  • explanation (可选[Dict[str, List[TokenAttributions]]]) – 一个字典,包含每个 token 对预测的归因。键将记录的输入(见 inputs)映射到 TokenAttributions

  • id (可选[Union[int, str]]) – 记录的 ID。默认情况下 (None),我们将为您生成一个唯一的 ID。

  • metadata (Optional[Dict[str, Any]]) – 记录的元数据。默认为 {}

  • status (可选[str]) – 记录的状态。选项:‘Default’、‘Edited’、‘Discarded’、‘Validated’。如果提供了标注,则默认为 ‘Validated’,否则为 ‘Default’。

  • event_timestamp (可选[datetime]) – 记录创建的时间戳。默认为 datetime.datetime.now()

  • metrics (可选[Dict[str, Any]]) – 只读!使用 rg.load 时服务器提供的记录级别指标。使用 rg.log 时将忽略此属性。

  • search_keywords (可选[List[str]]) – 只读!使用 rg.load 时为提供的查询相关的记录关键字/术语。使用 rg.log 时将忽略此属性。

示例

>>> # Single text input
>>> import argilla as rg
>>> record = rg.TextClassificationRecord(
...     text="My first argilla example",
...     prediction=[('eng', 0.9), ('esp', 0.1)],
...     vectors = {
...         "english_bert_vector": [1.2, 2.3, 3.1, 3.3]
...     }
... )
>>>
>>> # Various inputs
>>> record = rg.TextClassificationRecord(
...     inputs={
...         "subject": "Has ganado 1 million!",
...         "body": "Por usar argilla te ha tocado este premio: <link>"
...     },
...     prediction=[('spam', 0.99), ('ham', 0.01)],
...     annotation="spam",
...     vectors = {
...                     "distilbert_uncased":  [1.13, 4.1, 6.3, 4.2, 9.1],
...                     "xlm_roberta_cased": [1.1, 2.1, 3.3, 4.2, 2.1],
...             }
...     )
class argilla.client.models.TextGenerationRecord(*, text, prediction=None, prediction_agent=None, annotation=None, annotation_agent=None, vectors=None, id=None, metadata=None, status=None, event_timestamp=None, metrics=None, search_keywords=None)#
参数:
  • text (str) –

  • prediction (可选[List[Union[str, Tuple[str, float]]]]) –

  • prediction_agent (可选[str]) –

  • annotation (可选[str]) –

  • annotation_agent (可选[str]) –

  • vectors (可选[Dict[str, List[float]]]) –

  • id (可选[Union[int, str]]) –

  • metadata (可选[Dict[str, Any]]) –

  • status (可选[str]) –

  • event_timestamp (可选[datetime]) –

  • metrics (可选[Dict[str, Any]]) –

  • search_keywords (可选[List[str]]) –

class argilla.client.models.TokenAttributions(*, token, attributions=None)#

Token 对预测标签的归因。

在 argilla 应用中,这仅支持 TextClassificationRecordmulti_label=False 的情况。

参数:
  • token (str) – 输入 token。

  • attributions (Dict[str, float]) – 包含标签-归因对的字典。

class argilla.client.models.TokenClassificationRecord(text=None, tokens=None, tags=None, *, prediction=None, prediction_agent=None, annotation=None, annotation_agent=None, vectors=None, id=None, metadata=None, status=None, event_timestamp=None, metrics=None, search_keywords=None)#

token 分类任务的记录

参数:
  • text (可选[str]) – 记录的输入

  • tokens (可选[Union[List[str], Tuple[str, ...]]]) – 记录的 token 化输入。我们使用它来引导标注过程,并交叉检查您的 prediction/annotation 的跨度。

  • prediction (可选[List[Union[Tuple[str, int, int], Tuple[str, int, int, Optional[float]]]]]) – 包含记录预测的元组列表。元组的第一个条目是预测实体的名称,第二个和第三个条目对应于实体的起始和结束字符索引。第四个条目是可选的,对应于实体的分数(介于 0 和 1 之间的浮点数)。

  • prediction_agent (Optional[str]) – 预测代理的名称。默认情况下,这设置为你机器的主机名。

  • annotation (可选[List[Tuple[str, int, int]]]) – 包含记录标注(黄金标签)的元组列表。元组的第一个条目是实体的名称,第二个和第三个条目对应于实体的起始和结束字符索引。

  • annotation_agent (Optional[str]) – 预测代理的名称。默认情况下,这设置为你机器的主机名。

  • vectors (可选[Dict[str, List[float]]]) – 包含类属性的自然语言文本的向量数据映射

  • id (Optional[Union[int, str]]) – 记录的 ID。默认情况下 (None),我们将为你生成一个唯一的 ID。

  • metadata (Optional[Dict[str, Any]]) – 记录的元数据。默认为 {}

  • status (可选[str]) – 记录的状态。选项:‘Default’、‘Edited’、‘Discarded’、‘Validated’。如果提供了标注,则默认为 ‘Validated’,否则为 ‘Default’。

  • event_timestamp (可选[datetime]) – 记录创建的时间戳。默认为 datetime.datetime.now()

  • metrics (可选[Dict[str, Any]]) – 只读!使用 rg.load 时服务器提供的记录级别指标。使用 rg.log 时将忽略此属性。

  • search_keywords (可选[List[str]]) – 只读!使用 rg.load 时为提供的查询相关的记录关键字/术语。使用 rg.log 时将忽略此属性。

  • tags (可选[List[str]]) –

示例

>>> import argilla as rg
>>> record = rg.TokenClassificationRecord(
...     text = "Michael is a professor at Harvard",
...     tokens = ["Michael", "is", "a", "professor", "at", "Harvard"],
...     prediction = [('NAME', 0, 7), ('LOC', 26, 33)],
...     vectors = {
...            "bert_base_uncased": [3.2, 4.5, 5.6, 8.9]
...          }
... )
char_id2token_id(char_idx)#

已弃用,请使用 argilla.utisl.span_utils.SpanUtils.char_to_token_idx 字典代替。

参数:

char_idx (int) –

返回类型:

可选[int]

spans2iob(spans=None)#

已弃用,请使用 argilla.utils.SpanUtils.to_tags() 方法。

参数:

spans (可选[List[Tuple[str, int, int]]]) –

返回类型:

可选[List[str]]

token_span(token_idx)#

已弃用,请使用 argilla.utisl.span_utils.SpanUtils.token_to_char_idx 字典代替。

参数:

token_idx (int) –

返回类型:

Tuple[int, int]

数据集#

class argilla.client.datasets.DatasetForText2Text(records=None)#

此数据集包含 Text2TextRecord 记录。

它允许您将记录导出/导入到/从不同的格式,循环访问记录,并通过索引访问它们。

参数:

records (可选[List[Text2TextRecord]]) – `Text2TextRecord`s 的列表。

Raises:

WrongRecordTypeError – 当提供的列表中的记录类型与数据集类型不符时。

示例

>>> # Import/export records:
>>> import argilla as rg
>>> dataset = rg.DatasetForText2Text.from_pandas(my_dataframe)
>>> dataset.to_datasets()
>>>
>>> # Passing in a list of records:
>>> records = [
...     rg.Text2TextRecord(text="example"),
...     rg.Text2TextRecord(text="another example"),
... ]
>>> dataset = rg.DatasetForText2Text(records)
>>> assert len(dataset) == 2
>>>
>>> # Looping over the dataset:
>>> for record in dataset:
...     print(record)
>>>
>>> # Indexing into the dataset:
>>> dataset[0]
... rg.Text2TextRecord(text="example"})
>>> dataset[0] = rg.Text2TextRecord(text="replaced example")
classmethod from_datasets(dataset, text=None, annotation=None, metadata=None, id=None)#

datasets.Dataset 导入记录。

不支持的列将被忽略。

参数:
  • dataset (datasets.Dataset) – 要从中导入记录的 datasets Dataset。

  • text (可选[str]) – 用作记录文本的字段名称。默认值: None

  • annotation (可选[str]) – 用作记录标注的字段名称。默认值: None

  • metadata (可选[Union[str, List[str]]]) – 用作记录元数据的字段名称。默认值: None

  • id (可选[str]) –

Returns:

导入的 argilla Dataset 中的记录。

返回类型:

DatasetForText2Text

示例

>>> import datasets
>>> ds = datasets.Dataset.from_dict({
...     "text": ["my example"],
...     "prediction": [["mi ejemplo", "ejemplo mio"]]
... })
>>> # or
>>> ds = datasets.Dataset.from_dict({
...     "text": ["my example"],
...     "prediction": [[{"text": "mi ejemplo", "score": 0.9}]]
... })
>>> DatasetForText2Text.from_datasets(ds)
classmethod from_pandas(dataframe)#

pandas.DataFrame 导入记录。

不支持的列将被忽略。

参数:

dataframe (DataFrame) – 要从中导入记录的 pandas DataFrame。

Returns:

导入的 argilla Dataset 中的记录。

返回类型:

DatasetForText2Text

class argilla.client.datasets.DatasetForTextClassification(records=None)#

此数据集包含 TextClassificationRecord 记录。

它允许您将记录导出/导入到/从不同的格式,循环访问记录,并通过索引访问它们。

参数:

records (可选[List[TextClassificationRecord]]) – `TextClassificationRecord`s 的列表。

Raises:

WrongRecordTypeError – 当提供的列表中的记录类型与数据集类型不符时。

示例

>>> # Import/export records:
>>> import argilla as rg
>>> dataset = rg.DatasetForTextClassification.from_pandas(my_dataframe)
>>> dataset.to_datasets()
>>>
>>> # Looping over the dataset:
>>> for record in dataset:
...     print(record)
>>>
>>> # Passing in a list of records:
>>> records = [
...     rg.TextClassificationRecord(text="example"),
...     rg.TextClassificationRecord(text="another example"),
... ]
>>> dataset = rg.DatasetForTextClassification(records)
>>> assert len(dataset) == 2
>>>
>>> # Indexing into the dataset:
>>> dataset[0]
... rg.TextClassificationRecord(text="example")
>>> dataset[0] = rg.TextClassificationRecord(text="replaced example")
classmethod from_datasets(dataset, text=None, id=None, inputs=None, annotation=None, metadata=None)#

datasets.Dataset 导入记录。

不支持的列将被忽略。

参数:
  • dataset (datasets.Dataset) – 要从中导入记录的 datasets Dataset。

  • text (可选[str]) – 用作记录文本的字段名称。默认值: None

  • id (可选[str]) – 用作记录 ID 的字段名称。默认值: None

  • inputs (可选[Union[str, List[str]]]) – 用于记录输入的字段名称列表。默认值: None

  • annotation (可选[str]) – 用作记录标注的字段名称。默认值: None

  • metadata (可选[Union[str, List[str]]]) – 用作记录元数据的字段名称。默认值: None

Returns:

导入的 argilla Dataset 中的记录。

返回类型:

DatasetForTextClassification

示例

>>> import datasets
>>> ds = datasets.Dataset.from_dict({
...     "inputs": ["example"],
...     "prediction": [
...         [{"label": "LABEL1", "score": 0.9}, {"label": "LABEL2", "score": 0.1}]
...     ]
... })
>>> DatasetForTextClassification.from_datasets(ds)
classmethod from_pandas(dataframe)#

pandas.DataFrame 导入记录。

不支持的列将被忽略。

参数:

dataframe (DataFrame) – 要从中导入记录的 pandas DataFrame。

Returns:

导入的 argilla Dataset 中的记录。

返回类型:

DatasetForTextClassification

class argilla.client.datasets.DatasetForTokenClassification(records=None)#

此数据集包含 TokenClassificationRecord 记录。

它允许您将记录导出/导入到/从不同的格式,循环访问记录,并通过索引访问它们。

参数:

records (可选[List[TokenClassificationRecord]]) – `TokenClassificationRecord`s 的列表。

Raises:

WrongRecordTypeError – 当提供的列表中的记录类型与数据集类型不符时。

示例

>>> # Import/export records:
>>> import argilla as rg
>>> dataset = rg.DatasetForTokenClassification.from_pandas(my_dataframe)
>>> dataset.to_datasets()
>>>
>>> # Looping over the dataset:
>>> assert len(dataset) == 2
>>> for record in dataset:
...     print(record)
>>>
>>> # Passing in a list of records:
>>> import argilla as rg
>>> records = [
...     rg.TokenClassificationRecord(text="example", tokens=["example"]),
...     rg.TokenClassificationRecord(text="another example", tokens=["another", "example"]),
... ]
>>> dataset = rg.DatasetForTokenClassification(records)
>>>
>>> # Indexing into the dataset:
>>> dataset[0]
... rg.TokenClassificationRecord(text="example", tokens=["example"])
>>> dataset[0] = rg.TokenClassificationRecord(text="replace example", tokens=["replace", "example"])
classmethod from_datasets(dataset, text=None, id=None, tokens=None, tags=None, metadata=None)#

datasets.Dataset 导入记录。

不支持的列将被忽略。

参数:
  • dataset (datasets.Dataset) – 要从中导入记录的 datasets Dataset。

  • text (可选[str]) – 用作记录文本的字段名称。默认值: None

  • id (可选[str]) – 用作记录 ID 的字段名称。默认值: None

  • tokens (可选[str]) – 用作记录 tokens 的字段名称。默认值: None

  • tags (可选[str]) – 用作记录 tags 的字段名称。默认值: None

  • metadata (可选[Union[str, List[str]]]) – 用作记录元数据的字段名称。默认值: None

Returns:

导入的 argilla Dataset 中的记录。

返回类型:

DatasetForTokenClassification

示例

>>> import datasets
>>> ds = datasets.Dataset.from_dict({
...     "text": ["my example"],
...     "tokens": [["my", "example"]],
...     "prediction": [
...         [{"label": "LABEL1", "start": 3, "end": 10, "score": 1.0}]
...     ]
... })
>>> DatasetForTokenClassification.from_datasets(ds)
classmethod from_pandas(dataframe)#

pandas.DataFrame 导入记录。

不支持的列将被忽略。

参数:

dataframe (DataFrame) – 要从中导入记录的 pandas DataFrame。

Returns:

导入的 argilla Dataset 中的记录。

返回类型:

DatasetForTokenClassification

argilla.client.datasets.read_datasets(dataset, task, **kwargs)#

读取 datasets Dataset 并返回 argilla Dataset

与任务对应的 Record 实例不支持的列将被忽略。

参数:
  • dataset (datasets.Dataset) – 要读取的 Dataset。

  • task (Union[str, TaskType]) – 数据集的任务,选项之一:[“TextClassification”, “TokenClassification”, “Text2Text”]。

  • **kwargs – 传递给特定于任务的 DatasetFor*.from_datasets() 方法。

Returns:

给定任务的 argilla 数据集。

返回类型:

Union[DatasetForTextClassification, DatasetForTokenClassification, DatasetForText2Text]

示例

>>> # Read text classification records from a datasets Dataset
>>> import datasets
>>> ds = datasets.Dataset.from_dict({
...     "inputs": ["example"],
...     "prediction": [
...         [{"label": "LABEL1", "score": 0.9}, {"label": "LABEL2", "score": 0.1}]
...     ]
... })
>>> read_datasets(ds, task="TextClassification")
>>>
>>> # Read token classification records from a datasets Dataset
>>> ds = datasets.Dataset.from_dict({
...     "text": ["my example"],
...     "tokens": [["my", "example"]],
...     "prediction": [
...         [{"label": "LABEL1", "start": 3, "end": 10}]
...     ]
... })
>>> read_datasets(ds, task="TokenClassification")
>>>
>>> # Read text2text records from a datasets Dataset
>>> ds = datasets.Dataset.from_dict({
...     "text": ["my example"],
...     "prediction": [["mi ejemplo", "ejemplo mio"]]
... })
>>> # or
>>> ds = datasets.Dataset.from_dict({
...     "text": ["my example"],
...     "prediction": [[{"text": "mi ejemplo", "score": 0.9}]]
... })
>>> read_datasets(ds, task="Text2Text")
argilla.client.datasets.read_pandas(dataframe, task)#

读取 pandas DataFrame 并返回 argilla Dataset

与任务对应的 Record 实例不支持的列将被忽略。

参数:
  • dataframe (DataFrame) – 要读取的 Dataframe。

  • task (Union[str, TaskType]) – 数据集的任务,选项之一:[“TextClassification”, “TokenClassification”, “Text2Text”]

Returns:

给定任务的 argilla 数据集。

返回类型:

Union[DatasetForTextClassification, DatasetForTokenClassification, DatasetForText2Text]

示例

>>> # Read text classification records from a pandas DataFrame
>>> import pandas as pd
>>> df = pd.DataFrame({
...     "inputs": ["example"],
...     "prediction": [
...         [("LABEL1", 0.9), ("LABEL2", 0.1)]
...     ]
... })
>>> read_pandas(df, task="TextClassification")
>>>
>>> # Read token classification records from a datasets Dataset
>>> df = pd.DataFrame({
...     "text": ["my example"],
...     "tokens": [["my", "example"]],
...     "prediction": [
...         [("LABEL1", 3, 10)]
...     ]
... })
>>> read_pandas(df, task="TokenClassification")
>>>
>>> # Read text2text records from a datasets Dataset
>>> df = pd.DataFrame({
...     "text": ["my example"],
...     "prediction": [["mi ejemplo", "ejemplo mio"]]
... })
>>> # or
>>> ds = pd.DataFrame({
...     "text": ["my example"],
...     "prediction": [[("mi ejemplo", 0.9)]]
... })
>>> read_pandas(df, task="Text2Text")

FeedbackDataset#

class argilla.client.feedback.dataset.local.dataset.FeedbackDataset(*, fields, questions, metadata_properties=None, vectors_settings=None, guidelines=None, allow_extra_metadata=True)#
参数:
  • fields (List[AllowedFieldTypes]) –

  • questions (List[AllowedQuestionTypes]) –

  • metadata_properties (可选[List[AllowedMetadataPropertyTypes]]) –

  • vectors_settings (可选[List[VectorSettings]]) –

  • guidelines (可选[str]) –

  • allow_extra_metadata (bool) –

add_metadata_property(metadata_property)#

将给定的元数据属性添加到数据集。

参数:

metadata_property (AllowedMetadataPropertyTypes) – 要添加的元数据属性。

Returns:

已添加的元数据属性。

Raises:
  • TypeError – 如果 metadata_property 不是 MetadataPropertySchema

  • ValueError – 如果 metadata_property 已经存在于数据集中。

返回类型:

AllowedMetadataPropertyTypes

add_records(records)#

将给定的记录添加到数据集,并在本地存储它们。如果您计划将这些记录推送到 Argilla,您将需要稍后调用 push_to_argilla,以便在 Argilla 中创建数据集并将记录推送到其中。然后,从推送到 Argilla 的 FeedbackDataset 中,您只需要调用 add_records,这些记录将自动上传到 Argilla。

参数:

records (Union[FeedbackRecord, Dict[str, Any], List[Union[FeedbackRecord, Dict[str, Any]]]]) – 可以是单个 FeedbackRecordFeedbackRecord 列表、单个字典或字典列表。如果提供了字典,它将在内部转换为 FeedbackRecord

Raises:
  • ValueError – 如果给定的记录是空列表。

  • ValueError – 如果给定的记录既不是:FeedbackRecordFeedbackRecord 列表、作为记录的字典列表或作为记录的字典。

  • ValueError – 如果给定的记录与预期的模式不匹配。

返回类型:

None

add_vector_settings(vector_settings)#

将新的 vector_settings 添加到当前的 FeedbackDataset

参数:

vector_settings (VectorSettings) –

返回类型:

VectorSettings

property allow_extra_metadata: bool#

返回是否允许向数据集的记录添加额外的元数据

compute_agreement_metrics(metric_names=None, question_name=None)#

计算标注指标的一致性或可靠性。

这些指标可用于确定我们标注团队之间的一致性水平,或指南是否足够清晰等等。

参数:
返回类型:

Union[AgreementMetricResult, List[AgreementMetricResult]]

Note

目前,不支持 TextQuestion。

Returns:

一致性指标结果或指标结果列表(如果提供了指标名称列表)。

names is provided.

返回类型:

metrics_result

参数:
compute_model_metrics(metric_names=None, question_name=None, strategy=None)#

使用建议作为ground truth,响应作为预测值,为标注者计算指标;如果提供了策略,则对统一的响应应用相同的计算。

无论响应是否统一,指标的解释都是相同的。

参数:
  • metric_names (Union[str, List[str]]) – 指标名称或指标名称列表,取决于问题类型。

  • question_name (Union[str, LabelQuestion, MultiLabelQuestion, RatingQuestion, TextQuestion, RankingQuestion]) – 我们想要为其计算指标的问题。

  • strategy (Optional[Union[str, LabelQuestionStrategy, MultiLabelQuestion, RatingQuestionStrategy, RankingQuestion]]) – 统一策略。如果给定,将统一数据集的响应,并在统一的响应与建议之间计算指标,而不是在每个用户级别计算。有关更多信息,请参见 unified_responses 方法。默认为 None。

返回类型:

Union[Dict[str, List[ModelMetricResult]], ModelMetricResult, List[ModelMetricResult]]

Note

目前,支持以下类型的问题:- 对于标注者级别的问题:所有类型的问题 - 对于统一的响应:除 TextQuestion 之外的所有问题。

Returns:

如果提供了策略,它将统一标注并返回

统一响应的指标。否则,它将返回每个标注者的指标,以字典形式返回,其中键对应于标注者 ID,值是包含指标的列表。

返回类型:

metrics_container

参数:
compute_unified_responses(question, strategy)#

compute_unified_responses 函数接受一个问题和一个策略作为输入,并将该策略应用于统一该问题的响应。

参数:
  • the (question question 参数可以是表示问题名称的字符串) – 问题,或问题类之一的实例(LabelQuestionMultiLabelQuestionRatingQuestionRankingQuestion)。

  • unifying (strategy strategy 参数用于指定用于统一的策略) – 给定问题的响应。它可以是字符串或策略类的实例。

  • self (FeedbackDatasetBase) –

  • question (Union[str, LabelQuestion, MultiLabelQuestion, RatingQuestion]) –

  • strategy (Union[str, LabelQuestionStrategy, MultiLabelQuestionStrategy, RatingQuestionStrategy, RankingQuestionStrategy]) –

返回类型:

FeedbackDataset

delete()#

从 Argilla 中删除 FeedbackDataset

delete_metadata_properties(metadata_properties)#

从数据集中删除给定的元数据属性。

参数:

metadata_properties (Union[str, List[str]]) – 要删除的元数据属性的名称。

Returns:

已删除的元数据属性。

Raises:
  • TypeError – 如果 metadata_properties 不是字符串或字符串列表。

  • ValueError – 如果提供的 metadata_properties 不在数据集中。

返回类型:

Union[AllowedMetadataPropertyTypes, List[AllowedMetadataPropertyTypes]]

delete_vectors_settings(vectors_settings)#

从数据集中删除给定的向量设置。

参数:

vectors_settings (Union[str, List[str]]) – 要删除的向量设置的名称。

Returns:

已删除的向量设置。

Raises:

ValueError – 如果提供的 vectors_settings 不在数据集中。

返回类型:

Union[VectorSettings, List[VectorSettings]]

field_by_name(name)#

如果字段存在,则按名称返回字段。否则,会引发 ValueError

参数:

name (str) – 要返回的字段的名称。

返回类型:

Optional[AllowedFieldTypes]

property fields: List[AllowedFieldTypes]#

返回定义数据集中记录模式的字段。

filter_by(*args, **kwargs)#

过滤当前的 FeedbackDataset

返回类型:

FeedbackDataset

find_similar_records(vector_name, value=None, record=None, max_results=50)#

为给定的 vector_name 查找与给定 recordvalue 相似的记录。

参数:
  • vector_name (str) – 用于按相似性搜索的向量名称。

  • value (Optional[List[float]]) – 用于按相似性搜索的可选向量值。

  • record (Optional[R]) – 用于按相似性搜索的可选记录。

  • max_results (int) – 搜索的最大结果数。

Returns:

包含记录和相似性分数的元组列表。

返回类型:

List[Tuple[FeedbackRecord, float]]

classmethod for_direct_preference_optimization(number_of_responses=2, context=False, use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为直接偏好优化任务创建基本数据集。

参数:
  • number_of_responses (int) – 将此参数设置为您要添加到数据集的响应数量

  • context (bool) – 如果要向数据集添加上下文,请将此参数设置为 True

  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

  • guidelines (可选[str]) –

Returns:

用于直接偏好优化的 FeedbackDataset 对象,包含 “prompt”、“response1”、“response2” 以及可选的 “context” 字段和一个名为 “preference” 的 RatingQuestion

返回类型:

FeedbackDataset

classmethod for_multi_modal_classification(labels, multi_label=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为多模态(视频、音频、图像)分类任务创建基本数据集。

参数:
  • labels (List[str]) – 数据集的标签列表

  • multi_label (bool) – 如果要向数据集添加多个标签,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于多模态分类的 FeedbackDataset 对象,包含带有视频、音频或图像数据的 “content” 字段,以及名为 “label” 的 LabelQuestion 或 MultiLabelQuestion

返回类型:

FeedbackDataset

classmethod for_multi_modal_transcription(guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为多模态(视频、音频、图像)转录任务创建基本数据集。

参数:
  • use_markdown – 如果要在 TextQuestion 中使用 markdown,请将此参数设置为 True。默认为 False

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于多模态转录的 FeedbackDataset 对象,包含带有视频、音频或图像数据的 “content” 字段,以及名为 “description” 的 TextQuestion

返回类型:

FeedbackDataset

classmethod for_natural_language_inference(labels=None, use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为自然语言推理任务创建基本数据集。

参数:
  • labels (Optional[List[str]]) – 数据集的标签列表

  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于自然语言推理的 FeedbackDataset 对象,包含 “premise” 和 “hypothesis” 字段,以及名为 “label” 的 LabelQuestion

返回类型:

FeedbackDataset

classmethod for_preference_modeling(number_of_responses=2, context=False, use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为偏好任务创建基本数据集。

参数:
  • number_of_responses (int) – 将此参数设置为您要添加到数据集的响应数量

  • context (bool) – 如果要向数据集添加上下文,请将此参数设置为 True

  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南。

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于偏好的 FeedbackDataset 对象,包含 “prompt”、“option1” 和 “option2” 字段,以及名为 “preference” 的 RatingQuestion

返回类型:

FeedbackDataset

classmethod for_proximal_policy_optimization(rating_scale=7, context=False, use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为近端策略优化任务创建基本数据集。

参数:
  • rating_scale (int) – 将此参数设置为您要添加到数据集的相关性等级的数量

  • context (bool) – 如果要向数据集添加上下文,请将此参数设置为 True

  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于近端策略优化的 FeedbackDataset 对象,包含 “context” 和 “action” 字段,以及名为 “label” 的 LabelQuestion

返回类型:

FeedbackDataset

classmethod for_question_answering(use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为问题回答任务创建基本数据集。

参数:
  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于问题回答的 FeedbackDataset 对象,包含 “context” 和 “question” 字段,以及名为 “answer” 的 TextQuestion

返回类型:

FeedbackDataset

classmethod for_retrieval_augmented_generation(number_of_retrievals=1, rating_scale=7, use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为检索增强生成任务创建基本数据集。

参数:
  • number_of_retrievals (int) – 将此参数设置为您要添加到数据集的文档数量

  • rating_scale (int) – 将此参数设置为您要添加到数据集的相关性等级的数量

  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于检索增强生成的 FeedbackDataset 对象,包含 “query” 和 “retrieved_document” 字段,以及名为 “response” 的 TextQuestion

返回类型:

FeedbackDataset

classmethod for_sentence_similarity(rating_scale=7, use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为句子相似度任务创建基本数据集。

参数:
  • rating_scale (int) – 将此参数设置为您要添加到数据集的相似度等级的数量

  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于句子相似度的 FeedbackDataset 对象,包含 “sentence1” 和 “sentence2” 字段,以及名为 “similarity” 的 RatingQuestion

返回类型:

FeedbackDataset

classmethod for_summarization(use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为摘要任务创建基本数据集。

参数:
  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于摘要的 FeedbackDataset 对象,包含 “text” 字段,以及名为 “summary” 的 TextQuestion

返回类型:

FeedbackDataset

classmethod for_supervised_fine_tuning(context=False, use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为监督式微调任务创建基本数据集。

参数:
  • context (bool) – 如果要向数据集添加上下文,请将此参数设置为 True

  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于监督式微调的 FeedbackDataset 对象,包含 “instruction” 和可选的 “context” 字段,以及名为 “response” 的 TextQuestion

返回类型:

FeedbackDataset

classmethod for_text_classification(labels, multi_label=False, use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为文本分类任务创建基本数据集。

参数:
  • labels (List[str]) – 数据集的标签列表

  • multi_label (bool) – 如果要向数据集添加多个标签,请将此参数设置为 True

  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于文本分类的 FeedbackDataset 对象,包含 “text” 字段,以及名为 “label” 的 LabelQuestion 或 MultiLabelQuestion

返回类型:

FeedbackDataset

classmethod for_translation(use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为翻译任务创建基本数据集。

参数:
  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于翻译的 FeedbackDataset 对象,包含 “source” 字段,以及名为 “target” 的 TextQuestion

返回类型:

FeedbackDataset

format_as(format)#

FeedbackDataset 格式化为 datasets.Dataset 对象。

参数:

format (Literal['datasets']) – 用于格式化 FeedbackDataset 的格式。当前支持的格式为:datasets

Returns:

格式化为 datasets.Dataset 对象的 FeedbackDataset.records

Raises:

ValueError – 如果提供的格式不受支持。

返回类型:

Dataset

示例

>>> import argilla as rg
>>> rg.init(...)
>>> dataset = rg.FeedbackDataset.from_argilla(name="my-dataset")
>>> huggingface_dataset = dataset.format_as("datasets")
classmethod from_argilla(name=None, *, workspace=None, id=None, with_vectors=None)#

从 Argilla 检索现有的 FeedbackDataset(必须提前推送)。

请注意,即使没有强制性参数,您也必须提供 namenameworkspace 的组合,或 id,否则将引发错误。

参数:
  • name (Optional[str]) – 要从 Argilla 检索的 FeedbackDataset 的名称。默认为 None

  • workspace (Optional[str]) – 要从 Argilla 检索的 FeedbackDataset 的工作区。如果未提供,将使用活动工作区。

  • id (Optional[Union[str, UUID]]) – 要从 Argilla 检索的 FeedbackDataset 的 ID。默认为 None

  • with_vectors (Optional[Union[Literal['all'], ~typing.List[str]]]) – 要从 Argilla 检索的向量设置。使用 all 下载所有向量。默认为 None

Returns:

从 Argilla 检索的 RemoteFeedbackDataset

Raises:

ValueError – 如果在 Argilla 中不存在具有提供的 nameworkspaceidFeedbackDataset

返回类型:

RemoteFeedbackDataset

示例

>>> import argilla as rg
>>> rg.init(...)
>>> dataset = rg.FeedbackDataset.from_argilla(name="my_dataset")
classmethod from_huggingface(repo_id, show_progress=True, *args, **kwargs)#

从 Hugging Face Hub 加载 FeedbackDataset

参数:
  • repo_id (str) – 要从中加载 FeedbackDataset 的 Hugging Face Hub 仓库的 ID。

  • *args (Any) – 传递给 datasets.Dataset.load_from_hub 的 args。

  • **kwargs (Any) – 传递给 datasets.Dataset.load_from_hub 的 kwargs。

  • show_progress (bool) –

  • *args

  • **kwargs

Returns:

从 Hugging Face Hub 加载的 FeedbackDataset

返回类型:

FeedbackDataset

property guidelines: Optional[str]#

返回用于标注数据集的指南。

iter(batch_size=250)#

返回数据集中记录的迭代器。

参数:

batch_size (Optional[int]) – 要返回的批次大小。默认为 100。

返回类型:

Iterator[List[FeedbackRecord]]

classmethod list(workspace=None)#

列出推送到 Argilla 的 `FeedbackDataset`。

请注意,您可能需要在调用此函数之前使用 Argilla 凭据 rg.init(…),否则将使用默认的 https://#:6900,如果 Argilla 未在本地部署,则将失败。

参数:

workspace (Optional[str]) – 要从中列出数据集的工作区。如果未提供,则不会应用工作区过滤。默认为 None

Returns:

RemoteFeedbackDataset 数据集的列表,这些数据集是先前通过 push_to_argilla 推送到 Argilla 的 FeedbackDataset 数据集。

返回类型:

List[RemoteFeedbackDataset]

property metadata_properties: List[AllowedMetadataPropertyTypes]#

返回将要索引的元数据属性,这些属性可用于过滤数据集。

metadata_property_by_name(name)#

如果元数据属性存在,则按名称返回该属性。

参数:

name (str) – 要返回的元数据属性的名称。

返回类型:

可选[AllowedMetadataPropertyTypes]

prepare_for_training(framework, task, train_size=1, test_size=None, seed=None, lang=None)#

通过将数据集拆分为训练集和测试集,为特定训练框架和 NLP 任务准备数据集以进行训练。

参数:
  • framework (Union[Framework, str]) – 用于训练的框架。目前支持的框架有: transformerspeftsetfitspacyspacy-transformersspan_markerspark-nlpopenaitrlsentence-transformers

  • task (Union[TrainingTaskForTextClassification, TrainingTaskForSFT, TrainingTaskForRM, TrainingTaskForPPO, TrainingTaskForDPO, TrainingTaskForChatCompletion, TrainingTaskForSentenceSimilarity]) – 用于训练的 NLP 任务。目前支持的任务有: TrainingTaskForTextClassificationTrainingTaskForSFTTrainingTaskForRMTrainingTaskForPPOTrainingTaskForDPOTrainingTaskForSentenceSimilarity

  • train_size (Optional[float]) – 训练集的大小。如果为 None,则整个数据集将用于训练。

  • test_size (Optional[float]) – 测试集的大小。如果为 None,则整个数据集将用于测试。

  • seed (Optional[int]) – 用于将数据集拆分为训练集和测试集的随机种子。

  • lang (Optional[str]) – 用于训练的 spaCy 语言。如果为 None,则将使用数据集的语言。

返回类型:

Any

pull(*args, **kwargs)#

从 Argilla 拉取数据集并返回其本地实例。

返回类型:

FeedbackDataset

push_to_argilla(name, workspace=None, show_progress=True)#

FeedbackDataset 推送到 Argilla。

请注意,您可能需要在调用此函数之前使用 Argilla 凭据 rg.init(…) ,否则将使用默认的 https://#:6900 ,如果 Argilla 未在本地部署,则会失败。

参数:
  • name (str) – 要推送到 Argilla 的数据集的名称。

  • workspace (Optional[Union[str, Workspace]]) – 要将数据集推送到的工作区。如果未提供,将使用活动工作区。

  • show_progress (bool) – 选择在循环遍历记录时显示/隐藏 tqdm 进度条的选项。

  • self (Union[FeedbackDataset, ArgillaMixin]) –

Returns:

推送到 Argilla 的 FeedbackDataset,现在是 RemoteFeedbackDataset 的实例。

返回类型:

RemoteFeedbackDataset

push_to_huggingface(repo_id, generate_card=True, *args, **kwargs)#

FeedbackDataset 推送到 Hugging Face Hub。如果数据集之前已推送到 Hugging Face Hub,则会改为更新它。请注意,当数据集先前已上传到 Hugging Face Hub 时,某些参数(如 private )根本不起作用。

参数:
  • dataset – 要推送到 Hugging Face Hub 的 FeedbackDataset

  • repo_id (str) – 要将 FeedbackDataset 推送到 Hugging Face Hub 仓库的 ID。

  • generate_card (Optional[bool]) – 是否为 Hugging Face Hub 中的 FeedbackDataset 生成数据集卡片。默认为 True

  • *args – 传递给 datasets.Dataset.push_to_hub 的 args。

  • **kwargs – 传递给 datasets.Dataset.push_to_hub 的 kwargs。

  • self (FeedbackDataset) –

返回类型:

None

question_by_name(name)#

如果问题存在,则按名称返回该问题。

参数:

name (str) – 要返回的问题的名称。

返回类型:

可选[AllowedQuestionTypes]

property questions: List[AllowedQuestionTypes]#

返回将用于注释数据集的问题。

property records: List[FeedbackRecord]#

返回数据集中的记录。

sort_by(field, order=SortOrder.asc)#

按给定字段对数据集中的记录进行排序。

参数:
  • field (Union[str, RecordSortField]) –

  • order (Union[str, SortOrder]) –

返回类型:

FeedbackDataset

update_metadata_properties(metadata_properties)#

不执行任何操作,因为当将 metadata_properties 的可更新属性分配给新值时,会自动为 FeedbackDataset 数据集更新它们。

参数:

metadata_properties (Union[AllowedMetadataPropertyTypes, List[AllowedMetadataPropertyTypes]]) –

返回类型:

None

update_records(records)#

更新数据集的记录。

参数:

records (Union[FeedbackRecord, List[FeedbackRecord]]) – 用于更新数据集的记录。

Raises:

ValueError – 如果提供的 records 无效。

返回类型:

None

update_vectors_settings(vectors_settings)#

不执行任何操作,因为当将 vector_settings 的可更新属性分配给新值时,会自动为 FeedbackDataset 数据集更新它们。

参数:

vectors_settings (Union[VectorSettings, List[VectorSettings]]) –

返回类型:

None

vector_settings_by_name(name)#

如果向量设置存在,则按名称返回向量设置。

参数:

name (str) – 要返回的向量设置的名称。

Raises:

KeyError – 如果具有给定名称的向量设置不存在。

返回类型:

可选[AllowedVectorSettingsTypes]

property vectors_settings: List[VectorSettings]#

返回数据集的向量设置。

class argilla.client.feedback.dataset.local.mixins.TaskTemplateMixin#

Mixin 向 FeedbackDataset 添加任务模板功能。涵盖的 NLP 任务有

“文本分类” “抽取式问答” “摘要” “翻译” “句子相似度” “自然语言推理” “监督式微调” “偏好建模/奖励建模” “近端策略优化” “直接偏好优化” “检索增强生成” “多模态分类” “多模态转录”

classmethod for_direct_preference_optimization(number_of_responses=2, context=False, use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为直接偏好优化任务创建基本数据集。

参数:
  • number_of_responses (int) – 将此参数设置为您要添加到数据集的响应数量

  • context (bool) – 如果要向数据集添加上下文,请将此参数设置为 True

  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

  • guidelines (可选[str]) –

Returns:

用于直接偏好优化的 FeedbackDataset 对象,包含 “prompt”、“response1”、“response2” 以及可选的 “context” 字段和一个名为 “preference” 的 RatingQuestion

返回类型:

FeedbackDataset

classmethod for_multi_modal_classification(labels, multi_label=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为多模态(视频、音频、图像)分类任务创建基本数据集。

参数:
  • labels (List[str]) – 数据集的标签列表

  • multi_label (bool) – 如果要向数据集添加多个标签,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于多模态分类的 FeedbackDataset 对象,包含带有视频、音频或图像数据的 “content” 字段,以及名为 “label” 的 LabelQuestion 或 MultiLabelQuestion

返回类型:

FeedbackDataset

classmethod for_multi_modal_transcription(guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为多模态(视频、音频、图像)转录任务创建基本数据集。

参数:
  • use_markdown – 如果要在 TextQuestion 中使用 markdown,请将此参数设置为 True。默认为 False

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于多模态转录的 FeedbackDataset 对象,包含带有视频、音频或图像数据的 “content” 字段,以及名为 “description” 的 TextQuestion

返回类型:

FeedbackDataset

classmethod for_natural_language_inference(labels=None, use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为自然语言推理任务创建基本数据集。

参数:
  • labels (Optional[List[str]]) – 数据集的标签列表

  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于自然语言推理的 FeedbackDataset 对象,包含 “premise” 和 “hypothesis” 字段,以及名为 “label” 的 LabelQuestion

返回类型:

FeedbackDataset

classmethod for_preference_modeling(number_of_responses=2, context=False, use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为偏好任务创建基本数据集。

参数:
  • number_of_responses (int) – 将此参数设置为您要添加到数据集的响应数量

  • context (bool) – 如果要向数据集添加上下文,请将此参数设置为 True

  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南。

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于偏好的 FeedbackDataset 对象,包含 “prompt”、“option1” 和 “option2” 字段,以及名为 “preference” 的 RatingQuestion

返回类型:

FeedbackDataset

classmethod for_proximal_policy_optimization(rating_scale=7, context=False, use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为近端策略优化任务创建基本数据集。

参数:
  • rating_scale (int) – 将此参数设置为您要添加到数据集的相关性等级的数量

  • context (bool) – 如果要向数据集添加上下文,请将此参数设置为 True

  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于近端策略优化的 FeedbackDataset 对象,包含 “context” 和 “action” 字段,以及名为 “label” 的 LabelQuestion

返回类型:

FeedbackDataset

classmethod for_question_answering(use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为问题回答任务创建基本数据集。

参数:
  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于问题回答的 FeedbackDataset 对象,包含 “context” 和 “question” 字段,以及名为 “answer” 的 TextQuestion

返回类型:

FeedbackDataset

classmethod for_retrieval_augmented_generation(number_of_retrievals=1, rating_scale=7, use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为检索增强生成任务创建基本数据集。

参数:
  • number_of_retrievals (int) – 将此参数设置为您要添加到数据集的文档数量

  • rating_scale (int) – 将此参数设置为您要添加到数据集的相关性等级的数量

  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于检索增强生成的 FeedbackDataset 对象,包含 “query” 和 “retrieved_document” 字段,以及名为 “response” 的 TextQuestion

返回类型:

FeedbackDataset

classmethod for_sentence_similarity(rating_scale=7, use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为句子相似度任务创建基本数据集。

参数:
  • rating_scale (int) – 将此参数设置为您要添加到数据集的相似度等级的数量

  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于句子相似度的 FeedbackDataset 对象,包含 “sentence1” 和 “sentence2” 字段,以及名为 “similarity” 的 RatingQuestion

返回类型:

FeedbackDataset

classmethod for_summarization(use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为摘要任务创建基本数据集。

参数:
  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于摘要的 FeedbackDataset 对象,包含 “text” 字段,以及名为 “summary” 的 TextQuestion

返回类型:

FeedbackDataset

classmethod for_supervised_fine_tuning(context=False, use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为监督式微调任务创建基本数据集。

参数:
  • context (bool) – 如果要向数据集添加上下文,请将此参数设置为 True

  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于监督式微调的 FeedbackDataset 对象,包含 “instruction” 和可选的 “context” 字段,以及名为 “response” 的 TextQuestion

返回类型:

FeedbackDataset

classmethod for_text_classification(labels, multi_label=False, use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为文本分类任务创建基本数据集。

参数:
  • labels (List[str]) – 数据集的标签列表

  • multi_label (bool) – 如果要向数据集添加多个标签,请将此参数设置为 True

  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于文本分类的 FeedbackDataset 对象,包含 “text” 字段,以及名为 “label” 的 LabelQuestion 或 MultiLabelQuestion

返回类型:

FeedbackDataset

classmethod for_translation(use_markdown=False, guidelines=None, metadata_properties=None, vectors_settings=None)#

您可以使用此方法为翻译任务创建基本数据集。

参数:
  • use_markdown (bool) – 如果要在数据集中使用 markdown,请将此参数设置为 True

  • guidelines (Optional[str]) – 包含数据集的指南

  • metadata_properties (List[Union[TermsMetadataProperty, FloatMetadataProperty, IntegerMetadataProperty]]) – 包含将要索引的元数据属性,这些属性可用于过滤数据集。默认为 None

  • vectors_settings (List[VectorSettings]) – 定义与将用于执行向量搜索的记录关联的向量的配置。默认为 None

Returns:

用于翻译的 FeedbackDataset 对象,包含 “source” 字段,以及名为 “target” 的 TextQuestion

返回类型:

FeedbackDataset

class argilla.client.feedback.dataset.remote.dataset.RemoteFeedbackDataset(*, client, id, name, workspace, created_at, updated_at, fields, questions, guidelines=None, allow_extra_metadata=True, with_vectors=None)#
参数:
  • client (httpx.Client) –

  • id (UUID) –

  • name (str) –

  • workspace (Workspace) –

  • created_at (datetime) –

  • updated_at (datetime) –

  • fields (List[AllowedRemoteFieldTypes]) –

  • questions (List[AllowedRemoteQuestionTypes]) –

  • guidelines (可选[str]) –

  • allow_extra_metadata (bool) –

  • with_vectors (Optional[Union[Literal['all'], ~typing.List[str]]]) –

add_metadata_property(metadata_property)#

将新的 metadata_property 添加到 Argilla 中的当前 FeedbackDataset

Note

如果现有的 FeedbackRecord (如果有)包含与 metadata_property 同名的元数据,但在 metadata_property 添加之前添加的,则这些记录将保持不变。

参数:

metadata_property (AllowedMetadataPropertyTypes) – 要添加到 Argilla 中当前 FeedbackDataset 的元数据属性。

Returns:

新添加的 metadata_property 到 Argilla 中的当前 FeedbackDataset

Raises:
  • PermissionError – 如果用户没有 owneradmin 角色。

  • RuntimeError – 如果 metadata_property 无法添加到 Argilla 中的当前 FeedbackDataset

返回类型:

AllowedRemoteMetadataPropertyTypes

add_records(records, show_progress=True)#

将给定的记录添加到数据集并将这些记录推送到 Argilla。

参数:
  • records (Union[FeedbackRecord, Dict[str, Any], List[Union[FeedbackRecord, Dict[str, Any]]]]) – 可以是单个 FeedbackRecordFeedbackRecord 列表、单个字典或字典列表。如果提供了字典,它将在内部转换为 FeedbackRecord

  • show_progress (bool) – 如果为 True ,则在将记录推送到 Argilla 时显示进度条。默认为 True

Raises:
  • PermissionError – 如果用户没有 owneradmin 角色。

  • ValueError – 如果给定的记录既不是: FeedbackRecordFeedbackRecord 列表、作为记录的字典列表或作为记录的字典;或者如果给定的记录与预期架构不匹配。

返回类型:

None

add_vector_settings(vector_settings)#

将新的向量设置添加到 Argilla 中的当前 FeedbackDataset

参数:

vector_settings (VectorSettings) – 要添加的向量设置。

Returns:

新添加的向量设置到 Argilla 中的当前 FeedbackDataset

Raises:
  • PermissionError – 如果用户没有 owneradmin 角色。

  • ValueError – 如果具有给定名称的向量设置已存在于 Argilla 的数据集中。

返回类型:

RemoteVectorSettings

property allow_extra_metadata: bool#

返回是否允许向数据集的记录添加额外的元数据

compute_agreement_metrics(metric_names=None, question_name=None)#

计算标注指标的一致性或可靠性。

这些指标可用于确定我们标注团队之间的一致性水平,或指南是否足够清晰等等。

参数:
返回类型:

Union[AgreementMetricResult, List[AgreementMetricResult]]

Note

目前,不支持 TextQuestion。

Returns:

一致性指标结果或指标结果列表(如果提供了指标名称列表)。

names is provided.

返回类型:

metrics_result

参数:
compute_model_metrics(metric_names=None, question_name=None, strategy=None)#

使用建议作为ground truth,响应作为预测值,为标注者计算指标;如果提供了策略,则对统一的响应应用相同的计算。

无论响应是否统一,指标的解释都是相同的。

参数:
  • metric_names (Union[str, List[str]]) – 指标名称或指标名称列表,取决于问题类型。

  • question_name (Union[str, LabelQuestion, MultiLabelQuestion, RatingQuestion, TextQuestion, RankingQuestion]) – 我们想要为其计算指标的问题。

  • strategy (Optional[Union[str, LabelQuestionStrategy, MultiLabelQuestion, RatingQuestionStrategy, RankingQuestion]]) – 统一策略。如果给定,将统一数据集的响应,并在统一的响应与建议之间计算指标,而不是在每个用户级别计算。有关更多信息,请参见 unified_responses 方法。默认为 None。

返回类型:

Union[Dict[str, List[ModelMetricResult]], ModelMetricResult, List[ModelMetricResult]]

Note

目前,支持以下类型的问题:- 对于标注者级别的问题:所有类型的问题 - 对于统一的响应:除 TextQuestion 之外的所有问题。

Returns:

如果提供了策略,它将统一标注并返回

统一响应的指标。否则,它将返回每个标注者的指标,以字典形式返回,其中键对应于标注者 ID,值是包含指标的列表。

返回类型:

metrics_container

参数:
compute_unified_responses(question, strategy)#

compute_unified_responses 函数接受一个问题和一个策略作为输入,并将该策略应用于统一该问题的响应。

参数:
  • the (question question 参数可以是表示问题名称的字符串) – 问题,或问题类之一的实例(LabelQuestionMultiLabelQuestionRatingQuestionRankingQuestion)。

  • unifying (strategy strategy 参数用于指定用于统一的策略) – 给定问题的响应。它可以是字符串或策略类的实例。

  • self (FeedbackDatasetBase) –

  • question (Union[str, LabelQuestion, MultiLabelQuestion, RatingQuestion]) –

  • strategy (Union[str, LabelQuestionStrategy, MultiLabelQuestionStrategy, RatingQuestionStrategy, RankingQuestionStrategy]) –

返回类型:

FeedbackDataset

property created_at: datetime#

返回数据集在 Argilla 中创建的日期时间。

delete()#

从 Argilla 中删除当前的 FeedbackDataset。此方法仅在用户拥有 owneradmin 角色时有效。

Raises:
  • PermissionError – 如果用户没有 owneradmin 角色。

  • RuntimeError – 如果无法从 Argilla 中删除 FeedbackDataset

返回类型:

None

delete_metadata_properties(metadata_properties)#

从 Argilla 中当前 FeedbackDataset 删除 metadata_properties 列表。

Note

如果已存在的 FeedbackRecord 包含与要删除的 metadata_properties 同名的元数据,则它们将保持不变,但验证将被删除,metadata_property 索引也将被删除,这意味着将无法使用它进行过滤。

参数:

metadata_properties (Union[str, List[str]]) – 要从 Argilla 中当前 FeedbackDataset 删除的元数据属性名称。

Returns:

从 Argilla 中当前 FeedbackDataset 删除的 metadata_propertymetadata_properties,但使用本地模式,例如,如果您删除 RemoteFloatMetadataProperty,此方法将从 Argilla 中删除它,并将返回 FloatMetadataProperty 实例。

Raises:
  • PermissionError – 如果用户没有 owneradmin 角色。

  • RuntimeError – 如果无法从 Argilla 中当前 FeedbackDataset 删除 metadata_properties

返回类型:

Union[AllowedMetadataPropertyTypes, List[AllowedMetadataPropertyTypes]]

delete_records(records)#

从 Argilla 中的数据集中删除给定的记录。

参数:

records (Union[RemoteFeedbackRecord, List[RemoteFeedbackRecord]]) – 要从数据集中删除的记录。可以是单个记录或记录列表。但是这些记录需要先前已推送到 Argilla,否则将不会被删除。

Raises:
  • PermissionError – 如果用户没有 owneradmin 角色。

  • RuntimeError – 如果从 Argilla 中删除记录失败。

返回类型:

None

delete_vectors_settings(vectors_settings)#

从 Argilla 中当前 FeedbackDataset 删除给定的向量设置。

参数:

vectors_settings (Union[str, List[str]]) – 要删除的向量设置的名称。

Returns:

从 Argilla 中当前 FeedbackDataset 删除的向量设置。

Raises:

ValueError – 如果给定的向量设置在 Argilla 中当前 FeedbackDataset 中不存在。

返回类型:

Union[RemoteVectorSettings, List[RemoteVectorSettings]]

field_by_name(name)#

如果字段存在,则按名称返回字段。否则,会引发 ValueError

参数:

name (str) – 要返回的字段的名称。

返回类型:

Optional[AllowedFieldTypes]

property fields: List[AllowedRemoteFieldTypes]#

返回定义数据集中记录模式的字段。

filter_by(*, response_status=None, metadata_filters=None)#

基于 Argilla 中记录的响应的 response_status 过滤当前的 RemoteFeedbackDataset。此方法使用给定的过滤器创建一个新的 FilteredRemoteFeedbackDataset 类实例。

参数:
  • response_status (Optional[Union[ResponseStatusFilter, List[ResponseStatusFilter]]]) – 用于过滤数据集的响应状态。可以是以下之一:draft、pending、submitted 和 discarded。默认为 None

  • metadata_filters (Optional[Union[MetadataFilters, List[MetadataFilters]]]) – 用于过滤数据集的元数据过滤器。可以是以下之一:TermsMetadataFilterIntegerMetadataFilterFloatMetadataFilter。默认为 None

Returns:

使用给定过滤器的新 FilteredRemoteFeedbackDataset 实例。

返回类型:

RemoteFeedbackDataset

find_similar_records(vector_name, value=None, record=None, max_results=50)#

基于给定的向量,在数据集中查找与给定记录相似的记录。

参数:
  • vector_name (str) – 用于按相似性搜索的向量名称。

  • value (Optional[List[float]]) – 用于相似性搜索的可选向量值。默认为 None。

  • record (Optional[RemoteFeedbackRecord]) – 用于相似性搜索的可选记录。默认为 None。

  • max_results (int) – 搜索的最大结果数。默认为 50。

Returns:

包含记录和相似性分数的元组列表。

返回类型:

List[Tuple[RemoteFeedbackRecord, float]]

format_as(format)#

FeedbackDataset 格式化为 datasets.Dataset 对象。

参数:

format (Literal['datasets']) – 用于格式化 FeedbackDataset 的格式。当前支持的格式为:datasets

Returns:

格式化为 datasets.Dataset 对象的 FeedbackDataset.records

Raises:

ValueError – 如果提供的格式不受支持。

返回类型:

Dataset

示例

>>> import argilla as rg
>>> rg.init(...)
>>> dataset = rg.FeedbackDataset.from_argilla(name="my-dataset")
>>> huggingface_dataset = dataset.format_as("datasets")
property guidelines: Optional[str]#

返回用于标注数据集的指南。

property id: UUID#

返回数据集在 Argilla 中的 ID。

property metadata_properties: List[AllowedRemoteMetadataPropertyTypes]#

检索 Argilla 中当前数据集的 metadata_properties,如果有则返回,否则返回空列表。

metadata_property_by_name(name)#

如果元数据属性存在,则按名称返回该属性。

参数:

name (str) – 要返回的元数据属性的名称。

返回类型:

可选[AllowedMetadataPropertyTypes]

property name: str#

返回数据集在 Argilla 中的名称。

prepare_for_training(framework, task, train_size=1, test_size=None, seed=None, lang=None)#

通过将数据集拆分为训练集和测试集,为特定训练框架和 NLP 任务准备数据集以进行训练。

参数:
  • framework (Union[Framework, str]) – 用于训练的框架。目前支持的框架有: transformerspeftsetfitspacyspacy-transformersspan_markerspark-nlpopenaitrlsentence-transformers

  • task (Union[TrainingTaskForTextClassification, TrainingTaskForSFT, TrainingTaskForRM, TrainingTaskForPPO, TrainingTaskForDPO, TrainingTaskForChatCompletion, TrainingTaskForSentenceSimilarity]) – 用于训练的 NLP 任务。目前支持的任务有: TrainingTaskForTextClassificationTrainingTaskForSFTTrainingTaskForRMTrainingTaskForPPOTrainingTaskForDPOTrainingTaskForSentenceSimilarity

  • train_size (Optional[float]) – 训练集的大小。如果为 None,则整个数据集将用于训练。

  • test_size (Optional[float]) – 测试集的大小。如果为 None,则整个数据集将用于测试。

  • seed (Optional[int]) – 用于将数据集拆分为训练集和测试集的随机种子。

  • lang (Optional[str]) – 用于训练的 spaCy 语言。如果为 None,则将使用数据集的语言。

返回类型:

Any

pull(max_records=None)#

从 Argilla 拉取数据集并返回其本地实例。

参数:

max_records (Optional[int]) – 要从 Argilla 中拉取的最大记录数。默认为 None

Returns:

数据集的本地实例,是一个 FeedbackDataset 对象。

返回类型:

FeedbackDataset

push_to_argilla(name, workspace=None, show_progress=False)#

FeedbackDataset 推送到 Argilla。

参数:
  • name (str) –

  • workspace (Optional[Union[str, Workspace]]) –

  • show_progress (bool) –

返回类型:

RemoteFeedbackDataset

push_to_huggingface(repo_id, generate_card=True, *args, **kwargs)#

将当前的 FeedbackDataset 推送到 HuggingFace Hub。

Note

在推送之前,会拉取 RemoteFeedbackDataset 中的记录,以确保在上传这些记录时不会出现不匹配,因为这些记录是延迟获取的。

参数:
  • repo_id (str) – 要将数据集推送到的 HuggingFace 仓库的 ID。

  • generate_card (Optional[bool]) – 是否生成数据集卡片。默认为 True

返回类型:

None

question_by_name(name)#

如果问题存在,则按名称返回该问题。

参数:

name (str) – 要返回的问题的名称。

返回类型:

可选[AllowedQuestionTypes]

property questions: List[AllowedRemoteQuestionTypes]#

返回将用于注释数据集的问题。

property records: RemoteFeedbackRecords#

返回 RemoteFeedbackRecords 的实例,允许您迭代数据集中的记录。记录是从 Argilla 动态获取的,而不是存储在内存中。您也可以直接从数据集实例迭代记录。

sort_by(sort)#

基于给定的排序字段和顺序对当前的 RemoteFeedbackDataset 进行排序。

参数:

sort (List[SortBy]) –

返回类型:

RemoteFeedbackDataset

update_metadata_properties(metadata_properties)#

更新 Argilla 中当前 FeedbackDataset 中的 metadata_properties 列表。

Note

提供的所有 metadata_properties 必须预先存在于 Argilla 中,并且这些属性将使用它们当前的 values 再次推送到 Argilla,理想情况下,这些 values 应该已通过赋值更新,例如 metadata_property.title = “…”

参数:

metadata_properties (Union[AllowedRemoteMetadataPropertyTypes, List[AllowedRemoteMetadataPropertyTypes]]) – 要在 Argilla 中当前 FeedbackDataset 中更新的元数据属性。

Raises:
  • PermissionError – 如果用户没有 owneradmin 角色。

  • RuntimeError – 如果无法在 Argilla 中当前 FeedbackDataset 中更新 metadata_properties

返回类型:

None

update_records(records, show_progress=True)#

更新 Argilla 中数据集中的给定记录。

参数:
  • records (Union[RemoteFeedbackRecord, List[RemoteFeedbackRecord]]) – 要在数据集中更新的记录。可以是单个记录或记录列表。记录需要先前已推送到 Argilla,否则将不会被更新。

  • show_progress (bool) – 如果为 True ,则在将记录推送到 Argilla 时显示进度条。默认为 True

Raises:

PermissionError – 如果用户没有 owneradmin 角色。

返回类型:

None

update_vectors_settings(vectors_settings)#

更新 Argilla 中当前 FeedbackDataset 中的给定向量设置。

参数:

vectors_settings (Union[RemoteVectorSettings, List[RemoteVectorSettings]]) – 要更新的远程向量设置。必须预先存在于 Argilla 中。

Raises:
  • PermissionError – 如果用户没有 owneradmin 角色。

  • RuntimeError – 如果无法在 Argilla 中当前 FeedbackDataset 中更新向量设置。

返回类型:

None

property updated_at: datetime#

返回数据集在 Argilla 中最后更新的日期时间。

property url: str#

返回数据集在 Argilla 中的 URL。

vector_settings_by_name(name)#

如果向量设置存在,则按名称返回向量设置。

参数:

name (str) – 要返回的向量设置的名称。

Raises:

KeyError – 如果具有给定名称的向量设置不存在。

返回类型:

可选[AllowedVectorSettingsTypes]

property vectors_settings: List[RemoteVectorSettings]#

检索 Argilla 中当前数据集的 vectors_settings

property workspace: Workspace#

返回数据集在 Argilla 中所属的工作区。

class argilla.client.feedback.schemas.questions.LabelQuestion(*, name, title=None, description=None, required=True, type='label_selection', labels, visible_labels='undefined')#

用于 FeedbackDataset 标签问题的模式,这些问题是需要用户提供标签响应的问题。当用户只能选择一个标签时,应使用此类。

参数:
  • type (Literal[<QuestionTypes.label_selection: 'label_selection'>]) – 问题的类型。默认为 ‘label_selection’,不能/不应修改。

  • labels (Union[ConstrainedListValue[str], Dict[str, str]]) – 标签问题的标签列表。标签必须是唯一的,并且列表必须包含至少两个唯一的标签。此外,labels 也可以是标签字典,其中键是标签,值是将在 UI 中显示的标签。

  • visible_labels (Optional[Union[Literal['undefined'], ~argilla.client.feedback.schemas.questions.ConstrainedIntValue]]) – UI 中可见标签的数量。默认为 20,并且必须大于或等于 3。

  • name (str) –

  • title (Optional[str]) –

  • description (Optional[str]) –

  • required (bool) –

示例

>>> from argilla.client.feedback.schemas.questions import LabelQuestion
>>> LabelQuestion(name="label_question", title="Label Question", labels=["label_1", "label_2"])
class argilla.client.feedback.schemas.questions.MultiLabelQuestion(*, name, title=None, description=None, required=True, type='multi_label_selection', labels, visible_labels='undefined', labels_order=LabelsOrder.natural)#

用于 FeedbackDataset 标签问题的模式,这些问题是需要用户提供标签响应的问题。当用户可以选择多个标签时,应使用此类。

参数:
  • type (Literal[<QuestionTypes.multi_label_selection: 'multi_label_selection'>]) – 问题的类型。默认为 ‘multi_label_selection’,不能/不应修改。

  • labels (Union[ConstrainedListValue[str], Dict[str, str]]) – 标签问题的标签列表。标签必须是唯一的,并且列表必须包含至少两个唯一的标签。此外,labels 也可以是标签字典,其中键是标签,值是将在 UI 中显示的标签。

  • visible_labels (Optional[Union[Literal['undefined'], ~argilla.client.feedback.schemas.questions.ConstrainedIntValue]]) – UI 中可见标签的数量。默认为 20,并且必须大于或等于 3。

  • labels_order (LabelsOrder) – 一个可选值,用于配置标签在 UI 中呈现的顺序。可能的值为 ‘natural’ 和 ‘suggestion’,其中 ‘natural’ 以指定的自然顺序显示标签,而 ‘suggestion’ 优先显示与建议相关的标签。如果建议的分数可用,则将考虑该分数进行排序。默认为 ‘natural’。

  • name (str) –

  • title (Optional[str]) –

  • description (Optional[str]) –

  • required (bool) –

示例

>>> from argilla.client.feedback.schemas.questions import MultiLabelQuestion
>>> MultiLabelQuestion(name="multi_label_question", title="Multi Label Question", labels=["label_1", "label_2"])
property server_settings: Dict[str, Any]#

抽象属性,应由从此类继承的类实现,并将用于在 Argilla 中创建 FeedbackDataset

class argilla.client.feedback.schemas.questions.QuestionSchema(*, name, title=None, description=None, required=True, type)#

用于 FeedbackDataset 问题的基本模式。这意味着数据集中的所有问题都将至少具有这些字段。

参数:
  • name (str) – 问题的名称。这是唯一必需的字段。

  • title (Optional[str]) – 问题的标题。如果未提供,则将从 name 字段中大写。它是将在 UI 中显示的内容。

  • description (Optional[str]) – 问题的描述。默认为 None,并且不显示在 UI 中,否则,它将显示在每个问题附近的工具提示中。

  • required (bool) – 问题是否为必填项。默认为 True。请注意,至少一个问题必须是必填项。

  • type (Optional[QuestionTypes]) – 问题的类型。默认为 None,理想情况下,它应该在从此类继承的类中定义,以便能够使用基于 type 字段的可区分联合。

免责声明

您不应直接使用此类,而应使用从此类继承的类,因为它们将已定义 type 字段,并确保 Argilla 支持该字段。

response(value)#

将用于从问题和值创建响应的方法。

参数:

value (Union[StrictStr, StrictInt, List[str], List[dict], List[RankingValueSchema], List[SpanValueSchema]]) –

返回类型:

Dict[str, ValueSchema]

abstract property server_settings: Dict[str, Any]#

抽象属性,应由从此类继承的类实现,并将用于在 Argilla 中创建 FeedbackDataset

suggestion(value, **kwargs)#

将用于从问题和建议值创建 SuggestionSchema 的方法。

参数:

value (Union[StrictStr, StrictInt, List[str], List[dict], List[RankingValueSchema], List[SpanValueSchema]]) –

返回类型:

SuggestionSchema

to_server_payload()#

将用于创建将发送到 Argilla 以在 FeedbackDataset 中创建字段的有效负载的方法。

返回类型:

Dict[str, Any]

class argilla.client.feedback.schemas.questions.RankingQuestion(*, name, title=None, description=None, required=True, type='ranking', values)#

用于 FeedbackDataset 排序问题的模式,这些问题需要用户提供排序回应。更具体地说,将要求用户对标签进行排序,所有标签都需要分配(如果问题是必填的,或者至少一个标签已被排序),并且可以存在并列/平局。

参数:
  • type (Literal[<QuestionTypes.ranking: 'ranking'>]) – 问题的类型。默认为 ‘ranking’ 且不应/不能修改。

  • values (Union[ConstrainedListValue[str], Dict[str, str]]) – 排序问题的标签列表。标签必须是唯一的,并且列表必须包含至少两个唯一的标签。此外,labels 也可以是标签字典,其中键是标签,值是将显示在 UI 中的标签。

  • name (str) –

  • title (Optional[str]) –

  • description (Optional[str]) –

  • required (bool) –

示例

>>> from argilla.client.feedback.schemas.questions import RankingQuestion
>>> RankingQuestion(name="ranking_question", title="Ranking Question", values=["label_1", "label_2"])
property server_settings: Dict[str, Any]#

抽象属性,应由从此类继承的类实现,并将用于在 Argilla 中创建 FeedbackDataset

class argilla.client.feedback.schemas.questions.RatingQuestion(*, name, title=None, description=None, required=True, type='rating', values)#

用于 FeedbackDataset 评分问题的模式,这些问题需要用户提供评分回应。

参数:
  • type (Literal[<QuestionTypes.rating: 'rating'>]) – 问题的类型。默认为 ‘rating’ 且不应/不能修改。

  • values (List[int]) – 评分问题的整数值列表。这些值不需要是连续的,但它们必须是唯一的,并且包含至少两个 [0, 10] 范围内的唯一整数。

  • name (str) –

  • title (Optional[str]) –

  • description (Optional[str]) –

  • required (bool) –

示例

>>> from argilla.client.feedback.schemas.questions import RatingQuestion
>>> RatingQuestion(name="rating_question", title="Rating Question", values=[1, 2, 3, 4, 5])
property server_settings: Dict[str, Any]#

抽象属性,应由从此类继承的类实现,并将用于在 Argilla 中创建 FeedbackDataset

class argilla.client.feedback.schemas.questions.TextQuestion(*, name, title=None, description=None, required=True, type='text', use_markdown=False)#

用于 FeedbackDataset 文本问题的模式,这些问题需要用户提供文本回应。

参数:
  • type (Literal[<QuestionTypes.text: 'text'>]) – 问题的类型。默认为 ‘text’ 且不应/不能修改。

  • use_markdown (bool) – 问题是否应使用 markdown 渲染。默认为 False。

  • name (str) –

  • title (Optional[str]) –

  • description (Optional[str]) –

  • required (bool) –

示例

>>> from argilla.client.feedback.schemas.questions import TextQuestion
>>> TextQuestion(name="text_question", title="Text Question")
property server_settings: Dict[str, Any]#

抽象属性,应由从此类继承的类实现,并将用于在 Argilla 中创建 FeedbackDataset

class argilla.client.feedback.schemas.fields.FieldSchema(*, name, title=None, required=True, type)#

用于 FeedbackDataset 字段的基本模式。

参数:
  • name (str) – 字段的名称。这是唯一必需的字段。

  • title (Optional[str]) – 字段的标题。如果未提供,则将从 name 字段中大写。它将显示在 UI 中。

  • required (bool) – 字段是否为必填项。默认为 True。请注意,至少一个字段必须是必填项。

  • type (Optional[FieldTypes]) – 字段的类型。默认为 None,理想情况下,它应该在从此类继承的类中定义,以便能够使用基于 type 字段的可辨识联合。

免责声明

您不应直接使用此类,而应使用从此类继承的类,因为它们将已定义 type 字段,并确保 Argilla 支持该字段。

abstract property server_settings: Dict[str, Any]#

抽象属性,应由从此类继承的类实现,并将用于在 Argilla 中创建 FeedbackDataset

to_server_payload()#

将用于创建将发送到 Argilla 以在 FeedbackDataset 中创建字段的有效负载的方法。

返回类型:

Dict[str, Any]

class argilla.client.feedback.schemas.fields.TextField(*, name, title=None, required=True, type='text', use_markdown=False)#

用于 FeedbackDataset 文本字段的模式,这些字段需要将文本定义为记录的一部分。

参数:
  • type (Literal[<FieldTypes.text: 'text'>]) – 字段的类型。默认为 ‘text’ 且不应/不能修改。

  • use_markdown (bool) – 字段是否应使用 markdown 渲染。默认为 False。

  • name (str) –

  • title (Optional[str]) –

  • required (bool) –

示例

>>> from argilla.client.feedback.schemas.fields import TextField
>>> TextField(name="text_field", title="Text Field")
property server_settings: Dict[str, Any]#

抽象属性,应由从此类继承的类实现,并将用于在 Argilla 中创建 FeedbackDataset

class argilla.client.feedback.schemas.records.FeedbackRecord(*, fields, metadata=None, vectors=None, responses=None, suggestions=None, external_id=None)#

用于 FeedbackDataset 记录的模式。

参数:
  • fields (Dict[str, Optional[str]]) – 与 FeedbackDataset 定义的字段匹配的字段。因此,此属性包含 UI 中为每个记录显示的实际信息,即记录本身。

  • metadata (Dict[str, Any]) – 要包含的元数据,以丰富给定记录的信息。请注意,元数据不会显示在 UI 中,因此您只能在提取记录后以编程方式查看。默认为 None。

  • responses (List[ResponseSchema]) – 由当前用户或必须存在于 Argilla 中的一个或多个用户给出的回复。每个回复对应于 FeedbackDataset 问题之一,因此值应与问题类型匹配。默认为 None。

  • suggestions (Union[Tuple[SuggestionSchema], List[SuggestionSchema]]) – SuggestionSchema 列表,其中包含当前记录的建议。每个建议仅链接到一个问题。默认为空列表。

  • external_id (Optional[str]) – 记录的外部 ID,这意味着用户可以指定此 ID 来标识记录,无论 Argilla ID 是什么。默认为 None。

  • vectors (Dict[str, List[float]]) –

示例

>>> from argilla.feedback import FeedbackRecord, ResponseSchema, SuggestionSchema, ValueSchema
>>> FeedbackRecord(
...     fields={"text": "This is the first record", "label": "positive"},
...     metadata={"first": True, "nested": {"more": "stuff"}},
...     responses=[ # optional
...         ResponseSchema(
...             user_id="user-1",
...             values={
...                 "question-1": ValueSchema(value="This is the first answer"),
...                 "question-2": ValueSchema(value=5),
...             },
...             status="submitted",
...         ),
...     ],
...     suggestions=[ # optional
...         SuggestionSchema(
...            question_name="question-1",
...            type="model",
...            score=0.9,
...            value="This is the first suggestion",
...            agent="agent-1",
...         ),
...     ],
...     external_id="entry-1",
... )
to_server_payload(question_name_to_id=None)#

将用于创建有效负载的方法,该有效负载将发送到 Argilla 以在 FeedbackDataset 中创建 FeedbackRecord

参数:

question_name_to_id (Optional[Dict[str, UUID]]) –

返回类型:

Dict[str, Any]

property unified_responses: Optional[Dict[str, List[UnifiedValueSchema]]]#

返回记录的统一回复的属性。

class argilla.client.feedback.schemas.records.RankingValueSchema(*, value, rank=None)#

用于 RankingQuestion 的回复值的模式 RankingQuestion。请注意,我们可能在同一排名中有多个记录。

参数:
  • value (StrictStr) – 记录的值。

  • rank (Optional[ConstrainedIntValue]) – 记录的排名。

class argilla.client.feedback.schemas.records.ResponseSchema(*, user_id=None, values=None, status=ResponseStatus.submitted)#

用于 FeedbackRecord 回复的模式。

参数:
  • user_id (Optional[UUID]) – 提供回复的用户的 ID。默认为 None,并在问题推送到 Argilla 后在内部自动完成。

  • values (Optional[Union[List[Dict[str, ValueSchema]], Dict[str, ValueSchema]]]) – 回复的值,应与记录中的问题匹配。

  • status (Union[ResponseStatus, str]) – 回复的状态。默认为 submitted

示例

>>> from argilla.client.feedback.schemas.responses import ResponseSchema, ValueSchema
>>> ResponseSchema(
...     values={
...         "question_1": ValueSchema(value="answer_1"),
...         "question_2": ValueSchema(value="answer_2"),
...     }
... )
to_server_payload()#

将用于创建有效负载的方法,该有效负载将发送到 Argilla 以创建 FeedbackRecordResponseSchema

返回类型:

Dict[str, Any]

class argilla.client.feedback.schemas.records.SuggestionSchema(*, question_name, value, score=None, type=None, agent=None)#

用于与记录相关的问题的建议模式。

参数:
  • question_name (str) – FeedbackDataset 中问题的名称。

  • type (Optional[Literal['model', 'human']]) – 问题的类型。默认为 None。可能的值为 modelhuman

  • score (Union[ConstrainedFloatValue, None, List[ConstrainedFloatValue]]) – 建议的分数。默认为 None。

  • value (Union[StrictStr, StrictInt, List[str], List[dict], List[RankingValueSchema], List[SpanValueSchema]]) – 建议的值,应与问题的类型匹配。

  • agent (Optional[str]) – 生成建议的代理。默认为 None。

示例

>>> from argilla.client.feedback.schemas.suggestions import SuggestionSchema
>>> SuggestionSchema(
...     question_name="question-1",
...     type="model",
...     score=0.9,
...     value="This is the first suggestion",
...     agent="agent-1",
... )
to_server_payload(question_name_to_id)#

将用于创建有效负载的方法,该有效负载将发送到 Argilla 以创建 FeedbackRecordSuggestionSchema

参数:

question_name_to_id (Dict[str, UUID]) –

返回类型:

Dict[str, Any]

class argilla.client.feedback.schemas.records.ValueSchema(*, value)#

用于任何 FeedbackRecord 回复值的模式。

参数:

value (Union[StrictStr, StrictInt, List[str], List[dict], List[RankingValueSchema], List[SpanValueSchema]]) – 记录的值。