mixpeek 0.20.20__py3-none-any.whl → 0.21.6__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 → bucketobjects.py} +309 -793
- mixpeek/buckets.py +1292 -0
- mixpeek/clusters.py +306 -0
- mixpeek/collectioncache.py +820 -0
- mixpeek/{taxonomyentities.py → collectiondocuments.py} +305 -559
- mixpeek/collections.py +120 -994
- 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/organizationnotifications.py +214 -0
- mixpeek/organizations.py +6 -210
- mixpeek/{featureextractors.py → organizationsusage.py} +31 -39
- mixpeek/research.py +228 -0
- mixpeek/retrieverinteractions.py +1036 -0
- mixpeek/{ingestassets.py → retrievers.py} +209 -271
- mixpeek/retrieverstages.py +232 -0
- 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.6.dist-info}/METADATA +68 -50
- mixpeek-0.21.6.dist-info/RECORD +216 -0
- {mixpeek-0.20.20.dist-info → mixpeek-0.21.6.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,86 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .namespaceusage import NamespaceUsage, NamespaceUsageTypedDict
|
5
|
+
from .plan import Plan, PlanTypedDict
|
6
|
+
from .timeseriesusage import TimeseriesUsage, TimeseriesUsageTypedDict
|
7
|
+
from .usagesummary import UsageSummary, UsageSummaryTypedDict
|
8
|
+
from datetime import datetime
|
9
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
10
|
+
from pydantic import model_serializer
|
11
|
+
from typing import List
|
12
|
+
from typing_extensions import NotRequired, TypedDict
|
13
|
+
|
14
|
+
|
15
|
+
class UsageResponseTypedDict(TypedDict):
|
16
|
+
r"""Complete usage response model"""
|
17
|
+
|
18
|
+
usage_summary: UsageSummaryTypedDict
|
19
|
+
r"""Summary of current resource usage"""
|
20
|
+
namespace_usage: List[NamespaceUsageTypedDict]
|
21
|
+
r"""Usage by namespace"""
|
22
|
+
billing_period_end: datetime
|
23
|
+
r"""End of current billing period"""
|
24
|
+
organization_id: str
|
25
|
+
r"""Organization ID"""
|
26
|
+
usage_history: NotRequired[Nullable[TimeseriesUsageTypedDict]]
|
27
|
+
r"""Historical usage data"""
|
28
|
+
billing_period_start: NotRequired[Nullable[datetime]]
|
29
|
+
r"""Start of current billing period"""
|
30
|
+
current_plan: NotRequired[Nullable[PlanTypedDict]]
|
31
|
+
r"""Current subscription plan"""
|
32
|
+
|
33
|
+
|
34
|
+
class UsageResponse(BaseModel):
|
35
|
+
r"""Complete usage response model"""
|
36
|
+
|
37
|
+
usage_summary: UsageSummary
|
38
|
+
r"""Summary of current resource usage"""
|
39
|
+
|
40
|
+
namespace_usage: List[NamespaceUsage]
|
41
|
+
r"""Usage by namespace"""
|
42
|
+
|
43
|
+
billing_period_end: datetime
|
44
|
+
r"""End of current billing period"""
|
45
|
+
|
46
|
+
organization_id: str
|
47
|
+
r"""Organization ID"""
|
48
|
+
|
49
|
+
usage_history: OptionalNullable[TimeseriesUsage] = UNSET
|
50
|
+
r"""Historical usage data"""
|
51
|
+
|
52
|
+
billing_period_start: OptionalNullable[datetime] = UNSET
|
53
|
+
r"""Start of current billing period"""
|
54
|
+
|
55
|
+
current_plan: OptionalNullable[Plan] = UNSET
|
56
|
+
r"""Current subscription plan"""
|
57
|
+
|
58
|
+
@model_serializer(mode="wrap")
|
59
|
+
def serialize_model(self, handler):
|
60
|
+
optional_fields = ["usage_history", "billing_period_start", "current_plan"]
|
61
|
+
nullable_fields = ["usage_history", "billing_period_start", "current_plan"]
|
62
|
+
null_default_fields = []
|
63
|
+
|
64
|
+
serialized = handler(self)
|
65
|
+
|
66
|
+
m = {}
|
67
|
+
|
68
|
+
for n, f in type(self).model_fields.items():
|
69
|
+
k = f.alias or n
|
70
|
+
val = serialized.get(k)
|
71
|
+
serialized.pop(k, None)
|
72
|
+
|
73
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
74
|
+
is_set = (
|
75
|
+
self.__pydantic_fields_set__.intersection({n})
|
76
|
+
or k in null_default_fields
|
77
|
+
) # pylint: disable=no-member
|
78
|
+
|
79
|
+
if val is not None and val != UNSET_SENTINEL:
|
80
|
+
m[k] = val
|
81
|
+
elif val != UNSET_SENTINEL and (
|
82
|
+
not k in optional_fields or (optional_nullable and is_set)
|
83
|
+
):
|
84
|
+
m[k] = val
|
85
|
+
|
86
|
+
return m
|
@@ -0,0 +1,39 @@
|
|
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_extensions import TypedDict
|
6
|
+
|
7
|
+
|
8
|
+
class UsageSummaryTypedDict(TypedDict):
|
9
|
+
r"""Summary of current resource usage"""
|
10
|
+
|
11
|
+
api_calls: int
|
12
|
+
r"""Total API calls in the current period"""
|
13
|
+
storage_used_gb: float
|
14
|
+
r"""Total storage used in GB"""
|
15
|
+
documents_processed: int
|
16
|
+
r"""Total documents processed"""
|
17
|
+
active_collections: int
|
18
|
+
r"""Number of active collections"""
|
19
|
+
credits_used: int
|
20
|
+
r"""Total credits used"""
|
21
|
+
|
22
|
+
|
23
|
+
class UsageSummary(BaseModel):
|
24
|
+
r"""Summary of current resource usage"""
|
25
|
+
|
26
|
+
api_calls: int
|
27
|
+
r"""Total API calls in the current period"""
|
28
|
+
|
29
|
+
storage_used_gb: float
|
30
|
+
r"""Total storage used in GB"""
|
31
|
+
|
32
|
+
documents_processed: int
|
33
|
+
r"""Total documents processed"""
|
34
|
+
|
35
|
+
active_collections: int
|
36
|
+
r"""Number of active collections"""
|
37
|
+
|
38
|
+
credits_used: int
|
39
|
+
r"""Total credits used"""
|
@@ -0,0 +1,16 @@
|
|
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 UsageTimeRange(str, Enum):
|
8
|
+
r"""Time ranges for usage data"""
|
9
|
+
|
10
|
+
SEVEND = "7d"
|
11
|
+
THIRTYD = "30d"
|
12
|
+
NINETYD = "90d"
|
13
|
+
ONE_HUNDRED_AND_EIGHTYD = "180d"
|
14
|
+
THREE_HUNDRED_AND_SIXTY_FIVED = "365d"
|
15
|
+
BILLING_PERIOD = "billing_period"
|
16
|
+
CUSTOM = "custom"
|
@@ -19,6 +19,7 @@ class UserModelInputMetadata(BaseModel):
|
|
19
19
|
class UserModelInputTypedDict(TypedDict):
|
20
20
|
email: str
|
21
21
|
user_id: NotRequired[str]
|
22
|
+
user_name: NotRequired[str]
|
22
23
|
api_keys: NotRequired[List[APIKeyTypedDict]]
|
23
24
|
metadata: NotRequired[UserModelInputMetadataTypedDict]
|
24
25
|
created_at: NotRequired[datetime]
|
@@ -29,6 +30,8 @@ class UserModelInput(BaseModel):
|
|
29
30
|
|
30
31
|
user_id: Optional[str] = None
|
31
32
|
|
33
|
+
user_name: Optional[str] = None
|
34
|
+
|
32
35
|
api_keys: Optional[List[APIKey]] = None
|
33
36
|
|
34
37
|
metadata: Optional[UserModelInputMetadata] = None
|
@@ -19,6 +19,7 @@ class UserModelOutputMetadata(BaseModel):
|
|
19
19
|
class UserModelOutputTypedDict(TypedDict):
|
20
20
|
email: str
|
21
21
|
user_id: NotRequired[str]
|
22
|
+
user_name: NotRequired[str]
|
22
23
|
api_keys: NotRequired[List[APIKeyTypedDict]]
|
23
24
|
metadata: NotRequired[UserModelOutputMetadataTypedDict]
|
24
25
|
created_at: NotRequired[datetime]
|
@@ -29,6 +30,8 @@ class UserModelOutput(BaseModel):
|
|
29
30
|
|
30
31
|
user_id: Optional[str] = None
|
31
32
|
|
33
|
+
user_name: Optional[str] = None
|
34
|
+
|
32
35
|
api_keys: Optional[List[APIKey]] = None
|
33
36
|
|
34
37
|
metadata: Optional[UserModelOutputMetadata] = None
|
@@ -0,0 +1,60 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .clusteringmethod import ClusteringMethod
|
5
|
+
from .hdbscanparameters import HDBSCANParameters, HDBSCANParametersTypedDict
|
6
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
7
|
+
from pydantic import model_serializer
|
8
|
+
from typing import Optional
|
9
|
+
from typing_extensions import NotRequired, TypedDict
|
10
|
+
|
11
|
+
|
12
|
+
class VectorBasedConfigTypedDict(TypedDict):
|
13
|
+
feature_extractor_name: str
|
14
|
+
r"""Name of the feature extractor to use for vector-based clustering"""
|
15
|
+
clustering_method: ClusteringMethod
|
16
|
+
sample_size: NotRequired[int]
|
17
|
+
r"""Maximum number of documents to process"""
|
18
|
+
hdbscan_parameters: NotRequired[Nullable[HDBSCANParametersTypedDict]]
|
19
|
+
|
20
|
+
|
21
|
+
class VectorBasedConfig(BaseModel):
|
22
|
+
feature_extractor_name: str
|
23
|
+
r"""Name of the feature extractor to use for vector-based clustering"""
|
24
|
+
|
25
|
+
clustering_method: ClusteringMethod
|
26
|
+
|
27
|
+
sample_size: Optional[int] = 1000
|
28
|
+
r"""Maximum number of documents to process"""
|
29
|
+
|
30
|
+
hdbscan_parameters: OptionalNullable[HDBSCANParameters] = UNSET
|
31
|
+
|
32
|
+
@model_serializer(mode="wrap")
|
33
|
+
def serialize_model(self, handler):
|
34
|
+
optional_fields = ["sample_size", "hdbscan_parameters"]
|
35
|
+
nullable_fields = ["hdbscan_parameters"]
|
36
|
+
null_default_fields = []
|
37
|
+
|
38
|
+
serialized = handler(self)
|
39
|
+
|
40
|
+
m = {}
|
41
|
+
|
42
|
+
for n, f in type(self).model_fields.items():
|
43
|
+
k = f.alias or n
|
44
|
+
val = serialized.get(k)
|
45
|
+
serialized.pop(k, None)
|
46
|
+
|
47
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
48
|
+
is_set = (
|
49
|
+
self.__pydantic_fields_set__.intersection({n})
|
50
|
+
or k in null_default_fields
|
51
|
+
) # pylint: disable=no-member
|
52
|
+
|
53
|
+
if val is not None and val != UNSET_SENTINEL:
|
54
|
+
m[k] = val
|
55
|
+
elif val != UNSET_SENTINEL and (
|
56
|
+
not k in optional_fields or (optional_nullable and is_set)
|
57
|
+
):
|
58
|
+
m[k] = val
|
59
|
+
|
60
|
+
return m
|
@@ -1,43 +1,48 @@
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
|
+
from .vectortype import VectorType
|
4
5
|
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
5
6
|
from pydantic import model_serializer
|
6
7
|
from typing_extensions import NotRequired, TypedDict
|
7
8
|
|
8
9
|
|
9
|
-
class
|
10
|
-
|
10
|
+
class VectorIndexTypedDict(TypedDict):
|
11
|
+
r"""Base configuration for vector indexes"""
|
11
12
|
|
13
|
+
name: str
|
14
|
+
description: str
|
15
|
+
dimensions: int
|
16
|
+
type: VectorType
|
17
|
+
r"""Types of vectors supported"""
|
18
|
+
distance: NotRequired[Nullable[str]]
|
12
19
|
|
13
|
-
class CollectionResultMetadata(BaseModel):
|
14
|
-
pass
|
15
20
|
|
21
|
+
class VectorIndex(BaseModel):
|
22
|
+
r"""Base configuration for vector indexes"""
|
16
23
|
|
17
|
-
|
18
|
-
collection_id: str
|
19
|
-
collection_name: NotRequired[Nullable[str]]
|
20
|
-
metadata: NotRequired[Nullable[CollectionResultMetadataTypedDict]]
|
24
|
+
name: str
|
21
25
|
|
26
|
+
description: str
|
22
27
|
|
23
|
-
|
24
|
-
collection_id: str
|
28
|
+
dimensions: int
|
25
29
|
|
26
|
-
|
30
|
+
type: VectorType
|
31
|
+
r"""Types of vectors supported"""
|
27
32
|
|
28
|
-
|
33
|
+
distance: OptionalNullable[str] = UNSET
|
29
34
|
|
30
35
|
@model_serializer(mode="wrap")
|
31
36
|
def serialize_model(self, handler):
|
32
|
-
optional_fields = ["
|
33
|
-
nullable_fields = ["
|
37
|
+
optional_fields = ["distance"]
|
38
|
+
nullable_fields = ["distance"]
|
34
39
|
null_default_fields = []
|
35
40
|
|
36
41
|
serialized = handler(self)
|
37
42
|
|
38
43
|
m = {}
|
39
44
|
|
40
|
-
for n, f in self.model_fields.items():
|
45
|
+
for n, f in type(self).model_fields.items():
|
41
46
|
k = f.alias or n
|
42
47
|
val = serialized.get(k)
|
43
48
|
serialized.pop(k, None)
|
@@ -0,0 +1,43 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .multivectorindex import MultiVectorIndex, MultiVectorIndexTypedDict
|
5
|
+
from .vectorindex import VectorIndex, VectorIndexTypedDict
|
6
|
+
from enum import Enum
|
7
|
+
from mixpeek.types import BaseModel
|
8
|
+
from typing import Union
|
9
|
+
from typing_extensions import TypeAliasType, TypedDict
|
10
|
+
|
11
|
+
|
12
|
+
class Type(str, Enum):
|
13
|
+
SINGLE = "single"
|
14
|
+
MULTI = "multi"
|
15
|
+
|
16
|
+
|
17
|
+
IndexTypedDict = TypeAliasType(
|
18
|
+
"IndexTypedDict", Union[MultiVectorIndexTypedDict, VectorIndexTypedDict]
|
19
|
+
)
|
20
|
+
|
21
|
+
|
22
|
+
Index = TypeAliasType("Index", Union[MultiVectorIndex, VectorIndex])
|
23
|
+
|
24
|
+
|
25
|
+
class VectorIndexDefinitionTypedDict(TypedDict):
|
26
|
+
r"""Complete vector index definition that can be either single or multi-vector"""
|
27
|
+
|
28
|
+
name: str
|
29
|
+
description: str
|
30
|
+
type: Type
|
31
|
+
index: IndexTypedDict
|
32
|
+
|
33
|
+
|
34
|
+
class VectorIndexDefinition(BaseModel):
|
35
|
+
r"""Complete vector index definition that can be either single or multi-vector"""
|
36
|
+
|
37
|
+
name: str
|
38
|
+
|
39
|
+
description: str
|
40
|
+
|
41
|
+
type: Type
|
42
|
+
|
43
|
+
index: Index
|