= ({
{intl.formatMessage({ id: 'models.form.backend' })}:{' '}
- {modelData?.backend || ''}
+ {modelData?.backend === backendOptionsMap.custom
+ ? intl.formatMessage({ id: 'models.form.backend.custom' })
+ : modelData?.backend || ''}
{modelData.backend_version ? `(${modelData.backend_version})` : ''}
diff --git a/src/pages/llmodels/forms/index.tsx b/src/pages/llmodels/forms/index.tsx
index d49d7f43..e6392237 100644
--- a/src/pages/llmodels/forms/index.tsx
+++ b/src/pages/llmodels/forms/index.tsx
@@ -190,12 +190,15 @@ const DataForm: React.FC = forwardRef((props, ref) => {
const updateKVCacheConfig = (backend: string, option: BackendOption) => {
if (
- !option.isBuiltIn &&
- [backendOptionsMap.SGLang, backendOptionsMap.vllm].includes(backend)
+ !option.isBuiltIn ||
+ ![backendOptionsMap.SGLang, backendOptionsMap.vllm].includes(backend)
) {
return {
extended_kv_cache: {
enabled: false
+ },
+ speculative_config: {
+ enabled: false
}
};
}
diff --git a/src/pages/llmodels/forms/kv-cache.tsx b/src/pages/llmodels/forms/kv-cache.tsx
index a9e1df75..f404c3cc 100644
--- a/src/pages/llmodels/forms/kv-cache.tsx
+++ b/src/pages/llmodels/forms/kv-cache.tsx
@@ -50,15 +50,6 @@ const KVCacheForm = () => {
name={['extended_kv_cache', 'enabled']}
valuePropName="checked"
style={{ marginBottom: 8 }}
- extra={
- !builtInBackend && (
-
- )
- }
>
{
const intl = useIntl();
- const { source, onValuesChange } = useFormContext();
+ const { source, backendOptions, onValuesChange } = useFormContext();
const { getRuleMessage } = useAppUtils();
const form = Form.useFormInstance();
+ const backend = Form.useWatch('backend', form);
const speculativeEnabled = Form.useWatch(
['speculative_config', 'enabled'],
form
@@ -65,18 +67,44 @@ const SpeculativeDecode = () => {
}
};
+ const builtInBackend = useMemo(() => {
+ const currentBackend = backendOptions.find(
+ (item) => item.value === backend
+ );
+
+ return (
+ currentBackend?.isBuiltIn &&
+ [backendOptionsMap.SGLang, backendOptionsMap.vllm].includes(
+ backend as string
+ )
+ );
+ }, [backend, backendOptions]);
+
return (
<>
name={['speculative_config', 'enabled']}
valuePropName="checked"
style={{ marginBottom: 8 }}
+ extra={
+ !builtInBackend && (
+
+ )
+ }
>
{speculativeEnabled && (
diff --git a/src/pages/playground/apis/index.ts b/src/pages/playground/apis/index.ts
index acb638f6..e51e966a 100644
--- a/src/pages/playground/apis/index.ts
+++ b/src/pages/playground/apis/index.ts
@@ -96,6 +96,9 @@ export const textToSpeech = async (params: any, options?: any) => {
const res = await fetch(AUDIO_TEXT_TO_SPEECH_API, {
method: 'POST',
body: JSON.stringify(params.data),
+ headers: {
+ 'Content-Type': 'application/json'
+ },
signal: params.signal
});
if (!res.ok) {