Skip to content

Commit e1e99f3

Browse files
authored
Client.get_autotag_refinement_metrics (#228)
* add new endpoint * docs * tests
1 parent 7d21f17 commit e1e99f3

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

nucleus/__init__.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -841,6 +841,26 @@ def delete_autotag(self, autotag_id: str) -> dict:
841841
"""
842842
return self.make_request({}, f"autotag/{autotag_id}", requests.delete)
843843

844+
def get_autotag_refinement_metrics(self, autotag_id: str) -> dict:
845+
"""Retrieves refinement metrics for an autotag by ID.
846+
847+
Parameters:
848+
autotag_id: Nucleus-generated autotag ID (starts with ``tag_``). This can
849+
be retrieved via :meth:`list_autotags` or a Nucleus dashboard URL.
850+
851+
Returns:
852+
Response payload::
853+
854+
855+
{
856+
"total_refinement_steps": int
857+
"average_positives_selected_per_refinement": int
858+
}
859+
"""
860+
return self.make_request(
861+
{}, f"autotag/{autotag_id}/refinementMetrics", requests.get
862+
)
863+
844864
def delete_model(self, model_id: str) -> dict:
845865
"""Deletes a model by ID.
846866

tests/test_autotag.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,12 @@ def test_export_slice_embeddings(CLIENT):
9393
embeddings = test_slice.export_embeddings()
9494
assert "embedding_vector" in embeddings[0]
9595
assert "reference_id" in embeddings[0]
96+
97+
98+
def test_get_autotag_refinement_metrics(CLIENT):
99+
if running_as_nucleus_pytest_user(CLIENT):
100+
response = CLIENT.get_autotag_refinement_metrics(
101+
"tag_c5jwvzzde8c00604mkx0"
102+
)
103+
assert response["total_refinement_steps"] >= 0
104+
assert response["average_positives_selected_per_refinement"] >= 0

0 commit comments

Comments
 (0)