|
import { NextLLMSelect } from '@/components/llm-select'; |
|
import { MessageHistoryWindowSizeFormField } from '@/components/message-history-window-size-item'; |
|
import { PromptEditor } from '@/components/prompt-editor'; |
|
import { |
|
Form, |
|
FormControl, |
|
FormField, |
|
FormItem, |
|
FormLabel, |
|
FormMessage, |
|
} from '@/components/ui/form'; |
|
import { Switch } from '@/components/ui/switch'; |
|
import { useTranslation } from 'react-i18next'; |
|
import { INextOperatorForm } from '../../interface'; |
|
|
|
const GenerateForm = ({ form }: INextOperatorForm) => { |
|
const { t } = useTranslation(); |
|
|
|
return ( |
|
<Form {...form}> |
|
<form |
|
className="space-y-6" |
|
onSubmit={(e) => { |
|
e.preventDefault(); |
|
}} |
|
> |
|
<FormField |
|
control={form.control} |
|
name="llm_id" |
|
render={({ field }) => ( |
|
<FormItem> |
|
<FormLabel tooltip={t('chat.modelTip')}> |
|
{t('chat.model')} |
|
</FormLabel> |
|
<FormControl> |
|
<NextLLMSelect {...field} /> |
|
</FormControl> |
|
<FormMessage /> |
|
</FormItem> |
|
)} |
|
/> |
|
<FormField |
|
control={form.control} |
|
name="prompt" |
|
render={({ field }) => ( |
|
<FormItem> |
|
<FormLabel tooltip={t('knowledgeConfiguration.promptTip')}> |
|
{t('flow.systemPrompt')} |
|
</FormLabel> |
|
<FormControl> |
|
<PromptEditor {...field} /> |
|
</FormControl> |
|
<FormMessage /> |
|
</FormItem> |
|
)} |
|
/> |
|
<FormField |
|
control={form.control} |
|
name="cite" |
|
render={({ field }) => ( |
|
<FormItem> |
|
<FormLabel tooltip={t('flow.citeTip')}> |
|
{t('flow.cite')} |
|
</FormLabel> |
|
<FormControl> |
|
<Switch {...field} /> |
|
</FormControl> |
|
<FormMessage /> |
|
</FormItem> |
|
)} |
|
/> |
|
<MessageHistoryWindowSizeFormField></MessageHistoryWindowSizeFormField> |
|
</form> |
|
</Form> |
|
); |
|
}; |
|
|
|
export default GenerateForm; |
|
|