客户端#
在这里,我们描述了 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 数据集。它可以与 Dataset 和 FeedbackDataset 一起使用,尽管对于后者,建议使用 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=None 且 api_key=None,并且环境变量 ARGILLA_API_URL 和 ARGILLA_API_KEY 没有设置值,则将使用先前调用 argilla login 命令存储的本地凭据。如果找不到本地凭据,则 api_url 和 api_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 应用中,这仅支持
TextClassificationRecord
和multi_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 中的记录。
- 返回类型:
示例
>>> 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 中的记录。
- 返回类型:
- 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 中的记录。
- 返回类型:
示例
>>> 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 中的记录。
- 返回类型:
- 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 中的记录。
- 返回类型:
示例
>>> 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 中的记录。
- 返回类型:
- 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]]]]) – 可以是单个 FeedbackRecord、FeedbackRecord 列表、单个字典或字典列表。如果提供了字典,它将在内部转换为 FeedbackRecord。
- Raises:
ValueError – 如果给定的记录是空列表。
ValueError – 如果给定的记录既不是:FeedbackRecord、FeedbackRecord 列表、作为记录的字典列表或作为记录的字典。
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)#
计算标注指标的一致性或可靠性。
这些指标可用于确定我们标注团队之间的一致性水平,或指南是否足够清晰等等。
- 参数:
metric_names (Union[str, List[str]]) – 指标名称或指标名称列表,取决于问题类型。
question_name (Union[str, LabelQuestion, MultiLabelQuestion, RatingQuestion, RankingQuestion]) – 我们要为其计算指标的问题。
- 返回类型:
Union[AgreementMetricResult, List[AgreementMetricResult]]
Note
目前,不支持 TextQuestion。
- Returns:
- 一致性指标结果或指标结果列表(如果提供了指标名称列表)。
names is provided.
- 返回类型:
metrics_result
- 参数:
metric_names (Union[str, List[str]]) –
question_name (Union[str, LabelQuestion, MultiLabelQuestion, RatingQuestion, RankingQuestion]) –
- 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
- 参数:
metric_names (Union[str, List[str]]) –
question_name (Union[str, LabelQuestion, MultiLabelQuestion, RatingQuestion, TextQuestion, RankingQuestion]) –
strategy (Optional[Union[str, LabelQuestionStrategy, MultiLabelQuestion, RatingQuestionStrategy, RankingQuestion]]) –
- compute_unified_responses(question, strategy)#
compute_unified_responses 函数接受一个问题和一个策略作为输入,并将该策略应用于统一该问题的响应。
- 参数:
the (question question 参数可以是表示问题名称的字符串) – 问题,或问题类之一的实例(LabelQuestion,MultiLabelQuestion,RatingQuestion,RankingQuestion)。
unifying (strategy strategy 参数用于指定用于统一的策略) – 给定问题的响应。它可以是字符串或策略类的实例。
self (FeedbackDatasetBase) –
question (Union[str, LabelQuestion, MultiLabelQuestion, RatingQuestion]) –
strategy (Union[str, LabelQuestionStrategy, MultiLabelQuestionStrategy, RatingQuestionStrategy, RankingQuestionStrategy]) –
- 返回类型:
- 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。
- 返回类型:
- find_similar_records(vector_name, value=None, record=None, max_results=50)#
为给定的 vector_name 查找与给定 record 或 value 相似的记录。
- 参数:
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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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(必须提前推送)。
请注意,即使没有强制性参数,您也必须提供 name、name 和 workspace 的组合,或 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 中不存在具有提供的 name、workspace 或 id 的 FeedbackDataset。
- 返回类型:
示例
>>> 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。
- 返回类型:
- 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]) – 用于训练的框架。目前支持的框架有: transformers、 peft、 setfit、 spacy、 spacy-transformers、 span_marker、 spark-nlp、 openai、 trl、 sentence-transformers。
task (Union[TrainingTaskForTextClassification, TrainingTaskForSFT, TrainingTaskForRM, TrainingTaskForPPO, TrainingTaskForDPO, TrainingTaskForChatCompletion, TrainingTaskForSentenceSimilarity]) – 用于训练的 NLP 任务。目前支持的任务有: TrainingTaskForTextClassification、 TrainingTaskForSFT、 TrainingTaskForRM、 TrainingTaskForPPO、 TrainingTaskForDPO、 TrainingTaskForSentenceSimilarity。
train_size (Optional[float]) – 训练集的大小。如果为 None,则整个数据集将用于训练。
test_size (Optional[float]) – 测试集的大小。如果为 None,则整个数据集将用于测试。
seed (Optional[int]) – 用于将数据集拆分为训练集和测试集的随机种子。
lang (Optional[str]) – 用于训练的 spaCy 语言。如果为 None,则将使用数据集的语言。
- 返回类型:
Any
- pull(*args, **kwargs)#
从 Argilla 拉取数据集并返回其本地实例。
- 返回类型:
- 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 的实例。
- 返回类型:
- 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]) –
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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
- 返回类型:
- 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 – 如果用户没有 owner 或 admin 角色。
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]]]]) – 可以是单个 FeedbackRecord、FeedbackRecord 列表、单个字典或字典列表。如果提供了字典,它将在内部转换为 FeedbackRecord。
show_progress (bool) – 如果为 True ,则在将记录推送到 Argilla 时显示进度条。默认为 True 。
- Raises:
PermissionError – 如果用户没有 owner 或 admin 角色。
ValueError – 如果给定的记录既不是: FeedbackRecord 、 FeedbackRecord 列表、作为记录的字典列表或作为记录的字典;或者如果给定的记录与预期架构不匹配。
- 返回类型:
None
- add_vector_settings(vector_settings)#
将新的向量设置添加到 Argilla 中的当前 FeedbackDataset 。
- 参数:
vector_settings (VectorSettings) – 要添加的向量设置。
- Returns:
新添加的向量设置到 Argilla 中的当前 FeedbackDataset 。
- Raises:
PermissionError – 如果用户没有 owner 或 admin 角色。
ValueError – 如果具有给定名称的向量设置已存在于 Argilla 的数据集中。
- 返回类型:
RemoteVectorSettings
- property allow_extra_metadata: bool#
返回是否允许向数据集的记录添加额外的元数据
- compute_agreement_metrics(metric_names=None, question_name=None)#
计算标注指标的一致性或可靠性。
这些指标可用于确定我们标注团队之间的一致性水平,或指南是否足够清晰等等。
- 参数:
metric_names (Union[str, List[str]]) – 指标名称或指标名称列表,取决于问题类型。
question_name (Union[str, LabelQuestion, MultiLabelQuestion, RatingQuestion, RankingQuestion]) – 我们要为其计算指标的问题。
- 返回类型:
Union[AgreementMetricResult, List[AgreementMetricResult]]
Note
目前,不支持 TextQuestion。
- Returns:
- 一致性指标结果或指标结果列表(如果提供了指标名称列表)。
names is provided.
- 返回类型:
metrics_result
- 参数:
metric_names (Union[str, List[str]]) –
question_name (Union[str, LabelQuestion, MultiLabelQuestion, RatingQuestion, RankingQuestion]) –
- 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
- 参数:
metric_names (Union[str, List[str]]) –
question_name (Union[str, LabelQuestion, MultiLabelQuestion, RatingQuestion, TextQuestion, RankingQuestion]) –
strategy (Optional[Union[str, LabelQuestionStrategy, MultiLabelQuestion, RatingQuestionStrategy, RankingQuestion]]) –
- compute_unified_responses(question, strategy)#
compute_unified_responses 函数接受一个问题和一个策略作为输入,并将该策略应用于统一该问题的响应。
- 参数:
the (question question 参数可以是表示问题名称的字符串) – 问题,或问题类之一的实例(LabelQuestion,MultiLabelQuestion,RatingQuestion,RankingQuestion)。
unifying (strategy strategy 参数用于指定用于统一的策略) – 给定问题的响应。它可以是字符串或策略类的实例。
self (FeedbackDatasetBase) –
question (Union[str, LabelQuestion, MultiLabelQuestion, RatingQuestion]) –
strategy (Union[str, LabelQuestionStrategy, MultiLabelQuestionStrategy, RatingQuestionStrategy, RankingQuestionStrategy]) –
- 返回类型:
- property created_at: datetime#
返回数据集在 Argilla 中创建的日期时间。
- delete()#
从 Argilla 中删除当前的 FeedbackDataset。此方法仅在用户拥有 owner 或 admin 角色时有效。
- Raises:
PermissionError – 如果用户没有 owner 或 admin 角色。
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_property 或 metadata_properties,但使用本地模式,例如,如果您删除 RemoteFloatMetadataProperty,此方法将从 Argilla 中删除它,并将返回 FloatMetadataProperty 实例。
- Raises:
PermissionError – 如果用户没有 owner 或 admin 角色。
RuntimeError – 如果无法从 Argilla 中当前 FeedbackDataset 删除 metadata_properties。
- 返回类型:
Union[AllowedMetadataPropertyTypes, List[AllowedMetadataPropertyTypes]]
- delete_records(records)#
从 Argilla 中的数据集中删除给定的记录。
- 参数:
records (Union[RemoteFeedbackRecord, List[RemoteFeedbackRecord]]) – 要从数据集中删除的记录。可以是单个记录或记录列表。但是这些记录需要先前已推送到 Argilla,否则将不会被删除。
- Raises:
PermissionError – 如果用户没有 owner 或 admin 角色。
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]]]) – 用于过滤数据集的元数据过滤器。可以是以下之一:TermsMetadataFilter、IntegerMetadataFilter 和 FloatMetadataFilter。默认为 None。
- Returns:
使用给定过滤器的新 FilteredRemoteFeedbackDataset 实例。
- 返回类型:
- 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]) – 用于训练的框架。目前支持的框架有: transformers、 peft、 setfit、 spacy、 spacy-transformers、 span_marker、 spark-nlp、 openai、 trl、 sentence-transformers。
task (Union[TrainingTaskForTextClassification, TrainingTaskForSFT, TrainingTaskForRM, TrainingTaskForPPO, TrainingTaskForDPO, TrainingTaskForChatCompletion, TrainingTaskForSentenceSimilarity]) – 用于训练的 NLP 任务。目前支持的任务有: TrainingTaskForTextClassification、 TrainingTaskForSFT、 TrainingTaskForRM、 TrainingTaskForPPO、 TrainingTaskForDPO、 TrainingTaskForSentenceSimilarity。
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 对象。
- 返回类型:
- push_to_argilla(name, workspace=None, show_progress=False)#
将 FeedbackDataset 推送到 Argilla。
- 参数:
name (str) –
workspace (Optional[Union[str, Workspace]]) –
show_progress (bool) –
- 返回类型:
- 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]) –
- 返回类型:
- 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 – 如果用户没有 owner 或 admin 角色。
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 – 如果用户没有 owner 或 admin 角色。
- 返回类型:
None
- update_vectors_settings(vectors_settings)#
更新 Argilla 中当前 FeedbackDataset 中的给定向量设置。
- 参数:
vectors_settings (Union[RemoteVectorSettings, List[RemoteVectorSettings]]) – 要更新的远程向量设置。必须预先存在于 Argilla 中。
- Raises:
PermissionError – 如果用户没有 owner 或 admin 角色。
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
- 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]]) –
- 返回类型:
- 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 以创建 FeedbackRecord 的 ResponseSchema。
- 返回类型:
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。可能的值为 model 或 human。
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 以创建 FeedbackRecord 的 SuggestionSchema。
- 参数:
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]]) – 记录的值。