Skip to content

Commit 5586b22

Browse files
committed
✨ Fix issues where maxTokens not taken into consideration for execute task
1 parent d5774aa commit 5586b22

File tree

4 files changed

+19
-10
lines changed

4 files changed

+19
-10
lines changed

next/src/services/agent/agent-work/execute-task-work.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export default class ExecuteTaskWork implements AgentWork {
3030
goal: this.parent.model.getGoal(),
3131
task: this.task.value,
3232
analysis: this.analysis,
33-
model_settings: toApiModelSettings(this.parent.modelSettings),
33+
model_settings: toApiModelSettings(this.parent.modelSettings, this.parent.session),
3434
},
3535
this.parent.$api.props.session?.accessToken || "",
3636
() => {

next/src/services/agent/autonomous-agent.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class AutonomousAgent {
3535
this.modelSettings = modelSettings;
3636
this.session = session;
3737
this.$api = new AgentApi({
38-
model_settings: toApiModelSettings(modelSettings),
38+
model_settings: toApiModelSettings(modelSettings, session),
3939
goal: this.model.getGoal(),
4040
session,
4141
});

next/src/stores/modelSettingsStore.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,11 @@ export const useModelSettingsStore = createSelectors(
3939
name: "agentgpt-settings-storage-v2",
4040
storage: createJSONStorage(() => localStorage),
4141
partialize: (state) => ({
42-
modelSettings: state.modelSettings,
42+
modelSettings: {
43+
...state.modelSettings,
44+
customModelName: "gpt-3.5-turbo",
45+
maxTokens: Math.min(state.modelSettings.maxTokens, 4000),
46+
},
4347
}),
4448
}
4549
)

next/src/utils/interfaces.ts

+12-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import type { Analysis } from "../services/agent/analysis";
22
import type { GPTModelNames, ModelSettings } from "../types";
3+
import type { Session } from "next-auth";
34

45
export interface ApiModelSettings {
56
language: string;
@@ -8,13 +9,17 @@ export interface ApiModelSettings {
89
max_tokens: number;
910
}
1011

11-
export const toApiModelSettings = (modelSettings: ModelSettings) => ({
12-
language: modelSettings.language.name,
13-
model: modelSettings.customModelName,
14-
temperature: modelSettings.customTemperature,
15-
max_tokens: modelSettings.maxTokens,
16-
custom_api_key: modelSettings.customApiKey,
17-
});
12+
export const toApiModelSettings = (modelSettings: ModelSettings, session?: Session) => {
13+
const allowCustomization = session?.user;
14+
15+
return {
16+
language: modelSettings.language.name,
17+
model: allowCustomization ? modelSettings.customModelName : "gpt-3.5-turbo",
18+
temperature: modelSettings.customTemperature,
19+
max_tokens: allowCustomization ? modelSettings.maxTokens : 500,
20+
custom_api_key: modelSettings.customApiKey,
21+
};
22+
};
1823

1924
export interface RequestBody {
2025
model_settings: ApiModelSettings;

0 commit comments

Comments
 (0)