feat(llm-config): add generic configuration dialog for LLM providers

This commit is contained in:
2025-10-24 17:49:25 +08:00
parent edba1f049e
commit fd256025b3
6 changed files with 1173 additions and 76 deletions

View File

@@ -91,19 +91,20 @@ function OllamaDialog({
initialData,
editMode = false,
}: OllamaDialogProps) {
const {
control,
handleSubmit,
reset,
formState: { errors },
reset,
} = useForm<OllamaFormData>({
defaultValues: {
model_type: 'chat',
llm_name: '',
api_base: 'http://localhost:11434',
api_key: '',
max_tokens: 4096,
llm_factory: 'Ollama',
api_base: initialData?.api_base,
api_key: initialData?.api_key,
max_tokens: initialData?.max_tokens,
llm_factory: initialData?.llm_factory || 'Ollama',
},
});
@@ -139,9 +140,6 @@ function OllamaDialog({
return MODEL_TYPE_OPTIONS;
}, [initialData])
logger.debug('OllamaDialog', { open, initialData, editMode });
// 当对话框打开或初始数据变化时重置表单
useEffect(() => {
if (open) {
reset({
@@ -153,7 +151,7 @@ function OllamaDialog({
llm_factory: initialData?.llm_factory || 'Ollama',
});
}
}, [open, initialData, reset]);
}, [open]);
const handleFormSubmit = (data: OllamaFormData) => {
onSubmit(data);