fix: vision config (#2235)

This commit is contained in:
zxhlyh
2024-01-26 17:12:16 +08:00
committed by GitHub
parent 6c384dba71
commit 9fd55157d6
3 changed files with 26 additions and 28 deletions

View File

@@ -673,7 +673,7 @@ const Debug: FC<IDebug> = ({
}
const handleVisionConfigInMultipleModel = () => {
if (debugWithMultipleModel && !visionConfig.enabled) {
if (debugWithMultipleModel && mode) {
const supportedVision = multipleModelConfigs.some((modelConfig) => {
const currentProvider = textGenerationModelList.find(modelItem => modelItem.provider === modelConfig.provider)
const currentModel = currentProvider?.models.find(model => model.model === modelConfig.model)
@@ -698,7 +698,7 @@ const Debug: FC<IDebug> = ({
useEffect(() => {
handleVisionConfigInMultipleModel()
}, [multipleModelConfigs])
}, [multipleModelConfigs, mode])
const allToolIcons = (() => {
const icons: Record<string, any> = {}
modelConfig.agentConfig.tools?.forEach((item: any) => {

View File

@@ -284,6 +284,23 @@ const Configuration: FC = () => {
doSetPromptMode(mode)
}
const [visionConfig, doSetVisionConfig] = useState({
enabled: false,
number_limits: 2,
detail: Resolution.low,
transfer_methods: [TransferMethod.local_file],
})
const handleSetVisionConfig = (config: VisionSettings, notNoticeFormattingChanged?: boolean) => {
doSetVisionConfig({
enabled: config.enabled || false,
number_limits: config.number_limits || 2,
detail: config.detail || Resolution.low,
transfer_methods: config.transfer_methods || [TransferMethod.local_file],
})
if (!notNoticeFormattingChanged)
setFormattingChanged(true)
}
const {
chatPromptConfig,
@@ -309,7 +326,6 @@ const Configuration: FC = () => {
setCompletionParams,
setStop: setTempStop,
})
const setModel = async ({
modelId,
provider,
@@ -342,9 +358,8 @@ const Configuration: FC = () => {
setModelConfig(newModelConfig)
const supportVision = features && features.includes(ModelFeatureEnum.vision)
// eslint-disable-next-line @typescript-eslint/no-use-before-define
setVisionConfig({
// eslint-disable-next-line @typescript-eslint/no-use-before-define
handleSetVisionConfig({
...visionConfig,
enabled: supportVision,
}, true)
@@ -352,18 +367,6 @@ const Configuration: FC = () => {
}
const isShowVisionConfig = !!currModel?.features?.includes(ModelFeatureEnum.vision)
const [visionConfig, doSetVisionConfig] = useState({
enabled: false,
number_limits: 2,
detail: Resolution.low,
transfer_methods: [TransferMethod.local_file],
})
const setVisionConfig = (config: VisionSettings, notNoticeFormattingChanged?: boolean) => {
doSetVisionConfig(config)
if (!notNoticeFormattingChanged)
setFormattingChanged(true)
}
useEffect(() => {
(async () => {
@@ -484,7 +487,7 @@ const Configuration: FC = () => {
}
if (modelConfig.file_upload)
setVisionConfig(modelConfig.file_upload.image, true)
handleSetVisionConfig(modelConfig.file_upload.image, true)
syncToPublishedConfig(config)
setPublishedConfig(config)
@@ -727,7 +730,7 @@ const Configuration: FC = () => {
hasSetContextVar,
isShowVisionConfig,
visionConfig,
setVisionConfig,
setVisionConfig: handleSetVisionConfig,
}}
>
<>