vectorize_client.models.ai_platform_config_schema
Vectorize API (Beta)
API for Vectorize services
The version of the OpenAPI document: 0.0.1 Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
1# coding: utf-8 2 3""" 4 Vectorize API (Beta) 5 6 API for Vectorize services 7 8 The version of the OpenAPI document: 0.0.1 9 Generated by OpenAPI Generator (https://openapi-generator.tech) 10 11 Do not edit the class manually. 12""" # noqa: E501 13 14 15from __future__ import annotations 16import pprint 17import re # noqa: F401 18import json 19 20from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator 21from typing import Any, ClassVar, Dict, List, Optional 22from typing_extensions import Annotated 23from typing import Optional, Set 24from typing_extensions import Self 25 26class AIPlatformConfigSchema(BaseModel): 27 """ 28 AIPlatformConfigSchema 29 """ # noqa: E501 30 embedding_model: Optional[StrictStr] = Field(default=None, alias="embeddingModel") 31 chunking_strategy: Optional[StrictStr] = Field(default=None, alias="chunkingStrategy") 32 chunk_size: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=None, alias="chunkSize") 33 chunk_overlap: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="chunkOverlap") 34 dimensions: Optional[Annotated[int, Field(strict=True, ge=1)]] = None 35 extraction_strategy: Optional[StrictStr] = Field(default=None, alias="extractionStrategy") 36 __properties: ClassVar[List[str]] = ["embeddingModel", "chunkingStrategy", "chunkSize", "chunkOverlap", "dimensions", "extractionStrategy"] 37 38 @field_validator('embedding_model') 39 def embedding_model_validate_enum(cls, value): 40 """Validates the enum""" 41 if value is None: 42 return value 43 44 if value not in set(['VECTORIZE_OPEN_AI_TEXT_EMBEDDING_2', 'VECTORIZE_OPEN_AI_TEXT_EMBEDDING_3_LARGE', 'VECTORIZE_OPEN_AI_TEXT_EMBEDDING_3_SMALL', 'VECTORIZE_VOYAGE_AI_2', 'VECTORIZE_VOYAGE_AI_3', 'VECTORIZE_VOYAGE_AI_3_LITE', 'VECTORIZE_VOYAGE_AI_3_LARGE', 'VECTORIZE_VOYAGE_AI_FINANCE_2', 'VECTORIZE_VOYAGE_AI_MULTILINGUAL_2', 'VECTORIZE_VOYAGE_AI_LAW_2', 'VECTORIZE_VOYAGE_AI_CODE_2', 'VECTORIZE_TITAN_TEXT_EMBEDDING_2', 'VECTORIZE_TITAN_TEXT_EMBEDDING_1', 'OPEN_AI_TEXT_EMBEDDING_2', 'OPEN_AI_TEXT_EMBEDDING_3_SMALL', 'OPEN_AI_TEXT_EMBEDDING_3_LARGE', 'VOYAGE_AI_2', 'VOYAGE_AI_3', 'VOYAGE_AI_3_LITE', 'VOYAGE_AI_3_LARGE', 'VOYAGE_AI_FINANCE_2', 'VOYAGE_AI_MULTILINGUAL_2', 'VOYAGE_AI_LAW_2', 'VOYAGE_AI_CODE_2', 'TITAN_TEXT_EMBEDDING_1', 'TITAN_TEXT_EMBEDDING_2', 'VERTEX_TEXT_EMBEDDING_4', 'VERTEX_TEXT_EMBEDDING_GECKO_3', 'VERTEX_GECKO_MULTILINGUAL_1', 'VERTEX_MULTILINGUAL_EMBEDDING_2']): 45 raise ValueError("must be one of enum values ('VECTORIZE_OPEN_AI_TEXT_EMBEDDING_2', 'VECTORIZE_OPEN_AI_TEXT_EMBEDDING_3_LARGE', 'VECTORIZE_OPEN_AI_TEXT_EMBEDDING_3_SMALL', 'VECTORIZE_VOYAGE_AI_2', 'VECTORIZE_VOYAGE_AI_3', 'VECTORIZE_VOYAGE_AI_3_LITE', 'VECTORIZE_VOYAGE_AI_3_LARGE', 'VECTORIZE_VOYAGE_AI_FINANCE_2', 'VECTORIZE_VOYAGE_AI_MULTILINGUAL_2', 'VECTORIZE_VOYAGE_AI_LAW_2', 'VECTORIZE_VOYAGE_AI_CODE_2', 'VECTORIZE_TITAN_TEXT_EMBEDDING_2', 'VECTORIZE_TITAN_TEXT_EMBEDDING_1', 'OPEN_AI_TEXT_EMBEDDING_2', 'OPEN_AI_TEXT_EMBEDDING_3_SMALL', 'OPEN_AI_TEXT_EMBEDDING_3_LARGE', 'VOYAGE_AI_2', 'VOYAGE_AI_3', 'VOYAGE_AI_3_LITE', 'VOYAGE_AI_3_LARGE', 'VOYAGE_AI_FINANCE_2', 'VOYAGE_AI_MULTILINGUAL_2', 'VOYAGE_AI_LAW_2', 'VOYAGE_AI_CODE_2', 'TITAN_TEXT_EMBEDDING_1', 'TITAN_TEXT_EMBEDDING_2', 'VERTEX_TEXT_EMBEDDING_4', 'VERTEX_TEXT_EMBEDDING_GECKO_3', 'VERTEX_GECKO_MULTILINGUAL_1', 'VERTEX_MULTILINGUAL_EMBEDDING_2')") 46 return value 47 48 @field_validator('chunking_strategy') 49 def chunking_strategy_validate_enum(cls, value): 50 """Validates the enum""" 51 if value is None: 52 return value 53 54 if value not in set(['FIXED', 'SENTENCE', 'PARAGRAPH', 'MARKDOWN']): 55 raise ValueError("must be one of enum values ('FIXED', 'SENTENCE', 'PARAGRAPH', 'MARKDOWN')") 56 return value 57 58 @field_validator('extraction_strategy') 59 def extraction_strategy_validate_enum(cls, value): 60 """Validates the enum""" 61 if value is None: 62 return value 63 64 if value not in set(['FAST', 'IRIS', 'MIXED']): 65 raise ValueError("must be one of enum values ('FAST', 'IRIS', 'MIXED')") 66 return value 67 68 model_config = ConfigDict( 69 populate_by_name=True, 70 validate_assignment=True, 71 protected_namespaces=(), 72 ) 73 74 75 def to_str(self) -> str: 76 """Returns the string representation of the model using alias""" 77 return pprint.pformat(self.model_dump(by_alias=True)) 78 79 def to_json(self) -> str: 80 """Returns the JSON representation of the model using alias""" 81 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 82 return json.dumps(self.to_dict()) 83 84 @classmethod 85 def from_json(cls, json_str: str) -> Optional[Self]: 86 """Create an instance of AIPlatformConfigSchema from a JSON string""" 87 return cls.from_dict(json.loads(json_str)) 88 89 def to_dict(self) -> Dict[str, Any]: 90 """Return the dictionary representation of the model using alias. 91 92 This has the following differences from calling pydantic's 93 `self.model_dump(by_alias=True)`: 94 95 * `None` is only added to the output dict for nullable fields that 96 were set at model initialization. Other fields with value `None` 97 are ignored. 98 """ 99 excluded_fields: Set[str] = set([ 100 ]) 101 102 _dict = self.model_dump( 103 by_alias=True, 104 exclude=excluded_fields, 105 exclude_none=True, 106 ) 107 return _dict 108 109 @classmethod 110 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 111 """Create an instance of AIPlatformConfigSchema from a dict""" 112 if obj is None: 113 return None 114 115 if not isinstance(obj, dict): 116 return cls.model_validate(obj) 117 118 _obj = cls.model_validate({ 119 "embeddingModel": obj.get("embeddingModel"), 120 "chunkingStrategy": obj.get("chunkingStrategy"), 121 "chunkSize": obj.get("chunkSize"), 122 "chunkOverlap": obj.get("chunkOverlap"), 123 "dimensions": obj.get("dimensions"), 124 "extractionStrategy": obj.get("extractionStrategy") 125 }) 126 return _obj
27class AIPlatformConfigSchema(BaseModel): 28 """ 29 AIPlatformConfigSchema 30 """ # noqa: E501 31 embedding_model: Optional[StrictStr] = Field(default=None, alias="embeddingModel") 32 chunking_strategy: Optional[StrictStr] = Field(default=None, alias="chunkingStrategy") 33 chunk_size: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=None, alias="chunkSize") 34 chunk_overlap: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="chunkOverlap") 35 dimensions: Optional[Annotated[int, Field(strict=True, ge=1)]] = None 36 extraction_strategy: Optional[StrictStr] = Field(default=None, alias="extractionStrategy") 37 __properties: ClassVar[List[str]] = ["embeddingModel", "chunkingStrategy", "chunkSize", "chunkOverlap", "dimensions", "extractionStrategy"] 38 39 @field_validator('embedding_model') 40 def embedding_model_validate_enum(cls, value): 41 """Validates the enum""" 42 if value is None: 43 return value 44 45 if value not in set(['VECTORIZE_OPEN_AI_TEXT_EMBEDDING_2', 'VECTORIZE_OPEN_AI_TEXT_EMBEDDING_3_LARGE', 'VECTORIZE_OPEN_AI_TEXT_EMBEDDING_3_SMALL', 'VECTORIZE_VOYAGE_AI_2', 'VECTORIZE_VOYAGE_AI_3', 'VECTORIZE_VOYAGE_AI_3_LITE', 'VECTORIZE_VOYAGE_AI_3_LARGE', 'VECTORIZE_VOYAGE_AI_FINANCE_2', 'VECTORIZE_VOYAGE_AI_MULTILINGUAL_2', 'VECTORIZE_VOYAGE_AI_LAW_2', 'VECTORIZE_VOYAGE_AI_CODE_2', 'VECTORIZE_TITAN_TEXT_EMBEDDING_2', 'VECTORIZE_TITAN_TEXT_EMBEDDING_1', 'OPEN_AI_TEXT_EMBEDDING_2', 'OPEN_AI_TEXT_EMBEDDING_3_SMALL', 'OPEN_AI_TEXT_EMBEDDING_3_LARGE', 'VOYAGE_AI_2', 'VOYAGE_AI_3', 'VOYAGE_AI_3_LITE', 'VOYAGE_AI_3_LARGE', 'VOYAGE_AI_FINANCE_2', 'VOYAGE_AI_MULTILINGUAL_2', 'VOYAGE_AI_LAW_2', 'VOYAGE_AI_CODE_2', 'TITAN_TEXT_EMBEDDING_1', 'TITAN_TEXT_EMBEDDING_2', 'VERTEX_TEXT_EMBEDDING_4', 'VERTEX_TEXT_EMBEDDING_GECKO_3', 'VERTEX_GECKO_MULTILINGUAL_1', 'VERTEX_MULTILINGUAL_EMBEDDING_2']): 46 raise ValueError("must be one of enum values ('VECTORIZE_OPEN_AI_TEXT_EMBEDDING_2', 'VECTORIZE_OPEN_AI_TEXT_EMBEDDING_3_LARGE', 'VECTORIZE_OPEN_AI_TEXT_EMBEDDING_3_SMALL', 'VECTORIZE_VOYAGE_AI_2', 'VECTORIZE_VOYAGE_AI_3', 'VECTORIZE_VOYAGE_AI_3_LITE', 'VECTORIZE_VOYAGE_AI_3_LARGE', 'VECTORIZE_VOYAGE_AI_FINANCE_2', 'VECTORIZE_VOYAGE_AI_MULTILINGUAL_2', 'VECTORIZE_VOYAGE_AI_LAW_2', 'VECTORIZE_VOYAGE_AI_CODE_2', 'VECTORIZE_TITAN_TEXT_EMBEDDING_2', 'VECTORIZE_TITAN_TEXT_EMBEDDING_1', 'OPEN_AI_TEXT_EMBEDDING_2', 'OPEN_AI_TEXT_EMBEDDING_3_SMALL', 'OPEN_AI_TEXT_EMBEDDING_3_LARGE', 'VOYAGE_AI_2', 'VOYAGE_AI_3', 'VOYAGE_AI_3_LITE', 'VOYAGE_AI_3_LARGE', 'VOYAGE_AI_FINANCE_2', 'VOYAGE_AI_MULTILINGUAL_2', 'VOYAGE_AI_LAW_2', 'VOYAGE_AI_CODE_2', 'TITAN_TEXT_EMBEDDING_1', 'TITAN_TEXT_EMBEDDING_2', 'VERTEX_TEXT_EMBEDDING_4', 'VERTEX_TEXT_EMBEDDING_GECKO_3', 'VERTEX_GECKO_MULTILINGUAL_1', 'VERTEX_MULTILINGUAL_EMBEDDING_2')") 47 return value 48 49 @field_validator('chunking_strategy') 50 def chunking_strategy_validate_enum(cls, value): 51 """Validates the enum""" 52 if value is None: 53 return value 54 55 if value not in set(['FIXED', 'SENTENCE', 'PARAGRAPH', 'MARKDOWN']): 56 raise ValueError("must be one of enum values ('FIXED', 'SENTENCE', 'PARAGRAPH', 'MARKDOWN')") 57 return value 58 59 @field_validator('extraction_strategy') 60 def extraction_strategy_validate_enum(cls, value): 61 """Validates the enum""" 62 if value is None: 63 return value 64 65 if value not in set(['FAST', 'IRIS', 'MIXED']): 66 raise ValueError("must be one of enum values ('FAST', 'IRIS', 'MIXED')") 67 return value 68 69 model_config = ConfigDict( 70 populate_by_name=True, 71 validate_assignment=True, 72 protected_namespaces=(), 73 ) 74 75 76 def to_str(self) -> str: 77 """Returns the string representation of the model using alias""" 78 return pprint.pformat(self.model_dump(by_alias=True)) 79 80 def to_json(self) -> str: 81 """Returns the JSON representation of the model using alias""" 82 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 83 return json.dumps(self.to_dict()) 84 85 @classmethod 86 def from_json(cls, json_str: str) -> Optional[Self]: 87 """Create an instance of AIPlatformConfigSchema from a JSON string""" 88 return cls.from_dict(json.loads(json_str)) 89 90 def to_dict(self) -> Dict[str, Any]: 91 """Return the dictionary representation of the model using alias. 92 93 This has the following differences from calling pydantic's 94 `self.model_dump(by_alias=True)`: 95 96 * `None` is only added to the output dict for nullable fields that 97 were set at model initialization. Other fields with value `None` 98 are ignored. 99 """ 100 excluded_fields: Set[str] = set([ 101 ]) 102 103 _dict = self.model_dump( 104 by_alias=True, 105 exclude=excluded_fields, 106 exclude_none=True, 107 ) 108 return _dict 109 110 @classmethod 111 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 112 """Create an instance of AIPlatformConfigSchema from a dict""" 113 if obj is None: 114 return None 115 116 if not isinstance(obj, dict): 117 return cls.model_validate(obj) 118 119 _obj = cls.model_validate({ 120 "embeddingModel": obj.get("embeddingModel"), 121 "chunkingStrategy": obj.get("chunkingStrategy"), 122 "chunkSize": obj.get("chunkSize"), 123 "chunkOverlap": obj.get("chunkOverlap"), 124 "dimensions": obj.get("dimensions"), 125 "extractionStrategy": obj.get("extractionStrategy") 126 }) 127 return _obj
AIPlatformConfigSchema
39 @field_validator('embedding_model') 40 def embedding_model_validate_enum(cls, value): 41 """Validates the enum""" 42 if value is None: 43 return value 44 45 if value not in set(['VECTORIZE_OPEN_AI_TEXT_EMBEDDING_2', 'VECTORIZE_OPEN_AI_TEXT_EMBEDDING_3_LARGE', 'VECTORIZE_OPEN_AI_TEXT_EMBEDDING_3_SMALL', 'VECTORIZE_VOYAGE_AI_2', 'VECTORIZE_VOYAGE_AI_3', 'VECTORIZE_VOYAGE_AI_3_LITE', 'VECTORIZE_VOYAGE_AI_3_LARGE', 'VECTORIZE_VOYAGE_AI_FINANCE_2', 'VECTORIZE_VOYAGE_AI_MULTILINGUAL_2', 'VECTORIZE_VOYAGE_AI_LAW_2', 'VECTORIZE_VOYAGE_AI_CODE_2', 'VECTORIZE_TITAN_TEXT_EMBEDDING_2', 'VECTORIZE_TITAN_TEXT_EMBEDDING_1', 'OPEN_AI_TEXT_EMBEDDING_2', 'OPEN_AI_TEXT_EMBEDDING_3_SMALL', 'OPEN_AI_TEXT_EMBEDDING_3_LARGE', 'VOYAGE_AI_2', 'VOYAGE_AI_3', 'VOYAGE_AI_3_LITE', 'VOYAGE_AI_3_LARGE', 'VOYAGE_AI_FINANCE_2', 'VOYAGE_AI_MULTILINGUAL_2', 'VOYAGE_AI_LAW_2', 'VOYAGE_AI_CODE_2', 'TITAN_TEXT_EMBEDDING_1', 'TITAN_TEXT_EMBEDDING_2', 'VERTEX_TEXT_EMBEDDING_4', 'VERTEX_TEXT_EMBEDDING_GECKO_3', 'VERTEX_GECKO_MULTILINGUAL_1', 'VERTEX_MULTILINGUAL_EMBEDDING_2']): 46 raise ValueError("must be one of enum values ('VECTORIZE_OPEN_AI_TEXT_EMBEDDING_2', 'VECTORIZE_OPEN_AI_TEXT_EMBEDDING_3_LARGE', 'VECTORIZE_OPEN_AI_TEXT_EMBEDDING_3_SMALL', 'VECTORIZE_VOYAGE_AI_2', 'VECTORIZE_VOYAGE_AI_3', 'VECTORIZE_VOYAGE_AI_3_LITE', 'VECTORIZE_VOYAGE_AI_3_LARGE', 'VECTORIZE_VOYAGE_AI_FINANCE_2', 'VECTORIZE_VOYAGE_AI_MULTILINGUAL_2', 'VECTORIZE_VOYAGE_AI_LAW_2', 'VECTORIZE_VOYAGE_AI_CODE_2', 'VECTORIZE_TITAN_TEXT_EMBEDDING_2', 'VECTORIZE_TITAN_TEXT_EMBEDDING_1', 'OPEN_AI_TEXT_EMBEDDING_2', 'OPEN_AI_TEXT_EMBEDDING_3_SMALL', 'OPEN_AI_TEXT_EMBEDDING_3_LARGE', 'VOYAGE_AI_2', 'VOYAGE_AI_3', 'VOYAGE_AI_3_LITE', 'VOYAGE_AI_3_LARGE', 'VOYAGE_AI_FINANCE_2', 'VOYAGE_AI_MULTILINGUAL_2', 'VOYAGE_AI_LAW_2', 'VOYAGE_AI_CODE_2', 'TITAN_TEXT_EMBEDDING_1', 'TITAN_TEXT_EMBEDDING_2', 'VERTEX_TEXT_EMBEDDING_4', 'VERTEX_TEXT_EMBEDDING_GECKO_3', 'VERTEX_GECKO_MULTILINGUAL_1', 'VERTEX_MULTILINGUAL_EMBEDDING_2')") 47 return value
Validates the enum
49 @field_validator('chunking_strategy') 50 def chunking_strategy_validate_enum(cls, value): 51 """Validates the enum""" 52 if value is None: 53 return value 54 55 if value not in set(['FIXED', 'SENTENCE', 'PARAGRAPH', 'MARKDOWN']): 56 raise ValueError("must be one of enum values ('FIXED', 'SENTENCE', 'PARAGRAPH', 'MARKDOWN')") 57 return value
Validates the enum
59 @field_validator('extraction_strategy') 60 def extraction_strategy_validate_enum(cls, value): 61 """Validates the enum""" 62 if value is None: 63 return value 64 65 if value not in set(['FAST', 'IRIS', 'MIXED']): 66 raise ValueError("must be one of enum values ('FAST', 'IRIS', 'MIXED')") 67 return value
Validates the enum
Configuration for the model, should be a dictionary conforming to [ConfigDict
][pydantic.config.ConfigDict].
76 def to_str(self) -> str: 77 """Returns the string representation of the model using alias""" 78 return pprint.pformat(self.model_dump(by_alias=True))
Returns the string representation of the model using alias
80 def to_json(self) -> str: 81 """Returns the JSON representation of the model using alias""" 82 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 83 return json.dumps(self.to_dict())
Returns the JSON representation of the model using alias
85 @classmethod 86 def from_json(cls, json_str: str) -> Optional[Self]: 87 """Create an instance of AIPlatformConfigSchema from a JSON string""" 88 return cls.from_dict(json.loads(json_str))
Create an instance of AIPlatformConfigSchema from a JSON string
90 def to_dict(self) -> Dict[str, Any]: 91 """Return the dictionary representation of the model using alias. 92 93 This has the following differences from calling pydantic's 94 `self.model_dump(by_alias=True)`: 95 96 * `None` is only added to the output dict for nullable fields that 97 were set at model initialization. Other fields with value `None` 98 are ignored. 99 """ 100 excluded_fields: Set[str] = set([ 101 ]) 102 103 _dict = self.model_dump( 104 by_alias=True, 105 exclude=excluded_fields, 106 exclude_none=True, 107 ) 108 return _dict
Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
self.model_dump(by_alias=True)
:
None
is only added to the output dict for nullable fields that were set at model initialization. Other fields with valueNone
are ignored.
110 @classmethod 111 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 112 """Create an instance of AIPlatformConfigSchema from a dict""" 113 if obj is None: 114 return None 115 116 if not isinstance(obj, dict): 117 return cls.model_validate(obj) 118 119 _obj = cls.model_validate({ 120 "embeddingModel": obj.get("embeddingModel"), 121 "chunkingStrategy": obj.get("chunkingStrategy"), 122 "chunkSize": obj.get("chunkSize"), 123 "chunkOverlap": obj.get("chunkOverlap"), 124 "dimensions": obj.get("dimensions"), 125 "extractionStrategy": obj.get("extractionStrategy") 126 }) 127 return _obj
Create an instance of AIPlatformConfigSchema from a dict