Skip to content

Releases: argilla-io/argilla

v2.7.1

06 Feb 14:33
cabc9dc
Compare
Choose a tag to compare

What's Changed

  • [BUGFIX] Prevent sending auth headers for public requests by @frascuchon in #5804

Full Changelog: v2.7.0...v2.7.1

v2.7.0

21 Jan 13:39
Compare
Choose a tag to compare

🔆 Release highlights

The v2.7.0 release includes some minor improvements and bugfixes

Similarity score

Return similarity score when searching by similarity

import argilla as rg

...

for record, score in dataset.records(similar=rg.Similar(
    name="vector",
    value=[0.1, 0.2, 0.3],
)):
   ...

Other relevant improvements and bugfixes are:

  • Create users and workspaces with predefined IDs (#5786)
  • Prevent index errors with empty chat fields (#5787)
  • Pass SSL verify parameter when configuring the Argilla client (#5789)

New Contributors

Full Changelog: v2.6.0...v2.7.0

v2.6.0

18 Dec 15:46
Compare
Choose a tag to compare

🔆 Release highlights

Push to hub

Export your dataset to the Hugging Face Hub directly from the Argilla UI:

1️⃣ Go to your dataset
2️⃣ Click on Push to Hub
3️⃣ Make sure you include your username or organization and a Hub Access Token with write permissions

Screenshot of the exporting feature

Share your progress

Share your annotation progress on any Argilla dataset with the world!

1️⃣ In your dataset, click on "Share progress"
2️⃣ Open your preferred social media platform
3️⃣ Start a post and paste the copied text
4️⃣ Publish and share with the world!

Screenshot of the sharing feature

Update user data

You can update all information of a user. Here's an example of how to update the role of a user:

import argilla as rg

client = rg.Argilla(api_url="<ARGILLA_API_URL>", api_key="<ARGILLA_API_KEY>")

user = client.users("username")
user.role = "admin"
user.update()

Change record fields

You can now update the content of record fields.

import argilla as rg

client = rg.Argilla(api_url="<ARGILLA_API_URL>", api_key="<ARGILLA_API_KEY>")

dataset = client.datasets("my_dataset")
record = next(dataset.records(limit=1))
record.fields["text"] = "this is my updated text"
record.update()

# or several records at once
records = list(dataset.records(...))

for record in records:
    record.fields["text"] = "this is my updated text"

dataset.records.log(records)

Changelog v2.6.0

New Contributors

Full Changelog: v2.5.0...v2.6.0

v2.5.0

29 Nov 12:28
Compare
Choose a tag to compare

🔆 Release highlights

Webhooks

You can now create and manage webhooks to support your workflows!

Webhooks allow you to submit real-time information to other applications whenever a specific event occurs within Argilla. Here's an example of how you can set up a webhook in Argilla:

import argilla as rg

@rg.webhook_listener("record.completed")
async def record_completed(record: rg.Record, **kwargs):
    print (f"Record {record.id} has been completed")

Visit the Argilla documentation for more information.

A redesigned home page

Captura de pantalla 2024-11-29 a las 12 49 32

Argilla's home page has been redesigned to provide a better user experience. The new home page now shows a new
dataset card view, which provides a better overview of the datasets and annotation progress.

Python 3.13 and Pydantic v2 support

The Argilla server (and SDK) now supports Python 3.13 and Pydantic 2.0.0. This means that you can now install and use both SDK and server with Python 3.13 in the same Python environment!

pip install argilla
pip install argilla-server

python -m argilla_server

Other improvements

  • We've added a high contrast theme to help users with visual impairments. To change the theme go to "My settings" and choose your preferred theme. Thanks @paulbauriegel for this! 🎉
  • You can select the language that you'd like to display in the Argilla UI, also from the "My settings" page. Your language isn't there? Visit the Argilla documentation to learn how you can add yours.

Changelog v2.5.0

New Contributors

Full Changelog: v2.4.1...v2.5.0

v2.4.1

11 Nov 11:37
Compare
Choose a tag to compare

This release includes some argilla-server fixes:

  • Fixed redirection problems after users sign-in using HF OAuth. (#5635)
  • Fixed highlighting of the searched text in text, span and chat fields (#5678)
  • Fixed validation for rating question when creating a dataset (#5670)
  • Fixed question name based on question type when creating a dataset (#5670)
  • Fixed error so now _touch_dataset_last_activity_at function is not updating dataset's updated_at column. (#5656)

Full Changelog: v2.4.0...v2.4.1

v2.4.0

30 Oct 17:05
Compare
Choose a tag to compare

🔆 Release highlights

Import Hub datasets from the UI

import_hub_dataset.mp4

In this release, we’ve focused all of our efforts in bringing you a new feature to import datasets from the Hugging Face Hub directly within our UI, making it easier and faster to get started with your AI projects.

To get started, click on the “Import dataset from Hugging Face” button and paste the repo id of the dataset you want to use. Argilla will process the columns of the dataset and map them to Fields or Questions. Then, you can add more questions or remove any unnecessary fields by selecting the “No mapping” options. All the changes you make will be automatically reflected in the preview.

Once you’re happy with the result you simply need to provide a name for your dataset, select a workspace and (if applicable) a split. Then, Argilla will start importing the dataset.

Note

If your dataset is bigger than 10k records, at this stage Argilla will only import the first 10k. You can import the rest of the dataset using the Argilla SDK: simply click on the “Import data” button in the dataset and use the code snippet provided.

If you want to make extra changes, like customizing the titles of your fields and questions, don’t worry, you can always go back to the Dataset Settings page after the dataset has been created.

Learn more about this new feature in our docs.

Deploy an Argilla Space directly from the SDK

If you're working from the SDK and don't want to leave to start your Argilla server, you can start an Argilla deployment on Spaces with a simple line of code:

import argilla as rg

client = rg.Argilla.deploy_on_spaces(api_key="12345678")

Learn more in our docs.

Changelog v2.4.0

New Contributors

Full Changelog: v2.3.1...v2.4.0

v2.3.1

08 Oct 09:45
Compare
Choose a tag to compare

What's Changed

This is a patch release fixing an error listing current user datasets:

  • Fixed error listing current user datasets and not filtering by current user id. (#5583)

Full Changelog: v2.3.0...v2.3.1

v2.3.0

03 Oct 15:11
1e54a48
Compare
Choose a tag to compare

🌟 Release highlights

Custom Fields: the most powerful way to build custom annotation tasks

We heard you. This new type of field gives you full control over how data is presented to annotators.

With custom fields, you can use your own CSS, HTML, and even Javascript (welcome interactive fields!). Moreover, you can populate your fields with custom structures like custom_field={"image1": ..., "image_2": ..., etc.}.

Here's an example:

Imagine you want to show two images and a prompt to your users.

With a custom field

With the new custom field, you can configure something like this:

Screenshot 2024-10-04 at 13 04 28

And you can set this up with a few lines of code:

css_template = """
<style>
#container {
    display: flex;
    flex-direction: column;
    font-family: Arial, sans-serif;
}
.prompt {
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 1.4;
    color: #333;
    background-color: #f8f8f8;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.image-container {
    display: flex;
    gap: 10px;
}
.column {
    flex: 1;
    position: relative;
}
img {
    max-width: 100%;
    height: auto;
    display: block;
}
.image-label {
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: rgba(255, 255, 255, 0.7);
    color: black;
    padding: 5px 10px;
    border-radius: 5px;
    font-weight: bold;
}
</style>
"""

html_template = """
<div id="container">
    <div class="prompt"><strong>Prompt:</strong> {{record.fields.images.prompt}}</div>
    <div class="image-container">
        <div class="column">
            <img src="{{record.fields.images.image_1}}" />
            <div class="image-label">Image 1</div>
        </div>
        <div class="column">
            <img src="{{record.fields.images.image_2}}" />
            <div class="image-label">Image 2</div>
        </div>
    </div>
</div>
"""

custom_field = rg.CustomField(
    name="images",
    template=css_template + html_template,
)

# and the log records like this
rg.Record(
    fields={
        "prompt": prompt,
         "image_1": schnell_uri,
         "image_2": dev_uri,
   }
)

Before the custom field

Before this release, you were forced to use two ImageField and a TextField, which would be displayed sequentially, limiting the ability to compare the images side-by-side, with clear labels, prompt text, etc. It would look like this:

Screenshot 2024-10-04 at 14 13 52

How to get started with custom fields

Here we've shown a basic presentation-oriented custom field but you can set up anything you can think of, leveraging JS, html, and css. Imagination is the limit!

To get started check the docs: https://docs.argilla.io/v2.3/how_to_guides/custom_fields/

Other features

An other changes and fixes

Changed

  • Changed the repr method for SettingsProperties to display the details of all the properties in Setting object. (#5380)
  • Changed error messages when creating datasets with insufficient permissions. (#5540)

Fixed

  • Fixed serialization of ChatField when collecting records from the hub and exporting to datasets. (#5554)
  • Fixed error when creating default user with existing default workspace. (#5558)
  • Fixed the deployment yaml used to create a new Argilla server in K8s. Added USERNAME and PASSWORD to the environment variables of pod template. (#5434)
  • Fix autofill form on sign-in page #5522
  • Support copy on clipboard for no secure context #5535

New Contributors

Thanks to

Full Changelog: v2.2.2...v2.3.0

v2.2.2

25 Sep 14:55
Compare
Choose a tag to compare

What's Changed

This is a patch release with certain fixes to the SDK

Fixed

  • Fixed from_hub with unsupported column names. (#5524)
  • Fixed from_hub with missing dataset subset configuration value. (#5524)

Changed

  • Changed from_hub to only generate fields not questions for strings in the dataset. (#5524)

Full Changelog: v2.2.1...v2.2.2

v2.2.1

23 Sep 11:52
Compare
Choose a tag to compare

What's Changed

This is a patch release with certain fixes to the SDK:

  • Fixed from_hub errors when columns names contain uppercase letters. (#5523)
  • Fixed from_hub errors when class feature values contains unlabelled values. (#5523)
  • Fixed from_hub errors when loading cached datasets. (#5523)

Full Changelog: v2.2.0...v2.2.1