Skip to content

Fields

Fields in Argilla define the content of a record that will be reviewed by a user.

Usage Examples

To define a field, instantiate the different field classes and pass it to the fields parameter of the Settings class.

text_field = rg.TextField(name="text")
markdown_field = rg.TextField(name="text", use_markdown=True)
image_field = rg.ImageField(name="image")

The fields parameter of the Settings class can accept a list of fields, like this:

settings = rg.Settings(
    fields=[
        text_field,
        markdown_field,
        image_field,
    ],
    questions=[
        rg.TextQuestion(name="response"),
    ],
)

data = rg.Dataset(
    name="my_dataset",
    settings=settings,
)

To add records with values for fields, refer to the rg.Dataset.records documentation.


TextField

Bases: AbstractField

Text field for use in Argilla Dataset Settings

Source code in src/argilla/settings/_field.py
class TextField(AbstractField):
    """Text field for use in Argilla `Dataset` `Settings`"""

    def __init__(
        self,
        name: str,
        title: Optional[str] = None,
        use_markdown: Optional[bool] = False,
        required: bool = True,
        description: Optional[str] = None,
        client: Optional[Argilla] = None,
    ) -> None:
        """Text field for use in Argilla `Dataset` `Settings`

        Parameters:
            name (str): The name of the field
            title (Optional[str]): The name of the field, as it will be displayed in the UI.
            use_markdown (Optional[bool]): Whether to render the markdown in the UI. When True, you will be able \
                to use all the Markdown features for text formatting, including LaTex formulas and embedding multimedia content and PDFs.
            required (bool): Whether the field is required. At least one field must be required.
            description (Optional[str]): The description of the field.
        """

        super().__init__(
            name=name,
            title=title,
            required=required,
            description=description,
            _client=client,
            settings=TextFieldSettings(use_markdown=use_markdown),
        )

    @property
    def use_markdown(self) -> Optional[bool]:
        return self._model.settings.use_markdown

    @use_markdown.setter
    def use_markdown(self, value: bool) -> None:
        self._model.settings.use_markdown = value

__init__(name, title=None, use_markdown=False, required=True, description=None, client=None)

Text field for use in Argilla Dataset Settings

Parameters:

Name Type Description Default
name str

The name of the field

required
title Optional[str]

The name of the field, as it will be displayed in the UI.

None
use_markdown Optional[bool]

Whether to render the markdown in the UI. When True, you will be able to use all the Markdown features for text formatting, including LaTex formulas and embedding multimedia content and PDFs.

False
required bool

Whether the field is required. At least one field must be required.

True
description Optional[str]

The description of the field.

None
Source code in src/argilla/settings/_field.py
def __init__(
    self,
    name: str,
    title: Optional[str] = None,
    use_markdown: Optional[bool] = False,
    required: bool = True,
    description: Optional[str] = None,
    client: Optional[Argilla] = None,
) -> None:
    """Text field for use in Argilla `Dataset` `Settings`

    Parameters:
        name (str): The name of the field
        title (Optional[str]): The name of the field, as it will be displayed in the UI.
        use_markdown (Optional[bool]): Whether to render the markdown in the UI. When True, you will be able \
            to use all the Markdown features for text formatting, including LaTex formulas and embedding multimedia content and PDFs.
        required (bool): Whether the field is required. At least one field must be required.
        description (Optional[str]): The description of the field.
    """

    super().__init__(
        name=name,
        title=title,
        required=required,
        description=description,
        _client=client,
        settings=TextFieldSettings(use_markdown=use_markdown),
    )

ImageField

Bases: AbstractField

Image field for use in Argilla Dataset Settings

Source code in src/argilla/settings/_field.py
class ImageField(AbstractField):
    """Image field for use in Argilla `Dataset` `Settings`"""

    def __init__(
        self,
        name: str,
        title: Optional[str] = None,
        required: Optional[bool] = True,
        description: Optional[str] = None,
        _client: Optional[Argilla] = None,
    ) -> None:
        """
        Text field for use in Argilla `Dataset` `Settings`

        Parameters:
            name (str): The name of the field
            title (Optional[str], optional): The title of the field. Defaults to None.
            required (Optional[bool], optional): Whether the field is required. Defaults to True.
            description (Optional[str], optional): The description of the field. Defaults to None.
        """

        super().__init__(
            name=name,
            title=title,
            required=required,
            description=description,
            settings=ImageFieldSettings(),
            _client=_client,
        )

__init__(name, title=None, required=True, description=None, _client=None)

Text field for use in Argilla Dataset Settings

Parameters:

Name Type Description Default
name str

The name of the field

required
title Optional[str]

The title of the field. Defaults to None.

None
required Optional[bool]

Whether the field is required. Defaults to True.

True
description Optional[str]

The description of the field. Defaults to None.

None
Source code in src/argilla/settings/_field.py
def __init__(
    self,
    name: str,
    title: Optional[str] = None,
    required: Optional[bool] = True,
    description: Optional[str] = None,
    _client: Optional[Argilla] = None,
) -> None:
    """
    Text field for use in Argilla `Dataset` `Settings`

    Parameters:
        name (str): The name of the field
        title (Optional[str], optional): The title of the field. Defaults to None.
        required (Optional[bool], optional): Whether the field is required. Defaults to True.
        description (Optional[str], optional): The description of the field. Defaults to None.
    """

    super().__init__(
        name=name,
        title=title,
        required=required,
        description=description,
        settings=ImageFieldSettings(),
        _client=_client,
    )