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], optional): The title of the field. Defaults to None.
            use_markdown (Optional[bool], optional): Whether to use markdown. Defaults to False.
            required (bool): 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=TextFieldSettings(use_markdown=use_markdown),
            _client=client,
        )

    @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 title of the field. Defaults to None.

None
use_markdown Optional[bool]

Whether to use markdown. Defaults to False.

False
required 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,
    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], optional): The title of the field. Defaults to None.
        use_markdown (Optional[bool], optional): Whether to use markdown. Defaults to False.
        required (bool): 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=TextFieldSettings(use_markdown=use_markdown),
        _client=client,
    )

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,
    )

ChatField

Bases: AbstractField

Chat field for use in Argilla Dataset Settings

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

    def __init__(
        self,
        name: str,
        title: Optional[str] = None,
        use_markdown: Optional[bool] = True,
        required: Optional[bool] = True,
        description: Optional[str] = None,
        _client: Optional[Argilla] = None,
    ) -> None:
        """
        Chat 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.
            use_markdown (Optional[bool], optional): Whether to use markdown. Defaults to True.
            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=ChatFieldSettings(use_markdown=use_markdown),
            _client=_client,
        )

    @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=True, required=True, description=None, _client=None)

Chat 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
use_markdown Optional[bool]

Whether to use markdown. Defaults to True.

True
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,
    use_markdown: Optional[bool] = True,
    required: Optional[bool] = True,
    description: Optional[str] = None,
    _client: Optional[Argilla] = None,
) -> None:
    """
    Chat 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.
        use_markdown (Optional[bool], optional): Whether to use markdown. Defaults to True.
        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=ChatFieldSettings(use_markdown=use_markdown),
        _client=_client,
    )