import { useTranslate } from '@/hooks/common-hooks';
import { Form, Slider } from 'antd';
import { z } from 'zod';
import { SliderInputFormField } from '../slider-input-form-field';
type FieldType = {
similarity_threshold?: number;
// vector_similarity_weight?: number;
};
interface IProps {
isTooltipShown?: boolean;
vectorSimilarityWeightName?: string;
}
const SimilaritySlider = ({
isTooltipShown = false,
vectorSimilarityWeightName = 'vector_similarity_weight',
}: IProps) => {
const { t } = useTranslate('knowledgeDetails');
return (
<>
label={t('similarityThreshold')}
name={'similarity_threshold'}
tooltip={isTooltipShown && t('similarityThresholdTip')}
initialValue={0.2}
>
>
);
};
export default SimilaritySlider;
interface SimilaritySliderFormFieldProps {
vectorSimilarityWeightName?: string;
isTooltipShown?: boolean;
}
export const initialSimilarityThresholdValue = {
similarity_threshold: 0.2,
};
export const initialKeywordsSimilarityWeightValue = {
keywords_similarity_weight: 0.7,
};
export const similarityThresholdSchema = { similarity_threshold: z.number() };
export const keywordsSimilarityWeightSchema = {
keywords_similarity_weight: z.number(),
};
export const vectorSimilarityWeightSchema = {
vector_similarity_weight: z.number(),
};
export const initialVectorSimilarityWeightValue = {
vector_similarity_weight: 0.3,
};
export function SimilaritySliderFormField({
vectorSimilarityWeightName = 'vector_similarity_weight',
isTooltipShown,
}: SimilaritySliderFormFieldProps) {
const { t } = useTranslate('knowledgeDetails');
const isVector = vectorSimilarityWeightName === 'vector_similarity_weight';
return (
<>
>
);
}