fix: validate max_token from context_length value (#2870)
This commit is contained in:
parent
86fda1cf6c
commit
a6ccd672c5
@ -99,6 +99,11 @@ export const useCreateNewThread = () => {
|
|||||||
? { ctx_len: 2048 }
|
? { ctx_len: 2048 }
|
||||||
: {}
|
: {}
|
||||||
|
|
||||||
|
const overriddenParameters =
|
||||||
|
defaultModel?.parameters.max_tokens && defaultModel.parameters.max_tokens
|
||||||
|
? { max_tokens: 2048 }
|
||||||
|
: {}
|
||||||
|
|
||||||
const createdAt = Date.now()
|
const createdAt = Date.now()
|
||||||
const assistantInfo: ThreadAssistantInfo = {
|
const assistantInfo: ThreadAssistantInfo = {
|
||||||
assistant_id: assistant.id,
|
assistant_id: assistant.id,
|
||||||
@ -107,7 +112,8 @@ export const useCreateNewThread = () => {
|
|||||||
model: {
|
model: {
|
||||||
id: defaultModel?.id ?? '*',
|
id: defaultModel?.id ?? '*',
|
||||||
settings: { ...defaultModel?.settings, ...overriddenSettings } ?? {},
|
settings: { ...defaultModel?.settings, ...overriddenSettings } ?? {},
|
||||||
parameters: defaultModel?.parameters ?? {},
|
parameters:
|
||||||
|
{ ...defaultModel?.parameters, ...overriddenParameters } ?? {},
|
||||||
engine: defaultModel?.engine,
|
engine: defaultModel?.engine,
|
||||||
},
|
},
|
||||||
instructions: assistant.instructions,
|
instructions: assistant.instructions,
|
||||||
|
|||||||
@ -5,10 +5,14 @@ import {
|
|||||||
SliderComponentProps,
|
SliderComponentProps,
|
||||||
} from '@janhq/core'
|
} from '@janhq/core'
|
||||||
|
|
||||||
|
import { useAtomValue } from 'jotai/react'
|
||||||
|
|
||||||
import Checkbox from '@/containers/Checkbox'
|
import Checkbox from '@/containers/Checkbox'
|
||||||
import ModelConfigInput from '@/containers/ModelConfigInput'
|
import ModelConfigInput from '@/containers/ModelConfigInput'
|
||||||
import SliderRightPanel from '@/containers/SliderRightPanel'
|
import SliderRightPanel from '@/containers/SliderRightPanel'
|
||||||
|
|
||||||
|
import { activeThreadAtom } from '@/helpers/atoms/Thread.atom'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
componentProps: SettingComponentProps[]
|
componentProps: SettingComponentProps[]
|
||||||
disabled?: boolean
|
disabled?: boolean
|
||||||
@ -20,6 +24,7 @@ const SettingComponent: React.FC<Props> = ({
|
|||||||
disabled = false,
|
disabled = false,
|
||||||
onValueUpdated,
|
onValueUpdated,
|
||||||
}) => {
|
}) => {
|
||||||
|
const activeThread = useAtomValue(activeThreadAtom)
|
||||||
const components = componentProps.map((data) => {
|
const components = componentProps.map((data) => {
|
||||||
switch (data.controllerType) {
|
switch (data.controllerType) {
|
||||||
case 'slider': {
|
case 'slider': {
|
||||||
@ -31,7 +36,14 @@ const SettingComponent: React.FC<Props> = ({
|
|||||||
title={data.title}
|
title={data.title}
|
||||||
description={data.description}
|
description={data.description}
|
||||||
min={min}
|
min={min}
|
||||||
max={max}
|
max={
|
||||||
|
data.key === 'max_tokens'
|
||||||
|
? Number(
|
||||||
|
activeThread &&
|
||||||
|
activeThread.assistants[0].model.settings.ctx_len
|
||||||
|
)
|
||||||
|
: max
|
||||||
|
}
|
||||||
step={step}
|
step={step}
|
||||||
value={value}
|
value={value}
|
||||||
name={data.key}
|
name={data.key}
|
||||||
|
|||||||
@ -118,6 +118,32 @@ const Sidebar: React.FC = () => {
|
|||||||
updateModelParameter(activeThread, {
|
updateModelParameter(activeThread, {
|
||||||
params: { [key]: value },
|
params: { [key]: value },
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if (
|
||||||
|
activeThread.assistants[0].model.parameters.max_tokens &&
|
||||||
|
activeThread.assistants[0].model.settings.ctx_len
|
||||||
|
) {
|
||||||
|
if (
|
||||||
|
key === 'max_tokens' &&
|
||||||
|
Number(value) > activeThread.assistants[0].model.settings.ctx_len
|
||||||
|
) {
|
||||||
|
updateModelParameter(activeThread, {
|
||||||
|
params: {
|
||||||
|
max_tokens: activeThread.assistants[0].model.settings.ctx_len,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (
|
||||||
|
key === 'ctx_len' &&
|
||||||
|
Number(value) < activeThread.assistants[0].model.parameters.max_tokens
|
||||||
|
) {
|
||||||
|
updateModelParameter(activeThread, {
|
||||||
|
params: {
|
||||||
|
max_tokens: activeThread.assistants[0].model.settings.ctx_len,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
[activeThread, setEngineParamsUpdate, stopModel, updateModelParameter]
|
[activeThread, setEngineParamsUpdate, stopModel, updateModelParameter]
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user