Skip to content

Commit 90f0515

Browse files
committed
support custom indexing with efs
1 parent 906060f commit 90f0515

File tree

4 files changed

+17
-6
lines changed

4 files changed

+17
-6
lines changed

nucleus/__init__.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@
8282
DATASET_ITEM_IDS_KEY,
8383
DEFAULT_NETWORK_TIMEOUT_SEC,
8484
EMBEDDINGS_URL_KEY,
85+
EMBEDDING_DIMENSION_KEY,
8586
ERROR_ITEMS,
8687
ERROR_PAYLOAD,
8788
ERRORS_KEY,
@@ -1101,9 +1102,14 @@ def delete_model(self, model_id: str) -> dict:
11011102
)
11021103
return response
11031104

1104-
def create_custom_index(self, dataset_id: str, embeddings_url: str):
1105+
def create_custom_index(
1106+
self, dataset_id: str, embeddings_urls: list, embedding_dim: int
1107+
):
11051108
return self.make_request(
1106-
{EMBEDDINGS_URL_KEY: embeddings_url},
1109+
{
1110+
EMBEDDINGS_URL_KEY: embeddings_urls,
1111+
EMBEDDING_DIMENSION_KEY: embedding_dim,
1112+
},
11071113
f"indexing/{dataset_id}",
11081114
requests_command=requests.post,
11091115
)

nucleus/constants.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
DEFAULT_ANNOTATION_UPDATE_MODE = False
2525
DEFAULT_NETWORK_TIMEOUT_SEC = 120
2626
DIMENSIONS_KEY = "dimensions"
27-
EMBEDDINGS_URL_KEY = "embeddings_url"
27+
EMBEDDINGS_URL_KEY = "embeddings_urls"
28+
EMBEDDING_DIMENSION_KEY = "embedding_dimension"
2829
ERRORS_KEY = "errors"
2930
ERROR_CODES = "error_codes"
3031
ERROR_ITEMS = "upload_errors"

nucleus/dataset.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -329,8 +329,12 @@ def delete_item(self, item_id: str = None, reference_id: str = None):
329329
def list_autotags(self):
330330
return self._client.list_autotags(self.id)
331331

332-
def create_custom_index(self, embeddings_url: str):
333-
return self._client.create_custom_index(self.id, embeddings_url)
332+
def create_custom_index(self, embeddings_urls: list, embedding_dim: int):
333+
return self._client.create_custom_index(
334+
self.id,
335+
embeddings_urls,
336+
embedding_dim,
337+
)
334338

335339
def delete_custom_index(self):
336340
return self._client.delete_custom_index(self.id)

tests/test_indexing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def dataset(CLIENT):
3939

4040
def test_index_integration(dataset):
4141
signed_embeddings_url = TEST_INDEX_EMBEDDINGS_FILE
42-
create_response = dataset.create_custom_index(signed_embeddings_url)
42+
create_response = dataset.create_custom_index([signed_embeddings_url])
4343
assert JOB_ID_KEY in create_response
4444
assert MESSAGE_KEY in create_response
4545
job_id = create_response[JOB_ID_KEY]

0 commit comments

Comments
 (0)