mixpeek 0.20.20__py3-none-any.whl → 0.21.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mixpeek/_version.py +3 -3
- mixpeek/{assets.py → bucket_objects.py} +309 -793
- mixpeek/buckets.py +1292 -0
- mixpeek/clusters.py +306 -0
- mixpeek/collection_cache.py +820 -0
- mixpeek/{taxonomyentities.py → collection_documents.py} +305 -559
- mixpeek/collections.py +122 -996
- mixpeek/features.py +45 -991
- mixpeek/models/__init__.py +625 -570
- mixpeek/models/aggregationtype.py +13 -0
- mixpeek/models/apikeyupdate.py +1 -1
- mixpeek/models/attributebasedconfig.py +21 -0
- mixpeek/models/automaticnaming.py +29 -0
- mixpeek/models/basicfeatureextractor.py +35 -0
- mixpeek/models/{classify_features_v1_entities_taxonomies_taxonomy_classify_postop.py → batch_delete_documents_v1_collections_collection_identifier_documents_batch_deleteop.py} +17 -15
- mixpeek/models/{update_collection_v1_collections_collection_putop.py → batch_update_documents_v1_collections_collection_identifier_documents_batch_putop.py} +29 -19
- mixpeek/models/blobdetails.py +72 -0
- mixpeek/models/blobmodel.py +107 -0
- mixpeek/models/bucketcreaterequest.py +75 -0
- mixpeek/models/bucketresponse.py +90 -0
- mixpeek/models/bucketschema_input.py +37 -0
- mixpeek/models/bucketschema_output.py +37 -0
- mixpeek/models/{featureresponse.py → bucketschemafield_input.py} +45 -18
- mixpeek/models/bucketschemafield_output.py +101 -0
- mixpeek/models/bucketschemafieldtype.py +29 -0
- mixpeek/models/bucketupdaterequest.py +68 -0
- mixpeek/models/cachestats.py +40 -0
- mixpeek/models/{list_collections_v1_collections_getop.py → cleanup_cache_v1_collections_cache_cleanup_postop.py} +23 -12
- mixpeek/models/{inputtype.py → clusteringmethod.py} +3 -5
- mixpeek/models/clustertype.py +9 -0
- mixpeek/models/collectioncacheconfig_input.py +92 -0
- mixpeek/models/collectioncacheconfig_output.py +92 -0
- mixpeek/models/collectionconfig.py +32 -0
- mixpeek/models/collectionmodel.py +79 -8
- mixpeek/models/{create_taxonomy_v1_entities_taxonomies_postop.py → create_bucket_v1_buckets_create_postop.py} +7 -7
- mixpeek/models/{search_assets_v1_assets_search_postop.py → create_cluster_v1_clusters_postop.py} +7 -7
- mixpeek/models/{create_collection_v1_collections_postop.py → create_collection_v1_collections_create_postop.py} +3 -3
- mixpeek/models/{ingest_video_url_v1_ingest_videos_url_postop.py → create_interaction_v1_retrievers_interactions_postop.py} +7 -7
- mixpeek/models/{partial_asset_update_v1_assets_asset_id_patchop.py → create_object_v1_buckets_bucket_identifier_objects_create_postop.py} +11 -9
- mixpeek/models/{ingest_text_v1_ingest_text_postop.py → create_retriever_v1_retrievers_retrievers_postop.py} +10 -7
- mixpeek/models/{ingest_image_url_v1_ingest_images_url_postop.py → create_taxonomy_v1_taxonomies_postop.py} +7 -7
- mixpeek/models/createblobrequest.py +80 -0
- mixpeek/models/createclusterrequest.py +74 -0
- mixpeek/models/createcollectionrequest.py +72 -3
- mixpeek/models/createnamespacerequest.py +14 -8
- mixpeek/models/createobjectrequest.py +75 -0
- mixpeek/models/createretrieverrequest.py +90 -0
- mixpeek/models/{taxonomyupdate.py → createtaxonomyrequest.py} +15 -13
- mixpeek/models/{delete_asset_v1_assets_asset_id_deleteop.py → delete_bucket_v1_buckets_bucket_identifier_deleteop.py} +5 -5
- mixpeek/models/{delete_classifications_v1_entities_taxonomies_taxonomy_classifications_classification_id_deleteop.py → delete_document_v1_collections_collection_identifier_documents_document_id_deleteop.py} +11 -11
- mixpeek/models/{get_taxonomy_v1_entities_taxonomies_taxonomy_getop.py → delete_interaction_v1_retrievers_interactions_interaction_id_deleteop.py} +7 -7
- mixpeek/models/delete_object_v1_buckets_bucket_identifier_objects_object_identifier_deleteop.py +70 -0
- mixpeek/models/{featureextractionembeddingrequest.py → documenthandlingconfig.py} +12 -15
- mixpeek/models/documentinputhandling.py +11 -0
- mixpeek/models/{jsontextoutputsettings.py → documentlistresponse.py} +15 -14
- mixpeek/models/documentoutputhandling.py +10 -0
- mixpeek/models/documentoutputtype.py +11 -0
- mixpeek/models/documentresponse.py +87 -0
- mixpeek/models/{nodeupdate.py → documentupdate.py} +22 -13
- mixpeek/models/enrichmentfield.py +25 -0
- mixpeek/models/errordetail.py +1 -1
- mixpeek/models/{update_node_v1_entities_taxonomies_nodes_node_patchop.py → execute_retriever_v1_retrievers_retrievers_retriever_id_execute_postop.py} +11 -11
- mixpeek/models/featureextractorconfig.py +116 -0
- mixpeek/models/featureextractordefinition.py +192 -0
- mixpeek/models/filtercondition.py +25 -25
- mixpeek/models/filteroperator.py +24 -0
- mixpeek/models/generativemodels.py +10 -0
- mixpeek/models/{delete_feature_v1_features_feature_id_deleteop.py → get_bucket_v1_buckets_bucket_identifier_getop.py} +5 -5
- mixpeek/models/{list_taxonomies_v1_entities_taxonomies_getop.py → get_cache_stats_v1_collections_cache_stats_getop.py} +16 -14
- mixpeek/models/get_collection_v1_collections_collection_id_getop.py +59 -0
- mixpeek/models/get_document_v1_collections_collection_identifier_documents_document_id_getop.py +70 -0
- mixpeek/models/get_feature_extractor_v1_features_extractors_feature_id_getop.py +16 -0
- mixpeek/models/get_interaction_v1_retrievers_interactions_interaction_id_getop.py +57 -0
- mixpeek/models/{delete_collection_v1_collections_collection_deleteop.py → get_object_v1_buckets_bucket_identifier_objects_object_identifier_getop.py} +16 -7
- mixpeek/models/get_research_v1_research_getop.py +52 -0
- mixpeek/models/get_retriever_stages_v1_retrievers_stages_getop.py +52 -0
- mixpeek/models/{delete_taxonomy_v1_entities_taxonomies_taxonomy_deleteop.py → get_retriever_v1_retrievers_retrievers_retriever_id_getop.py} +5 -7
- mixpeek/models/get_task_v1_tasks_task_id_getop.py +1 -1
- mixpeek/models/getusagerequestmodel.py +91 -0
- mixpeek/models/hdbscanparameters.py +26 -0
- mixpeek/models/interactionresponse.py +86 -0
- mixpeek/models/interactiontype.py +22 -0
- mixpeek/models/{search_features_v1_features_search_postop.py → invalidate_cache_v1_collections_cache_invalidate_postop.py} +60 -34
- mixpeek/models/invalidationevent.py +67 -0
- mixpeek/models/invalidationstrategy.py +12 -0
- mixpeek/models/kill_task_v1_tasks_task_id_deleteop.py +1 -1
- mixpeek/models/list_active_tasks_v1_tasks_getop.py +1 -1
- mixpeek/models/{list_assets_v1_assets_postop.py → list_buckets_v1_buckets_postop.py} +18 -18
- mixpeek/models/{list_features_v1_features_postop.py → list_documents_v1_collections_collection_identifier_documents_getop.py} +54 -19
- mixpeek/models/list_interactions_v1_retrievers_interactions_getop.py +96 -0
- mixpeek/models/{list_classifications_v1_entities_taxonomies_taxonomy_classifications_postop.py → list_objects_v1_buckets_bucket_identifier_objects_postop.py} +22 -29
- mixpeek/models/{groupbyoptionsasset.py → listbucketsrequest.py} +19 -28
- mixpeek/models/listbucketsresponse.py +23 -0
- mixpeek/models/{groupbyoptions.py → listobjectsrequest.py} +19 -28
- mixpeek/models/listobjectsresponse.py +25 -0
- mixpeek/models/listtasksresponse.py +3 -6
- mixpeek/models/{logicaloperator.py → logicaloperator_input.py} +42 -24
- mixpeek/models/logicaloperator_output.py +121 -0
- mixpeek/models/multivectorindex.py +25 -0
- mixpeek/models/namespaceresponse.py +1 -1
- mixpeek/models/namespaceusage.py +45 -0
- mixpeek/models/namingmethod.py +8 -0
- mixpeek/models/objectresponse.py +124 -0
- mixpeek/models/{db_model_paginationresponse.py → paginationresponse.py} +3 -3
- mixpeek/models/payloadindexconfig.py +1 -1
- mixpeek/models/plan.py +82 -0
- mixpeek/models/recomputestrategy.py +12 -0
- mixpeek/models/resourcetotals.py +39 -0
- mixpeek/models/{jsonvideooutputsettings.py → retrieverbinding.py} +19 -11
- mixpeek/models/{logodetectsettings.py → retrievercacheconfig.py} +20 -11
- mixpeek/models/retrievermodel.py +95 -0
- mixpeek/models/retrieverqueryrequest.py +114 -0
- mixpeek/models/retrieverresponse.py +24 -0
- mixpeek/models/searchinteraction.py +81 -0
- mixpeek/models/singlelineageentry.py +99 -0
- mixpeek/models/sortdirection.py +11 -0
- mixpeek/models/sortoption.py +20 -12
- mixpeek/models/sourceconfig_input.py +72 -0
- mixpeek/models/sourceconfig_output.py +75 -0
- mixpeek/models/sourcetype.py +11 -0
- mixpeek/models/stageconfig_input.py +111 -0
- mixpeek/models/stageconfig_output.py +114 -0
- mixpeek/models/stagedefinition.py +110 -0
- mixpeek/models/{jsonimageoutputsettings.py → stageresponse.py} +21 -11
- mixpeek/models/taskresponse.py +1 -1
- mixpeek/models/taskstatus.py +1 -0
- mixpeek/models/{assetfeatures.py → taxonomyapplicationconfig.py} +23 -15
- mixpeek/models/taxonomyconfig.py +19 -0
- mixpeek/models/timeseriesdatapoint.py +25 -0
- mixpeek/models/timeseriesusage.py +36 -0
- mixpeek/models/{full_asset_update_v1_assets_asset_id_putop.py → update_bucket_v1_buckets_bucket_identifier_putop.py} +9 -9
- mixpeek/models/{update_taxonomy_v1_entities_taxonomies_taxonomy_patchop.py → update_document_v1_collections_collection_identifier_documents_document_id_putop.py} +25 -13
- mixpeek/models/{full_feature_update_v1_features_feature_id_putop.py → update_object_v1_buckets_bucket_identifier_objects_object_identifier_putop.py} +20 -9
- mixpeek/models/updatenamespacerequest.py +1 -1
- mixpeek/models/updateobjectrequest.py +75 -0
- mixpeek/models/usageresponse.py +86 -0
- mixpeek/models/usagesummary.py +39 -0
- mixpeek/models/usagetimerange.py +16 -0
- mixpeek/models/usermodel_input.py +3 -0
- mixpeek/models/usermodel_output.py +3 -0
- mixpeek/models/vectorbasedconfig.py +60 -0
- mixpeek/models/{collectionresult.py → vectorindex.py} +20 -15
- mixpeek/models/vectorindexdefinition.py +43 -0
- mixpeek/models/vectortype.py +4 -1
- mixpeek/namespaces.py +26 -480
- mixpeek/organization_notifications.py +214 -0
- mixpeek/organizations.py +6 -210
- mixpeek/{featureextractors.py → organizations_usage.py} +31 -39
- mixpeek/research.py +228 -0
- mixpeek/retriever_interactions.py +1036 -0
- mixpeek/retriever_stages.py +232 -0
- mixpeek/{ingestassets.py → retrievers.py} +209 -271
- mixpeek/sdk.py +40 -23
- mixpeek/taxonomies.py +43 -513
- mixpeek/types/basemodel.py +3 -3
- mixpeek/utils/enums.py +67 -27
- {mixpeek-0.20.20.dist-info → mixpeek-0.21.1.dist-info}/METADATA +68 -50
- mixpeek-0.21.1.dist-info/RECORD +216 -0
- {mixpeek-0.20.20.dist-info → mixpeek-0.21.1.dist-info}/WHEEL +1 -1
- mixpeek/models/actionusage.py +0 -16
- mixpeek/models/assetresponse.py +0 -166
- mixpeek/models/assets_model_searchquery.py +0 -21
- mixpeek/models/assetupdate.py +0 -28
- mixpeek/models/assignmentconfig.py +0 -67
- mixpeek/models/assignmentmode.py +0 -11
- mixpeek/models/availablemodels.py +0 -16
- mixpeek/models/availablemodelsresponse.py +0 -27
- mixpeek/models/classificationmatch.py +0 -77
- mixpeek/models/classificationwithfeature.py +0 -73
- mixpeek/models/collectiondetailsresponse.py +0 -83
- mixpeek/models/dateusage.py +0 -22
- mixpeek/models/denseembedding.py +0 -16
- mixpeek/models/discoverrequest.py +0 -64
- mixpeek/models/embeddingconfig.py +0 -33
- mixpeek/models/embeddingrequest.py +0 -92
- mixpeek/models/embeddingresponse.py +0 -64
- mixpeek/models/entitysettings.py +0 -50
- mixpeek/models/featureoptions.py +0 -25
- mixpeek/models/features_model_paginationresponse.py +0 -59
- mixpeek/models/featureupdaterequest.py +0 -21
- mixpeek/models/get_asset_v1_assets_asset_id_getop.py +0 -73
- mixpeek/models/get_asset_with_features_v1_assets_asset_id_features_getop.py +0 -73
- mixpeek/models/get_collection_details_v1_collections_collection_details_getop.py +0 -59
- mixpeek/models/get_collection_details_v1_collections_collection_getop.py +0 -59
- mixpeek/models/get_feature_v1_features_feature_id_getop.py +0 -70
- mixpeek/models/get_taxonomy_node_v1_entities_taxonomies_nodes_node_getop.py +0 -59
- mixpeek/models/groupedassetdata.py +0 -18
- mixpeek/models/imagedescribesettings.py +0 -82
- mixpeek/models/imagedetectsettings.py +0 -47
- mixpeek/models/imagereadsettings.py +0 -71
- mixpeek/models/imagesettings.py +0 -92
- mixpeek/models/listassetsrequest.py +0 -75
- mixpeek/models/listassetsresponse.py +0 -22
- mixpeek/models/listclassificationsrequest.py +0 -69
- mixpeek/models/listclassificationsresponse.py +0 -31
- mixpeek/models/listcollectionsresponse.py +0 -22
- mixpeek/models/listfeaturesrequest.py +0 -77
- mixpeek/models/listfeaturesresponse.py +0 -22
- mixpeek/models/listtaxonomiesresponse.py +0 -24
- mixpeek/models/modality.py +0 -13
- mixpeek/models/modeldetails.py +0 -61
- mixpeek/models/nodeoptions.py +0 -16
- mixpeek/models/patch_namespace_v1_namespaces_namespace_patchop.py +0 -28
- mixpeek/models/payloadindextype.py +0 -17
- mixpeek/models/processimageurlinput.py +0 -87
- mixpeek/models/processtextinput.py +0 -82
- mixpeek/models/processvideourlinput.py +0 -87
- mixpeek/models/querysettings.py +0 -56
- mixpeek/models/rerankingoptions.py +0 -47
- mixpeek/models/search_model_searchquery.py +0 -76
- mixpeek/models/searchassetsrequest.py +0 -78
- mixpeek/models/searchrequestfeatures.py +0 -153
- mixpeek/models/sparseembedding.py +0 -21
- mixpeek/models/taxonomycreate.py +0 -20
- mixpeek/models/taxonomyextractionconfig.py +0 -26
- mixpeek/models/taxonomymodel.py +0 -27
- mixpeek/models/taxonomynode.py +0 -101
- mixpeek/models/taxonomynodecreate.py +0 -63
- mixpeek/models/textsettings.py +0 -67
- mixpeek/models/updateassetrequest.py +0 -60
- mixpeek/models/usage.py +0 -18
- mixpeek/models/vectormodel.py +0 -15
- mixpeek/models/videodescribesettings.py +0 -82
- mixpeek/models/videodetectsettings.py +0 -47
- mixpeek/models/videoreadsettings.py +0 -71
- mixpeek/models/videosettings.py +0 -115
- mixpeek/models/videotranscriptionsettings.py +0 -69
- mixpeek-0.20.20.dist-info/RECORD +0 -201
@@ -0,0 +1,87 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from datetime import datetime
|
5
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
6
|
+
from pydantic import model_serializer
|
7
|
+
from typing import Dict, List, Optional
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class DocumentResponseMetadataTypedDict(TypedDict):
|
12
|
+
pass
|
13
|
+
|
14
|
+
|
15
|
+
class DocumentResponseMetadata(BaseModel):
|
16
|
+
pass
|
17
|
+
|
18
|
+
|
19
|
+
class DocumentResponseTypedDict(TypedDict):
|
20
|
+
r"""Model for document response"""
|
21
|
+
|
22
|
+
document_id: str
|
23
|
+
r"""Unique identifier for the document"""
|
24
|
+
collection_id: str
|
25
|
+
r"""ID of the collection this document belongs to"""
|
26
|
+
internal_id: str
|
27
|
+
r"""Internal organization ID"""
|
28
|
+
namespace_id: str
|
29
|
+
r"""Namespace ID"""
|
30
|
+
created_at: NotRequired[datetime]
|
31
|
+
updated_at: NotRequired[Nullable[datetime]]
|
32
|
+
metadata: NotRequired[DocumentResponseMetadataTypedDict]
|
33
|
+
vectors: NotRequired[Dict[str, List[float]]]
|
34
|
+
|
35
|
+
|
36
|
+
class DocumentResponse(BaseModel):
|
37
|
+
r"""Model for document response"""
|
38
|
+
|
39
|
+
document_id: str
|
40
|
+
r"""Unique identifier for the document"""
|
41
|
+
|
42
|
+
collection_id: str
|
43
|
+
r"""ID of the collection this document belongs to"""
|
44
|
+
|
45
|
+
internal_id: str
|
46
|
+
r"""Internal organization ID"""
|
47
|
+
|
48
|
+
namespace_id: str
|
49
|
+
r"""Namespace ID"""
|
50
|
+
|
51
|
+
created_at: Optional[datetime] = None
|
52
|
+
|
53
|
+
updated_at: OptionalNullable[datetime] = UNSET
|
54
|
+
|
55
|
+
metadata: Optional[DocumentResponseMetadata] = None
|
56
|
+
|
57
|
+
vectors: Optional[Dict[str, List[float]]] = None
|
58
|
+
|
59
|
+
@model_serializer(mode="wrap")
|
60
|
+
def serialize_model(self, handler):
|
61
|
+
optional_fields = ["created_at", "updated_at", "metadata", "vectors"]
|
62
|
+
nullable_fields = ["updated_at"]
|
63
|
+
null_default_fields = []
|
64
|
+
|
65
|
+
serialized = handler(self)
|
66
|
+
|
67
|
+
m = {}
|
68
|
+
|
69
|
+
for n, f in type(self).model_fields.items():
|
70
|
+
k = f.alias or n
|
71
|
+
val = serialized.get(k)
|
72
|
+
serialized.pop(k, None)
|
73
|
+
|
74
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
75
|
+
is_set = (
|
76
|
+
self.__pydantic_fields_set__.intersection({n})
|
77
|
+
or k in null_default_fields
|
78
|
+
) # pylint: disable=no-member
|
79
|
+
|
80
|
+
if val is not None and val != UNSET_SENTINEL:
|
81
|
+
m[k] = val
|
82
|
+
elif val != UNSET_SENTINEL and (
|
83
|
+
not k in optional_fields or (optional_nullable and is_set)
|
84
|
+
):
|
85
|
+
m[k] = val
|
86
|
+
|
87
|
+
return m
|
@@ -3,34 +3,43 @@
|
|
3
3
|
from __future__ import annotations
|
4
4
|
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
5
5
|
from pydantic import model_serializer
|
6
|
+
from typing import Dict, List
|
6
7
|
from typing_extensions import NotRequired, TypedDict
|
7
8
|
|
8
9
|
|
9
|
-
class
|
10
|
-
|
11
|
-
r"""Name of the taxonomy node (must be lowercase without spaces)"""
|
12
|
-
node_description: NotRequired[Nullable[str]]
|
13
|
-
r"""Optional description of what this node represents"""
|
10
|
+
class DocumentUpdateMetadataTypedDict(TypedDict):
|
11
|
+
pass
|
14
12
|
|
15
13
|
|
16
|
-
class
|
17
|
-
|
18
|
-
r"""Name of the taxonomy node (must be lowercase without spaces)"""
|
14
|
+
class DocumentUpdateMetadata(BaseModel):
|
15
|
+
pass
|
19
16
|
|
20
|
-
|
21
|
-
|
17
|
+
|
18
|
+
class DocumentUpdateTypedDict(TypedDict):
|
19
|
+
r"""Model for updating an existing document"""
|
20
|
+
|
21
|
+
metadata: NotRequired[Nullable[DocumentUpdateMetadataTypedDict]]
|
22
|
+
vectors: NotRequired[Nullable[Dict[str, List[float]]]]
|
23
|
+
|
24
|
+
|
25
|
+
class DocumentUpdate(BaseModel):
|
26
|
+
r"""Model for updating an existing document"""
|
27
|
+
|
28
|
+
metadata: OptionalNullable[DocumentUpdateMetadata] = UNSET
|
29
|
+
|
30
|
+
vectors: OptionalNullable[Dict[str, List[float]]] = UNSET
|
22
31
|
|
23
32
|
@model_serializer(mode="wrap")
|
24
33
|
def serialize_model(self, handler):
|
25
|
-
optional_fields = ["
|
26
|
-
nullable_fields = ["
|
34
|
+
optional_fields = ["metadata", "vectors"]
|
35
|
+
nullable_fields = ["metadata", "vectors"]
|
27
36
|
null_default_fields = []
|
28
37
|
|
29
38
|
serialized = handler(self)
|
30
39
|
|
31
40
|
m = {}
|
32
41
|
|
33
|
-
for n, f in self.model_fields.items():
|
42
|
+
for n, f in type(self).model_fields.items():
|
34
43
|
k = f.alias or n
|
35
44
|
val = serialized.get(k)
|
36
45
|
serialized.pop(k, None)
|
@@ -0,0 +1,25 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from mixpeek.types import BaseModel
|
5
|
+
from typing import Optional
|
6
|
+
from typing_extensions import NotRequired, TypedDict
|
7
|
+
|
8
|
+
|
9
|
+
class EnrichmentFieldTypedDict(TypedDict):
|
10
|
+
r"""Configuration for how a field should be enriched"""
|
11
|
+
|
12
|
+
field_name: str
|
13
|
+
r"""Name of the field to enrich"""
|
14
|
+
append: NotRequired[bool]
|
15
|
+
r"""Whether to append to existing values or replace them"""
|
16
|
+
|
17
|
+
|
18
|
+
class EnrichmentField(BaseModel):
|
19
|
+
r"""Configuration for how a field should be enriched"""
|
20
|
+
|
21
|
+
field_name: str
|
22
|
+
r"""Name of the field to enrich"""
|
23
|
+
|
24
|
+
append: Optional[bool] = False
|
25
|
+
r"""Whether to append to existing values or replace them"""
|
mixpeek/models/errordetail.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
|
-
from .
|
4
|
+
from .retrieverqueryrequest import RetrieverQueryRequest, RetrieverQueryRequestTypedDict
|
5
5
|
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
6
6
|
from mixpeek.utils import (
|
7
7
|
FieldMetadata,
|
@@ -14,22 +14,22 @@ from pydantic import model_serializer
|
|
14
14
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
15
15
|
|
16
16
|
|
17
|
-
class
|
18
|
-
|
19
|
-
|
20
|
-
|
17
|
+
class ExecuteRetrieverV1RetrieversRetrieversRetrieverIDExecutePostRequestTypedDict(
|
18
|
+
TypedDict
|
19
|
+
):
|
20
|
+
retriever_id: str
|
21
|
+
retriever_query_request: RetrieverQueryRequestTypedDict
|
21
22
|
x_namespace: NotRequired[Nullable[str]]
|
22
23
|
r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
|
23
24
|
|
24
25
|
|
25
|
-
class
|
26
|
-
|
26
|
+
class ExecuteRetrieverV1RetrieversRetrieversRetrieverIDExecutePostRequest(BaseModel):
|
27
|
+
retriever_id: Annotated[
|
27
28
|
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
28
29
|
]
|
29
|
-
r"""The ID or name of the node to update"""
|
30
30
|
|
31
|
-
|
32
|
-
|
31
|
+
retriever_query_request: Annotated[
|
32
|
+
RetrieverQueryRequest,
|
33
33
|
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
34
34
|
]
|
35
35
|
|
@@ -50,7 +50,7 @@ class UpdateNodeV1EntitiesTaxonomiesNodesNodePatchRequest(BaseModel):
|
|
50
50
|
|
51
51
|
m = {}
|
52
52
|
|
53
|
-
for n, f in self.model_fields.items():
|
53
|
+
for n, f in type(self).model_fields.items():
|
54
54
|
k = f.alias or n
|
55
55
|
val = serialized.get(k)
|
56
56
|
serialized.pop(k, None)
|
@@ -0,0 +1,116 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .documentinputhandling import DocumentInputHandling
|
5
|
+
from .documentoutputhandling import DocumentOutputHandling
|
6
|
+
from .documentoutputtype import DocumentOutputType
|
7
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
8
|
+
from pydantic import model_serializer
|
9
|
+
from typing import Dict, Optional
|
10
|
+
from typing_extensions import NotRequired, TypedDict
|
11
|
+
|
12
|
+
|
13
|
+
class ParametersTypedDict(TypedDict):
|
14
|
+
r"""Custom parameters for the extractor"""
|
15
|
+
|
16
|
+
|
17
|
+
class Parameters(BaseModel):
|
18
|
+
r"""Custom parameters for the extractor"""
|
19
|
+
|
20
|
+
|
21
|
+
class FeatureExtractorConfigTypedDict(TypedDict):
|
22
|
+
r"""Configuration for a feature extractor that is selected for use within a collection.
|
23
|
+
This model represents a selected feature extractor along with its specific configuration
|
24
|
+
for a particular collection.
|
25
|
+
This gets stored in the collection settings.
|
26
|
+
"""
|
27
|
+
|
28
|
+
feature_extractor_name: str
|
29
|
+
r"""Name of the feature extractor"""
|
30
|
+
version: str
|
31
|
+
r"""Version of the feature extractor"""
|
32
|
+
parameters: NotRequired[ParametersTypedDict]
|
33
|
+
r"""Custom parameters for the extractor"""
|
34
|
+
input_mapping: NotRequired[Dict[str, str]]
|
35
|
+
r"""Maps pipeline inputs to extractor inputs (source -> target)"""
|
36
|
+
output_mapping: NotRequired[Dict[str, str]]
|
37
|
+
r"""Maps extractor outputs to pipeline outputs (source -> target)"""
|
38
|
+
document_output_type: NotRequired[Nullable[DocumentOutputType]]
|
39
|
+
r"""Type of document output produced by the extractor"""
|
40
|
+
document_input_handling: NotRequired[Nullable[DocumentInputHandling]]
|
41
|
+
r"""How documents are provided to the extractor"""
|
42
|
+
document_output_handling: NotRequired[Nullable[DocumentOutputHandling]]
|
43
|
+
r"""How extractor output is handled for documents"""
|
44
|
+
|
45
|
+
|
46
|
+
class FeatureExtractorConfig(BaseModel):
|
47
|
+
r"""Configuration for a feature extractor that is selected for use within a collection.
|
48
|
+
This model represents a selected feature extractor along with its specific configuration
|
49
|
+
for a particular collection.
|
50
|
+
This gets stored in the collection settings.
|
51
|
+
"""
|
52
|
+
|
53
|
+
feature_extractor_name: str
|
54
|
+
r"""Name of the feature extractor"""
|
55
|
+
|
56
|
+
version: str
|
57
|
+
r"""Version of the feature extractor"""
|
58
|
+
|
59
|
+
parameters: Optional[Parameters] = None
|
60
|
+
r"""Custom parameters for the extractor"""
|
61
|
+
|
62
|
+
input_mapping: Optional[Dict[str, str]] = None
|
63
|
+
r"""Maps pipeline inputs to extractor inputs (source -> target)"""
|
64
|
+
|
65
|
+
output_mapping: Optional[Dict[str, str]] = None
|
66
|
+
r"""Maps extractor outputs to pipeline outputs (source -> target)"""
|
67
|
+
|
68
|
+
document_output_type: OptionalNullable[DocumentOutputType] = UNSET
|
69
|
+
r"""Type of document output produced by the extractor"""
|
70
|
+
|
71
|
+
document_input_handling: OptionalNullable[DocumentInputHandling] = UNSET
|
72
|
+
r"""How documents are provided to the extractor"""
|
73
|
+
|
74
|
+
document_output_handling: OptionalNullable[DocumentOutputHandling] = UNSET
|
75
|
+
r"""How extractor output is handled for documents"""
|
76
|
+
|
77
|
+
@model_serializer(mode="wrap")
|
78
|
+
def serialize_model(self, handler):
|
79
|
+
optional_fields = [
|
80
|
+
"parameters",
|
81
|
+
"input_mapping",
|
82
|
+
"output_mapping",
|
83
|
+
"document_output_type",
|
84
|
+
"document_input_handling",
|
85
|
+
"document_output_handling",
|
86
|
+
]
|
87
|
+
nullable_fields = [
|
88
|
+
"document_output_type",
|
89
|
+
"document_input_handling",
|
90
|
+
"document_output_handling",
|
91
|
+
]
|
92
|
+
null_default_fields = []
|
93
|
+
|
94
|
+
serialized = handler(self)
|
95
|
+
|
96
|
+
m = {}
|
97
|
+
|
98
|
+
for n, f in type(self).model_fields.items():
|
99
|
+
k = f.alias or n
|
100
|
+
val = serialized.get(k)
|
101
|
+
serialized.pop(k, None)
|
102
|
+
|
103
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
104
|
+
is_set = (
|
105
|
+
self.__pydantic_fields_set__.intersection({n})
|
106
|
+
or k in null_default_fields
|
107
|
+
) # pylint: disable=no-member
|
108
|
+
|
109
|
+
if val is not None and val != UNSET_SENTINEL:
|
110
|
+
m[k] = val
|
111
|
+
elif val != UNSET_SENTINEL and (
|
112
|
+
not k in optional_fields or (optional_nullable and is_set)
|
113
|
+
):
|
114
|
+
m[k] = val
|
115
|
+
|
116
|
+
return m
|
@@ -0,0 +1,192 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .documentinputhandling import DocumentInputHandling
|
5
|
+
from .documentoutputhandling import DocumentOutputHandling
|
6
|
+
from .documentoutputtype import DocumentOutputType
|
7
|
+
from .vectorindexdefinition import VectorIndexDefinition, VectorIndexDefinitionTypedDict
|
8
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
9
|
+
import pydantic
|
10
|
+
from pydantic import ConfigDict, model_serializer
|
11
|
+
from typing import Any, Dict, List, Optional
|
12
|
+
from typing_extensions import NotRequired, TypedDict
|
13
|
+
|
14
|
+
|
15
|
+
class InputSchemaTypedDict(TypedDict):
|
16
|
+
r"""Schema for input data"""
|
17
|
+
|
18
|
+
|
19
|
+
class InputSchema(BaseModel):
|
20
|
+
r"""Schema for input data"""
|
21
|
+
|
22
|
+
|
23
|
+
class OutputSchemaTypedDict(TypedDict):
|
24
|
+
r"""Schema for output data"""
|
25
|
+
|
26
|
+
|
27
|
+
class OutputSchema(BaseModel):
|
28
|
+
r"""Schema for output data"""
|
29
|
+
|
30
|
+
|
31
|
+
class ParameterSchemaTypedDict(TypedDict):
|
32
|
+
r"""Schema for parameters"""
|
33
|
+
|
34
|
+
|
35
|
+
class ParameterSchema(BaseModel):
|
36
|
+
r"""Schema for parameters"""
|
37
|
+
|
38
|
+
|
39
|
+
class DefaultParametersTypedDict(TypedDict):
|
40
|
+
r"""Default parameters"""
|
41
|
+
|
42
|
+
|
43
|
+
class DefaultParameters(BaseModel):
|
44
|
+
r"""Default parameters"""
|
45
|
+
|
46
|
+
|
47
|
+
class FeatureExtractorDefinitionTypedDict(TypedDict):
|
48
|
+
r"""Definition of a feature extractor."""
|
49
|
+
|
50
|
+
feature_extractor_name: str
|
51
|
+
r"""Name of the feature extractor"""
|
52
|
+
description: str
|
53
|
+
r"""Description of the feature extractor"""
|
54
|
+
version: str
|
55
|
+
r"""Version of the feature extractor"""
|
56
|
+
module_path: str
|
57
|
+
r"""Python module path for the feature extractor"""
|
58
|
+
feature_id: NotRequired[str]
|
59
|
+
r"""Unique identifier for the feature extractor"""
|
60
|
+
input_schema: NotRequired[InputSchemaTypedDict]
|
61
|
+
r"""Schema for input data"""
|
62
|
+
output_schema: NotRequired[OutputSchemaTypedDict]
|
63
|
+
r"""Schema for output data"""
|
64
|
+
parameter_schema: NotRequired[ParameterSchemaTypedDict]
|
65
|
+
r"""Schema for parameters"""
|
66
|
+
supported_input_types: NotRequired[List[str]]
|
67
|
+
r"""Supported input types"""
|
68
|
+
max_inputs: NotRequired[Dict[str, int]]
|
69
|
+
r"""Maximum number of inputs of each type"""
|
70
|
+
default_parameters: NotRequired[DefaultParametersTypedDict]
|
71
|
+
r"""Default parameters"""
|
72
|
+
document_output_type: NotRequired[DocumentOutputType]
|
73
|
+
r"""Enum for document output types"""
|
74
|
+
document_input_handling: NotRequired[DocumentInputHandling]
|
75
|
+
r"""How documents are provided to the feature extractor"""
|
76
|
+
document_output_handling: NotRequired[DocumentOutputHandling]
|
77
|
+
r"""Enum for document output handling types"""
|
78
|
+
required_vector_indexes: NotRequired[Nullable[List[VectorIndexDefinitionTypedDict]]]
|
79
|
+
r"""Vector indexes required by the extractor"""
|
80
|
+
required_payload_indexes: NotRequired[Nullable[List[Any]]]
|
81
|
+
r"""Payload indexes required by the extractor"""
|
82
|
+
|
83
|
+
|
84
|
+
class FeatureExtractorDefinition(BaseModel):
|
85
|
+
r"""Definition of a feature extractor."""
|
86
|
+
|
87
|
+
model_config = ConfigDict(
|
88
|
+
populate_by_name=True, arbitrary_types_allowed=True, extra="allow"
|
89
|
+
)
|
90
|
+
__pydantic_extra__: Dict[str, Any] = pydantic.Field(init=False)
|
91
|
+
|
92
|
+
feature_extractor_name: str
|
93
|
+
r"""Name of the feature extractor"""
|
94
|
+
|
95
|
+
description: str
|
96
|
+
r"""Description of the feature extractor"""
|
97
|
+
|
98
|
+
version: str
|
99
|
+
r"""Version of the feature extractor"""
|
100
|
+
|
101
|
+
module_path: str
|
102
|
+
r"""Python module path for the feature extractor"""
|
103
|
+
|
104
|
+
feature_id: Optional[str] = ""
|
105
|
+
r"""Unique identifier for the feature extractor"""
|
106
|
+
|
107
|
+
input_schema: Optional[InputSchema] = None
|
108
|
+
r"""Schema for input data"""
|
109
|
+
|
110
|
+
output_schema: Optional[OutputSchema] = None
|
111
|
+
r"""Schema for output data"""
|
112
|
+
|
113
|
+
parameter_schema: Optional[ParameterSchema] = None
|
114
|
+
r"""Schema for parameters"""
|
115
|
+
|
116
|
+
supported_input_types: Optional[List[str]] = None
|
117
|
+
r"""Supported input types"""
|
118
|
+
|
119
|
+
max_inputs: Optional[Dict[str, int]] = None
|
120
|
+
r"""Maximum number of inputs of each type"""
|
121
|
+
|
122
|
+
default_parameters: Optional[DefaultParameters] = None
|
123
|
+
r"""Default parameters"""
|
124
|
+
|
125
|
+
document_output_type: Optional[DocumentOutputType] = None
|
126
|
+
r"""Enum for document output types"""
|
127
|
+
|
128
|
+
document_input_handling: Optional[DocumentInputHandling] = None
|
129
|
+
r"""How documents are provided to the feature extractor"""
|
130
|
+
|
131
|
+
document_output_handling: Optional[DocumentOutputHandling] = None
|
132
|
+
r"""Enum for document output handling types"""
|
133
|
+
|
134
|
+
required_vector_indexes: OptionalNullable[List[VectorIndexDefinition]] = UNSET
|
135
|
+
r"""Vector indexes required by the extractor"""
|
136
|
+
|
137
|
+
required_payload_indexes: OptionalNullable[List[Any]] = UNSET
|
138
|
+
r"""Payload indexes required by the extractor"""
|
139
|
+
|
140
|
+
@property
|
141
|
+
def additional_properties(self):
|
142
|
+
return self.__pydantic_extra__
|
143
|
+
|
144
|
+
@additional_properties.setter
|
145
|
+
def additional_properties(self, value):
|
146
|
+
self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride]
|
147
|
+
|
148
|
+
@model_serializer(mode="wrap")
|
149
|
+
def serialize_model(self, handler):
|
150
|
+
optional_fields = [
|
151
|
+
"feature_id",
|
152
|
+
"input_schema",
|
153
|
+
"output_schema",
|
154
|
+
"parameter_schema",
|
155
|
+
"supported_input_types",
|
156
|
+
"max_inputs",
|
157
|
+
"default_parameters",
|
158
|
+
"document_output_type",
|
159
|
+
"document_input_handling",
|
160
|
+
"document_output_handling",
|
161
|
+
"required_vector_indexes",
|
162
|
+
"required_payload_indexes",
|
163
|
+
]
|
164
|
+
nullable_fields = ["required_vector_indexes", "required_payload_indexes"]
|
165
|
+
null_default_fields = []
|
166
|
+
|
167
|
+
serialized = handler(self)
|
168
|
+
|
169
|
+
m = {}
|
170
|
+
|
171
|
+
for n, f in type(self).model_fields.items():
|
172
|
+
k = f.alias or n
|
173
|
+
val = serialized.get(k)
|
174
|
+
serialized.pop(k, None)
|
175
|
+
|
176
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
177
|
+
is_set = (
|
178
|
+
self.__pydantic_fields_set__.intersection({n})
|
179
|
+
or k in null_default_fields
|
180
|
+
) # pylint: disable=no-member
|
181
|
+
|
182
|
+
if val is not None and val != UNSET_SENTINEL:
|
183
|
+
m[k] = val
|
184
|
+
elif val != UNSET_SENTINEL and (
|
185
|
+
not k in optional_fields or (optional_nullable and is_set)
|
186
|
+
):
|
187
|
+
m[k] = val
|
188
|
+
|
189
|
+
for k, v in serialized.items():
|
190
|
+
m[k] = v
|
191
|
+
|
192
|
+
return m
|
@@ -1,51 +1,51 @@
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
|
-
from
|
4
|
+
from .filteroperator import FilterOperator
|
5
5
|
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
6
6
|
from pydantic import model_serializer
|
7
7
|
from typing import Any, Optional
|
8
8
|
from typing_extensions import NotRequired, TypedDict
|
9
9
|
|
10
10
|
|
11
|
-
class
|
12
|
-
r"""
|
13
|
-
|
14
|
-
EQ = "eq"
|
15
|
-
NE = "ne"
|
16
|
-
GT = "gt"
|
17
|
-
LT = "lt"
|
18
|
-
GTE = "gte"
|
19
|
-
LTE = "lte"
|
20
|
-
IN = "in"
|
21
|
-
NIN = "nin"
|
22
|
-
IS_NULL = "is_null"
|
23
|
-
TEXT = "text"
|
24
|
-
EXISTS = "exists"
|
11
|
+
class FilterConditionTypedDict(TypedDict):
|
12
|
+
r"""Represents a single filter condition.
|
25
13
|
|
14
|
+
Attributes:
|
15
|
+
field: The field to filter on
|
16
|
+
operator: The comparison operator
|
17
|
+
value: The value to compare against
|
18
|
+
"""
|
26
19
|
|
27
|
-
|
28
|
-
key: str
|
20
|
+
field: str
|
29
21
|
r"""Field name to filter on"""
|
22
|
+
operator: NotRequired[FilterOperator]
|
23
|
+
r"""Supported filter operators across database implementations."""
|
30
24
|
value: NotRequired[Nullable[Any]]
|
31
25
|
r"""Value to compare against"""
|
32
|
-
operator: NotRequired[Operator]
|
33
|
-
r"""Comparison operator"""
|
34
26
|
|
35
27
|
|
36
28
|
class FilterCondition(BaseModel):
|
37
|
-
|
29
|
+
r"""Represents a single filter condition.
|
30
|
+
|
31
|
+
Attributes:
|
32
|
+
field: The field to filter on
|
33
|
+
operator: The comparison operator
|
34
|
+
value: The value to compare against
|
35
|
+
"""
|
36
|
+
|
37
|
+
field: str
|
38
38
|
r"""Field name to filter on"""
|
39
39
|
|
40
|
+
operator: Optional[FilterOperator] = None
|
41
|
+
r"""Supported filter operators across database implementations."""
|
42
|
+
|
40
43
|
value: OptionalNullable[Any] = UNSET
|
41
44
|
r"""Value to compare against"""
|
42
45
|
|
43
|
-
operator: Optional[Operator] = Operator.EQ
|
44
|
-
r"""Comparison operator"""
|
45
|
-
|
46
46
|
@model_serializer(mode="wrap")
|
47
47
|
def serialize_model(self, handler):
|
48
|
-
optional_fields = ["
|
48
|
+
optional_fields = ["operator", "value"]
|
49
49
|
nullable_fields = ["value"]
|
50
50
|
null_default_fields = []
|
51
51
|
|
@@ -53,7 +53,7 @@ class FilterCondition(BaseModel):
|
|
53
53
|
|
54
54
|
m = {}
|
55
55
|
|
56
|
-
for n, f in self.model_fields.items():
|
56
|
+
for n, f in type(self).model_fields.items():
|
57
57
|
k = f.alias or n
|
58
58
|
val = serialized.get(k)
|
59
59
|
serialized.pop(k, None)
|
@@ -0,0 +1,24 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from enum import Enum
|
5
|
+
|
6
|
+
|
7
|
+
class FilterOperator(str, Enum):
|
8
|
+
r"""Supported filter operators across database implementations."""
|
9
|
+
|
10
|
+
EQ = "eq"
|
11
|
+
NE = "ne"
|
12
|
+
GT = "gt"
|
13
|
+
LT = "lt"
|
14
|
+
GTE = "gte"
|
15
|
+
LTE = "lte"
|
16
|
+
IN = "in"
|
17
|
+
NIN = "nin"
|
18
|
+
CONTAINS = "contains"
|
19
|
+
STARTS_WITH = "starts_with"
|
20
|
+
ENDS_WITH = "ends_with"
|
21
|
+
REGEX = "regex"
|
22
|
+
EXISTS = "exists"
|
23
|
+
IS_NULL = "is_null"
|
24
|
+
TEXT = "text"
|
@@ -0,0 +1,10 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from enum import Enum
|
5
|
+
|
6
|
+
|
7
|
+
class GenerativeModels(str, Enum):
|
8
|
+
GPT_4 = "gpt-4"
|
9
|
+
CLAUDE_3_5_SONNET = "claude-3-5-sonnet"
|
10
|
+
GEMINI_1_5_FLASH = "gemini-1.5-flash"
|