diff --git a/src/Explorer/Controls/VectorSearch/VectorEmbeddingPoliciesComponent.tsx b/src/Explorer/Controls/VectorSearch/VectorEmbeddingPoliciesComponent.tsx index 0fbb151da..c40bb88a9 100644 --- a/src/Explorer/Controls/VectorSearch/VectorEmbeddingPoliciesComponent.tsx +++ b/src/Explorer/Controls/VectorSearch/VectorEmbeddingPoliciesComponent.tsx @@ -2,6 +2,7 @@ import { DefaultButton, Dropdown, IDropdownOption, + ILabelStyleProps, IStyleFunctionOrObject, ITextFieldStyleProps, ITextFieldStyles, @@ -18,6 +19,7 @@ import { getIndexTypeOptions, getQuantizerTypeOptions, supportsQuantization, + supportsQuantizationByteSize, } from "Explorer/Controls/VectorSearch/VectorSearchUtils"; import { Keys, t } from "Localization"; import React, { FunctionComponent, useState } from "react"; @@ -54,11 +56,13 @@ export interface VectorEmbeddingPolicyData { type VectorEmbeddingPolicyProperty = "dataType" | "distanceFunction" | "indexType"; -const labelStyles = { - root: { - fontSize: 12, - color: "var(--colorNeutralForeground1)", - }, +const labelStyles = (props: ILabelStyleProps) => { + return { + root: { + fontSize: 12, + color: props.disabled ? "var(--colorNeutralForeground3)" : "var(--colorNeutralForeground1)", + }, + }; }; const textFieldStyles: IStyleFunctionOrObject = { @@ -260,12 +264,19 @@ export const VectorEmbeddingPoliciesComponent: FunctionComponent { const vectorEmbeddings = [...vectorEmbeddingPolicyData]; - vectorEmbeddings[index].quantizerType = option.key as VectorIndex["quantizerType"]; + const quantizerType = option.key as VectorIndex["quantizerType"]; + vectorEmbeddings[index].quantizerType = quantizerType; + if (!supportsQuantizationByteSize(quantizerType)) { + vectorEmbeddings[index].quantizationByteSize = undefined; + } setVectorEmbeddingPolicyData(vectorEmbeddings); }; @@ -434,30 +445,6 @@ export const VectorEmbeddingPoliciesComponent: FunctionComponent - - - ) => - onQuantizationByteSizeChange(index, event) - } - /> - + + + ) => + onQuantizationByteSizeChange(index, event) + } + /> +