mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-06-05 20:49:48 +02:00
allow users to deselect reranking (#2243)
This commit is contained in:
parent
4181124e7a
commit
df31cac1f1
@ -25,7 +25,6 @@ const AdvancedFormPage = forwardRef<FormikProps<any>, AdvancedFormPageProps>(
|
|||||||
<Form>
|
<Form>
|
||||||
<div key="prune_freq">
|
<div key="prune_freq">
|
||||||
<NumberInput
|
<NumberInput
|
||||||
showNeverIfZero
|
|
||||||
description={`
|
description={`
|
||||||
Checks all documents against the source to delete those that no longer exist.
|
Checks all documents against the source to delete those that no longer exist.
|
||||||
Note: This process checks every document, so be cautious when increasing frequency.
|
Note: This process checks every document, so be cautious when increasing frequency.
|
||||||
@ -42,7 +41,6 @@ const AdvancedFormPage = forwardRef<FormikProps<any>, AdvancedFormPageProps>(
|
|||||||
<NumberInput
|
<NumberInput
|
||||||
description="This is how frequently we pull new documents from the source (in minutes). If you input 0, we will never pull new documents for this connector."
|
description="This is how frequently we pull new documents from the source (in minutes). If you input 0, we will never pull new documents for this connector."
|
||||||
value={refreshFreq}
|
value={refreshFreq}
|
||||||
showNeverIfZero
|
|
||||||
label="Refresh Frequency (minutes)"
|
label="Refresh Frequency (minutes)"
|
||||||
name="refreshFreq"
|
name="refreshFreq"
|
||||||
/>
|
/>
|
||||||
|
@ -86,7 +86,6 @@ const DynamicConnectionForm: FC<DynamicConnectionFormProps> = ({
|
|||||||
optional={field.optional}
|
optional={field.optional}
|
||||||
description={field.description}
|
description={field.description}
|
||||||
name={field.name}
|
name={field.name}
|
||||||
showNeverIfZero
|
|
||||||
/>
|
/>
|
||||||
) : field.type === "checkbox" ? (
|
) : field.type === "checkbox" ? (
|
||||||
<AdminBooleanFormField
|
<AdminBooleanFormField
|
||||||
|
@ -36,6 +36,36 @@ const RerankingDetailsForm = forwardRef<
|
|||||||
) => {
|
) => {
|
||||||
const [isApiKeyModalOpen, setIsApiKeyModalOpen] = useState(false);
|
const [isApiKeyModalOpen, setIsApiKeyModalOpen] = useState(false);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Formik
|
||||||
|
innerRef={ref}
|
||||||
|
initialValues={currentRerankingDetails}
|
||||||
|
validationSchema={Yup.object().shape({
|
||||||
|
rerank_model_name: Yup.string().nullable(),
|
||||||
|
rerank_provider_type: Yup.mixed<RerankerProvider>()
|
||||||
|
.nullable()
|
||||||
|
.oneOf(Object.values(RerankerProvider))
|
||||||
|
.optional(),
|
||||||
|
api_key: Yup.string().nullable(),
|
||||||
|
num_rerank: Yup.number().min(1, "Must be at least 1"),
|
||||||
|
})}
|
||||||
|
onSubmit={async (_, { setSubmitting }) => {
|
||||||
|
setSubmitting(false);
|
||||||
|
}}
|
||||||
|
enableReinitialize={true}
|
||||||
|
>
|
||||||
|
{({ values, setFieldValue }) => {
|
||||||
|
const resetRerankingValues = () => {
|
||||||
|
setRerankingDetails({
|
||||||
|
...values,
|
||||||
|
rerank_provider_type: null!,
|
||||||
|
rerank_model_name: null,
|
||||||
|
});
|
||||||
|
setFieldValue("rerank_provider_type", null);
|
||||||
|
setFieldValue("rerank_model_name", null);
|
||||||
|
setFieldValue("rerank_api_key", null);
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="p-2 rounded-lg max-w-4xl mx-auto">
|
<div className="p-2 rounded-lg max-w-4xl mx-auto">
|
||||||
<h2 className="text-2xl font-bold mb-4 text-text-800">
|
<h2 className="text-2xl font-bold mb-4 text-text-800">
|
||||||
@ -81,26 +111,18 @@ const RerankingDetailsForm = forwardRef<
|
|||||||
Self-hosted
|
Self-hosted
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
{values.rerank_model_name && (
|
||||||
|
<div className="px-2">
|
||||||
|
<button
|
||||||
|
onClick={() => resetRerankingValues()}
|
||||||
|
className="mx-2 p-2 font-bold rounded bg-background-100 text-text-900 hover:underline"
|
||||||
|
>
|
||||||
|
Remove Reranking
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Formik
|
|
||||||
innerRef={ref}
|
|
||||||
initialValues={currentRerankingDetails}
|
|
||||||
validationSchema={Yup.object().shape({
|
|
||||||
rerank_model_name: Yup.string().nullable(),
|
|
||||||
provider_type: Yup.mixed<RerankerProvider>()
|
|
||||||
.nullable()
|
|
||||||
.oneOf(Object.values(RerankerProvider))
|
|
||||||
.optional(),
|
|
||||||
rerank_api_key: Yup.string().nullable(),
|
|
||||||
num_rerank: Yup.number().min(1, "Must be at least 1"),
|
|
||||||
})}
|
|
||||||
onSubmit={async (_, { setSubmitting }) => {
|
|
||||||
setSubmitting(false);
|
|
||||||
}}
|
|
||||||
enableReinitialize={true}
|
|
||||||
>
|
|
||||||
{({ values, setFieldValue }) => (
|
|
||||||
<Form>
|
<Form>
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||||
{(modelTab
|
{(modelTab
|
||||||
@ -114,7 +136,8 @@ const RerankingDetailsForm = forwardRef<
|
|||||||
)
|
)
|
||||||
).map((card) => {
|
).map((card) => {
|
||||||
const isSelected =
|
const isSelected =
|
||||||
values.rerank_provider_type === card.rerank_provider_type &&
|
values.rerank_provider_type ===
|
||||||
|
card.rerank_provider_type &&
|
||||||
values.rerank_model_name === card.modelName;
|
values.rerank_model_name === card.modelName;
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
@ -182,7 +205,9 @@ const RerankingDetailsForm = forwardRef<
|
|||||||
Object.keys(originalRerankingDetails).forEach((key) => {
|
Object.keys(originalRerankingDetails).forEach((key) => {
|
||||||
setFieldValue(
|
setFieldValue(
|
||||||
key,
|
key,
|
||||||
originalRerankingDetails[key as keyof RerankingDetails]
|
originalRerankingDetails[
|
||||||
|
key as keyof RerankingDetails
|
||||||
|
]
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -200,11 +225,11 @@ const RerankingDetailsForm = forwardRef<
|
|||||||
...values,
|
...values,
|
||||||
rerank_api_key: value,
|
rerank_api_key: value,
|
||||||
});
|
});
|
||||||
setFieldValue("rerank_api_key", value);
|
setFieldValue("api_key", value);
|
||||||
}}
|
}}
|
||||||
type="password"
|
type="password"
|
||||||
label="Cohere API Key"
|
label="Cohere API Key"
|
||||||
name="rerank_api_key"
|
name="api_key"
|
||||||
/>
|
/>
|
||||||
<div className="mt-4 flex justify-between">
|
<div className="mt-4 flex justify-between">
|
||||||
<Button
|
<Button
|
||||||
@ -239,10 +264,11 @@ const RerankingDetailsForm = forwardRef<
|
|||||||
</Modal>
|
</Modal>
|
||||||
)}
|
)}
|
||||||
</Form>
|
</Form>
|
||||||
)}
|
|
||||||
</Formik>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
}}
|
||||||
|
</Formik>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -173,7 +173,7 @@ export function ProviderCreationModal({
|
|||||||
</a>
|
</a>
|
||||||
</Text>
|
</Text>
|
||||||
|
|
||||||
<div className="flex flex-col gap-y-2">
|
<div className="flex w-full flex-col gap-y-2">
|
||||||
{useFileUpload ? (
|
{useFileUpload ? (
|
||||||
<>
|
<>
|
||||||
<Label>Upload JSON File</Label>
|
<Label>Upload JSON File</Label>
|
||||||
|
@ -415,10 +415,10 @@ export default function EmbeddingForm() {
|
|||||||
<>
|
<>
|
||||||
<Card>
|
<Card>
|
||||||
<AdvancedEmbeddingFormPage
|
<AdvancedEmbeddingFormPage
|
||||||
updateNumRerank={(value: number) =>
|
updateNumRerank={(newNumRerank: number) =>
|
||||||
setRerankingDetails({
|
setRerankingDetails({
|
||||||
...rerankingDetails,
|
...rerankingDetails,
|
||||||
num_rerank: value,
|
num_rerank: newNumRerank,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
numRerank={rerankingDetails.num_rerank}
|
numRerank={rerankingDetails.num_rerank}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user