mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-05-30 01:55:17 +08:00
fix: add hf task field (#976)
Co-authored-by: StyleZhang <jasonapring2015@outlook.com>
This commit is contained in:
parent
a76fde3d23
commit
071e7800a0
@ -38,6 +38,7 @@ const config: ProviderConfig = {
|
|||||||
defaultValue: {
|
defaultValue: {
|
||||||
model_type: 'text-generation',
|
model_type: 'text-generation',
|
||||||
huggingfacehub_api_type: 'hosted_inference_api',
|
huggingfacehub_api_type: 'hosted_inference_api',
|
||||||
|
task_type: 'text-generation',
|
||||||
},
|
},
|
||||||
validateKeys: (v?: FormValue) => {
|
validateKeys: (v?: FormValue) => {
|
||||||
if (v?.huggingfacehub_api_type === 'hosted_inference_api') {
|
if (v?.huggingfacehub_api_type === 'hosted_inference_api') {
|
||||||
@ -51,10 +52,36 @@ const config: ProviderConfig = {
|
|||||||
'huggingfacehub_api_token',
|
'huggingfacehub_api_token',
|
||||||
'model_name',
|
'model_name',
|
||||||
'huggingfacehub_endpoint_url',
|
'huggingfacehub_endpoint_url',
|
||||||
|
'task_type',
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
return []
|
return []
|
||||||
},
|
},
|
||||||
|
filterValue: (v?: FormValue) => {
|
||||||
|
let filteredKeys: string[] = []
|
||||||
|
if (v?.huggingfacehub_api_type === 'hosted_inference_api') {
|
||||||
|
filteredKeys = [
|
||||||
|
'huggingfacehub_api_type',
|
||||||
|
'huggingfacehub_api_token',
|
||||||
|
'model_name',
|
||||||
|
'model_type',
|
||||||
|
]
|
||||||
|
}
|
||||||
|
if (v?.huggingfacehub_api_type === 'inference_endpoints') {
|
||||||
|
filteredKeys = [
|
||||||
|
'huggingfacehub_api_type',
|
||||||
|
'huggingfacehub_api_token',
|
||||||
|
'model_name',
|
||||||
|
'huggingfacehub_endpoint_url',
|
||||||
|
'task_type',
|
||||||
|
'model_type',
|
||||||
|
]
|
||||||
|
}
|
||||||
|
return filteredKeys.reduce((prev: FormValue, next: string) => {
|
||||||
|
prev[next] = v?.[next] || ''
|
||||||
|
return prev
|
||||||
|
}, {})
|
||||||
|
},
|
||||||
fields: [
|
fields: [
|
||||||
{
|
{
|
||||||
type: 'radio',
|
type: 'radio',
|
||||||
@ -120,6 +147,32 @@ const config: ProviderConfig = {
|
|||||||
'zh-Hans': '在此输入您的端点 URL',
|
'zh-Hans': '在此输入您的端点 URL',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
hidden: (value?: FormValue) => value?.huggingfacehub_api_type === 'hosted_inference_api',
|
||||||
|
type: 'radio',
|
||||||
|
key: 'task_type',
|
||||||
|
required: true,
|
||||||
|
label: {
|
||||||
|
'en': 'Task',
|
||||||
|
'zh-Hans': 'Task',
|
||||||
|
},
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
key: 'text2text-generation',
|
||||||
|
label: {
|
||||||
|
'en': 'Text-to-Text Generation',
|
||||||
|
'zh-Hans': 'Text-to-Text Generation',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 'text-generation',
|
||||||
|
label: {
|
||||||
|
'en': 'Text Generation',
|
||||||
|
'zh-Hans': 'Text Generation',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -91,6 +91,7 @@ export type ProviderConfigModal = {
|
|||||||
icon: ReactElement
|
icon: ReactElement
|
||||||
defaultValue?: FormValue
|
defaultValue?: FormValue
|
||||||
validateKeys?: string[] | ((v?: FormValue) => string[])
|
validateKeys?: string[] | ((v?: FormValue) => string[])
|
||||||
|
filterValue?: (v?: FormValue) => FormValue
|
||||||
fields: Field[]
|
fields: Field[]
|
||||||
link: {
|
link: {
|
||||||
href: string
|
href: string
|
||||||
|
@ -124,8 +124,9 @@ const ModelPage = () => {
|
|||||||
updateModelList(ModelType.embeddings)
|
updateModelList(ModelType.embeddings)
|
||||||
mutateProviders()
|
mutateProviders()
|
||||||
}
|
}
|
||||||
const handleSave = async (v?: FormValue) => {
|
const handleSave = async (originValue?: FormValue) => {
|
||||||
if (v && modelModalConfig) {
|
if (originValue && modelModalConfig) {
|
||||||
|
const v = modelModalConfig.filterValue ? modelModalConfig.filterValue(originValue) : originValue
|
||||||
let body, url
|
let body, url
|
||||||
if (ConfigurableProviders.includes(modelModalConfig.key)) {
|
if (ConfigurableProviders.includes(modelModalConfig.key)) {
|
||||||
const { model_name, model_type, ...config } = v
|
const { model_name, model_type, ...config } = v
|
||||||
|
@ -68,7 +68,7 @@ const Form: FC<FormProps> = ({
|
|||||||
return true
|
return true
|
||||||
},
|
},
|
||||||
run: () => {
|
run: () => {
|
||||||
return validateModelProviderFn(modelModal!.key, v)
|
return validateModelProviderFn(modelModal!.key, modelModal?.filterValue ? modelModal?.filterValue(v) : v)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user