Array & Dictionary¶
Array & Dictionary¶
Array & Dictionary
-
class
vectorai.api.array_dict_vectorizer.
ViArrayDictClient
(username, api_key, url=None)¶ Search and Encoding for Array & Dictionary
-
encode_dictionary_field
(collection_name: str, dictionary_fields: List)¶ Encode all dictionaries in a field for collection into vectors
Within a collection encode the specified dictionary field in every document into vectors.
For example: a dictionary that represents a person’s characteristics visiting a store, field “person_characteristics”:
document 1 field: {"person_characteristics" : {"height":180, "age":40, "weight":70}} document 2 field: {"person_characteristics" : {"age":32, "purchases":10, "visits": 24}} -> <Encode the dictionaries to vectors> -> | height | age | weight | purchases | visits | |--------|-----|--------|-----------|--------| | 180 | 40 | 70 | 0 | 0 | | 0 | 32 | 0 | 10 | 24 | document 1 dictionary vector: {"person_characteristics_vector_": [180, 40, 70, 0, 0]} document 2 dictionary vector: {"person_characteristics_vector_": [0, 32, 0, 10, 24]}
- Parameters
dictionary_fields – The dictionary field to train on to encode into vectors
collection_name – Name of Collection
-
encode_dictionary
(collection_name: str, dictionary: Dict, dictionary_field: str)¶ Encode an dictionary into a vector
For example: a dictionary that represents a person’s characteristics visiting a store, field “person_characteristics”:
{"height":180, "age":40, "weight":70} -> <Encode the dictionary to vector> -> | height | age | weight | purchases | visits | |--------|-----|--------|-----------|--------| | 180 | 40 | 70 | 0 | 0 | dictionary vector: [180, 40, 70, 0, 0]
- Parameters
collection_name – Name of Collection
dictionary – A dictionary to encode into vectors
dictionary_field – The dictionary field that encoding of the dictionary is trained on
-
search_with_dictionary
(collection_name: str, dictionary: Dict, dictionary_field: str, fields: List, sum_fields: bool = True, metric: str = 'cosine', min_score=None, page: int = 1, page_size: int = 10, include_vector=False, include_count=True)¶ Search a dictionary field with a dictionary using Vector Search with a dictionary directly.
For example: a dictionary that represents a person’s characteristics visiting a store, field “person_characteristics”:
{"height":180, "age":40, "weight":70} -> <Encode the dictionary to vector> -> | height | age | weight | purchases | visits | |--------|-----|--------|-----------|--------| | 180 | 40 | 70 | 0 | 0 | dictionary vector: [180, 40, 70, 0, 0] -> <Vector Search> -> Search Results: {...}
- Parameters
collection_name – Name of Collection
search_fields – Vector fields to search against
page_size – Size of each page of results
page – Page of the results
approx – Used for approximate search
sum_fields – Whether to sum the multiple vectors similarity search score as 1 or seperate
metric – Similarity Metric, choose from [‘cosine’, ‘l1’, ‘l2’, ‘dp’]
min_score – Minimum score for similarity metric
include_vector – Include vectors in the search results
include_count – Include count in the search results
hundred_scale – Whether to scale up the metric by 100
dictionary – A dictionary to encode into vectors
dictionary_field – The dictionary field that encoding of the dictionary is trained on
-
encode_array_field
(collection_name: str, array_fields: List)¶ Encode all arrays in a field for a collection into vectors
Within a collection encode the specified array field in every document into vectors.
For example, array that represents a **movie’s categories, field “movie_categories”:
document 1 array field: {"category" : ["sci-fi", "thriller", "comedy"]} document 2 array field: {"category" : ["sci-fi", "romance", "drama"]} -> <Encode the arrays to vectors> -> | sci-fi | thriller | comedy | romance | drama | |--------|----------|--------|---------|-------| | 1 | 1 | 1 | 0 | 0 | | 1 | 0 | 0 | 1 | 1 | document 1 array vector: {"movie_categories_vector_": [1, 1, 1, 0, 0]} document 2 array vector: {"movie_categories_vector_": [1, 0, 0, 1, 1]}
- Parameters
array_fields – The array field to train on to encode into vectors
collection_name – Name of Collection
-
encode_array
(collection_name: str, array: List, array_field: str)¶ Encode an array into a vector
For example: an array that represents a movie’s categories, field “movie_categories”:
["sci-fi", "thriller", "comedy"] -> <Encode the arrays to vectors> -> | sci-fi | thriller | comedy | romance | drama | |--------|----------|--------|---------|-------| | 1 | 1 | 1 | 0 | 0 | array vector: [1, 1, 1, 0, 0]
- Parameters
array_field – The array field that encoding of the dictionary is trained on
array – The array to encode into vectors
collection_name – Name of Collection
-
search_with_array
(collection_name: str, array: List, array_field: str, fields: List, sum_fields: bool = True, metric: str = 'cosine', min_score=None, page: int = 1, page_size: int = 10, include_vector=False, include_count=True)¶ Search an array field with an array using Vector Search with an array directly.
For example: an array that represents a movie’s categories, field “movie_categories”:
["sci-fi", "thriller", "comedy"] -> <Encode the arrays to vectors> -> | sci-fi | thriller | comedy | romance | drama | |--------|----------|--------|---------|-------| | 1 | 1 | 1 | 0 | 0 | array vector: [1, 1, 1, 0, 0] -> <Vector Search> -> Search Results: {...}
- Parameters
array_field – The array field that encoding of the dictionary is trained on
array – The array to encode into vectors
collection_name – Name of Collection
search_fields – Vector fields to search through
approx – Used for approximate search
sum_fields – Whether to sum the multiple vectors similarity search score as 1 or seperate
page_size – Size of each page of results
page – Page of the results
metric – Similarity Metric, choose from [‘cosine’, ‘l1’, ‘l2’, ‘dp’]
min_score – Minimum score for similarity metric
include_vector – Include vectors in the search results
include_count – Include count in the search results
hundred_scale – Whether to scale up the metric by 100
-