diff --git a/next/src/services/agent/agent-work/execute-task-work.ts b/next/src/services/agent/agent-work/execute-task-work.ts index 9b8de0f391..5e40afdd92 100644 --- a/next/src/services/agent/agent-work/execute-task-work.ts +++ b/next/src/services/agent/agent-work/execute-task-work.ts @@ -30,7 +30,7 @@ export default class ExecuteTaskWork implements AgentWork { goal: this.parent.model.getGoal(), task: this.task.value, analysis: this.analysis, - model_settings: toApiModelSettings(this.parent.modelSettings), + model_settings: toApiModelSettings(this.parent.modelSettings, this.parent.session), }, this.parent.$api.props.session?.accessToken || "", () => { diff --git a/next/src/services/agent/autonomous-agent.ts b/next/src/services/agent/autonomous-agent.ts index 5e70d4d819..ba8ca56911 100644 --- a/next/src/services/agent/autonomous-agent.ts +++ b/next/src/services/agent/autonomous-agent.ts @@ -35,7 +35,7 @@ class AutonomousAgent { this.modelSettings = modelSettings; this.session = session; this.$api = new AgentApi({ - model_settings: toApiModelSettings(modelSettings), + model_settings: toApiModelSettings(modelSettings, session), goal: this.model.getGoal(), session, }); diff --git a/next/src/stores/modelSettingsStore.ts b/next/src/stores/modelSettingsStore.ts index a84a4eb2ec..8f60588045 100644 --- a/next/src/stores/modelSettingsStore.ts +++ b/next/src/stores/modelSettingsStore.ts @@ -39,7 +39,11 @@ export const useModelSettingsStore = createSelectors( name: "agentgpt-settings-storage-v2", storage: createJSONStorage(() => localStorage), partialize: (state) => ({ - modelSettings: state.modelSettings, + modelSettings: { + ...state.modelSettings, + customModelName: "gpt-3.5-turbo", + maxTokens: Math.min(state.modelSettings.maxTokens, 4000), + }, }), } ) diff --git a/next/src/utils/interfaces.ts b/next/src/utils/interfaces.ts index d750b627e9..274f3c52ff 100644 --- a/next/src/utils/interfaces.ts +++ b/next/src/utils/interfaces.ts @@ -1,5 +1,6 @@ import type { Analysis } from "../services/agent/analysis"; import type { GPTModelNames, ModelSettings } from "../types"; +import type { Session } from "next-auth"; export interface ApiModelSettings { language: string; @@ -8,13 +9,17 @@ export interface ApiModelSettings { max_tokens: number; } -export const toApiModelSettings = (modelSettings: ModelSettings) => ({ - language: modelSettings.language.name, - model: modelSettings.customModelName, - temperature: modelSettings.customTemperature, - max_tokens: modelSettings.maxTokens, - custom_api_key: modelSettings.customApiKey, -}); +export const toApiModelSettings = (modelSettings: ModelSettings, session?: Session) => { + const allowCustomization = session?.user; + + return { + language: modelSettings.language.name, + model: allowCustomization ? modelSettings.customModelName : "gpt-3.5-turbo", + temperature: modelSettings.customTemperature, + max_tokens: allowCustomization ? modelSettings.maxTokens : 500, + custom_api_key: modelSettings.customApiKey, + }; +}; export interface RequestBody { model_settings: ApiModelSettings;