| return WeightRerankRunner( | return WeightRerankRunner( | ||||
| tenant_id, | tenant_id, | ||||
| Weights( | Weights( | ||||
| weight_type=weights['weight_type'], | |||||
| vector_setting=VectorSetting( | vector_setting=VectorSetting( | ||||
| vector_weight=weights['vector_setting']['vector_weight'], | vector_weight=weights['vector_setting']['vector_weight'], | ||||
| embedding_provider_name=weights['vector_setting']['embedding_provider_name'], | embedding_provider_name=weights['vector_setting']['embedding_provider_name'], |
| class Weights(BaseModel): | class Weights(BaseModel): | ||||
| """Model for weighted rerank.""" | """Model for weighted rerank.""" | ||||
| weight_type: str | |||||
| vector_setting: VectorSetting | vector_setting: VectorSetting | ||||
| keyword_setting: KeywordSetting | keyword_setting: KeywordSetting |
| } | } | ||||
| weighted_score_fields = { | weighted_score_fields = { | ||||
| 'weight_type': fields.String, | |||||
| 'keyword_setting': fields.Nested(keyword_setting_fields), | 'keyword_setting': fields.Nested(keyword_setting_fields), | ||||
| 'vector_setting': fields.Nested(vector_setting_fields), | 'vector_setting': fields.Nested(vector_setting_fields), | ||||
| } | } |