diff --git a/app/api/langchain/tool/agent/agentapi.ts b/app/api/langchain/tool/agent/agentapi.ts index 239341c..4f630f1 100644 --- a/app/api/langchain/tool/agent/agentapi.ts +++ b/app/api/langchain/tool/agent/agentapi.ts @@ -57,6 +57,7 @@ export interface RequestBody { apiKey?: string; maxIterations: number; returnIntermediateSteps: boolean; + updateTypes: boolean; useTools: (undefined | string)[]; } diff --git a/app/client/api.ts b/app/client/api.ts index 736f2a6..57b1cb9 100644 --- a/app/client/api.ts +++ b/app/client/api.ts @@ -28,6 +28,7 @@ export interface LLMConfig { stream?: boolean; presence_penalty?: number; frequency_penalty?: number; + updateTypes?: boolean; } export interface LLMAgentConfig { diff --git a/app/client/platforms/openai.ts b/app/client/platforms/openai.ts index b2108b4..9ca28d5 100644 --- a/app/client/platforms/openai.ts +++ b/app/client/platforms/openai.ts @@ -104,7 +104,7 @@ export class ChatGPTApi implements LLMApi { }); if (v.image_url) { let image_url_data = ""; - if (process.env.NEXT_PUBLIC_ENABLE_BASE64) { + if (options.config.updateTypes) { var base64Data = await getImageBase64Data(v.image_url); let mimeType: string | null; try { @@ -347,6 +347,7 @@ export class ChatGPTApi implements LLMApi { baseUrl: baseUrl, maxIterations: options.agentConfig.maxIterations, returnIntermediateSteps: options.agentConfig.returnIntermediateSteps, + updateTypes: modelConfig.updateTypes, useTools: options.agentConfig.useTools, }; diff --git a/app/locales/cn.ts b/app/locales/cn.ts index e8368f8..5df528a 100644 --- a/app/locales/cn.ts +++ b/app/locales/cn.ts @@ -359,6 +359,10 @@ const cn = { Title: "频率惩罚度 (frequency_penalty)", SubTitle: "值越大,越有可能降低重复字词", }, + UpdateType: { + Title: "上传类型", + SubTitle: "是否上传Base64格式消息", + }, Plugin: { Enable: { Title: "启用插件", diff --git a/app/locales/en.ts b/app/locales/en.ts index 1ea4250..99f48ba 100644 --- a/app/locales/en.ts +++ b/app/locales/en.ts @@ -365,6 +365,10 @@ const en: LocaleType = { SubTitle: "A larger value decreasing the likelihood to repeat the same line", }, + UpdateType: { + Title: "Upload type", + SubTitle: "Upload Base64 format message", + }, Plugin: { Enable: { Title: "Enable Plugin", diff --git a/app/store/config.ts b/app/store/config.ts index ee5100d..7b5d7a0 100644 --- a/app/store/config.ts +++ b/app/store/config.ts @@ -56,6 +56,7 @@ export const DEFAULT_CONFIG = { historyMessageCount: 4, compressMessageLengthThreshold: 1000, enableInjectSystemPrompts: true, + updateTypes: false, template: DEFAULT_INPUT_TEMPLATE, }, @@ -169,7 +170,14 @@ export const useAppConfig = createPersistStore( if (version < 3.8) { state.lastUpdate = Date.now(); } - + + if(process.env.NEXT_PUBLIC_ENABLE_BASE64){ + state.modelConfig.updateTypes = true; + } + else{ + state.modelConfig.updateTypes = false; + } + return state as any; }, },