@@ -2150,8 +2150,21 @@ def create_embedding(self, name: str, dims: int) -> Embedding:
21502150 Returns:
21512151 A new Embedding object.
21522152 """
2153- data = self ._adv_client .create_embedding (name , dims )
2154- return Embedding (self ._adv_client , ** data )
2153+ mutation = """
2154+ mutation CreateEmbeddingPyApi($data: CreateEmbeddingInput!) {
2155+ createEmbedding(data: $data) {
2156+ id
2157+ name
2158+ dims
2159+ custom
2160+ }
2161+ }
2162+ """
2163+ data = self .execute (
2164+ mutation ,
2165+ {"data" : {"name" : name , "dims" : dims }},
2166+ )["createEmbedding" ]
2167+ return Embedding (self , ** data )
21552168
21562169 def get_embeddings (self ) -> List [Embedding ]:
21572170 """
@@ -2160,8 +2173,18 @@ def get_embeddings(self) -> List[Embedding]:
21602173 Returns:
21612174 A list of embedding objects.
21622175 """
2163- results = self ._adv_client .get_embeddings ()
2164- return [Embedding (self ._adv_client , ** data ) for data in results ]
2176+ query = """
2177+ query GetEmbeddingsPyApi {
2178+ embeddings {
2179+ id
2180+ name
2181+ dims
2182+ custom
2183+ }
2184+ }
2185+ """
2186+ results = self .execute (query )["embeddings" ]
2187+ return [Embedding (self , ** data ) for data in results ]
21652188
21662189 def get_embedding_by_id (self , id : str ) -> Embedding :
21672190 """
@@ -2173,8 +2196,34 @@ def get_embedding_by_id(self, id: str) -> Embedding:
21732196 Returns:
21742197 The embedding object.
21752198 """
2176- data = self ._adv_client .get_embedding (id )
2177- return Embedding (self ._adv_client , ** data )
2199+ for embedding in self .get_embeddings ():
2200+ if embedding .id == id :
2201+ return embedding
2202+ raise ResourceNotFoundError (Embedding , dict (id = id ))
2203+
2204+ def delete_embedding (self , id : str ):
2205+ """
2206+ Delete a custom embedding through the GraphQL API.
2207+
2208+ Args:
2209+ id: The embedding ID.
2210+ """
2211+ mutation = """
2212+ mutation DeleteEmbeddingPyApi($data: DeleteEmbeddingInput!) {
2213+ deleteEmbedding(data: $data)
2214+ }
2215+ """
2216+ return self .execute (mutation , {"data" : {"id" : id }})["deleteEmbedding" ]
2217+
2218+ def import_vectors_from_file (self , id : str , file_path : str , callback = None ):
2219+ """Upload embedding vectors directly to ADV."""
2220+ return self ._adv_client .import_vectors_from_file (
2221+ id , file_path , callback
2222+ )
2223+
2224+ def get_imported_vector_count (self , id : str ) -> int :
2225+ """Return an embedding's imported vector count directly from ADV."""
2226+ return self ._adv_client .get_imported_vector_count (id )
21782227
21792228 def get_embedding_by_name (self , name : str ) -> Embedding :
21802229 """
0 commit comments