File size: 3,797 Bytes
3b6afc0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
const cleanupPreset = ({ preset: _preset, endpointsConfig = {} }) => {
  const { endpoint } = _preset;

  let preset = {};
  if (endpoint === 'azureOpenAI' || endpoint === 'openAI') {
    preset = {
      endpoint,
      presetId: _preset?.presetId ?? null,
      model: _preset?.model ?? endpointsConfig[endpoint]?.availableModels?.[0] ?? 'gpt-3.5-turbo',
      chatGptLabel: _preset?.chatGptLabel ?? null,
      promptPrefix: _preset?.promptPrefix ?? null,
      temperature: _preset?.temperature ?? 1,
      top_p: _preset?.top_p ?? 1,
      presence_penalty: _preset?.presence_penalty ?? 0,
      frequency_penalty: _preset?.frequency_penalty ?? 0,
      title: _preset?.title ?? 'New Preset',
    };
  } else if (endpoint === 'google') {
    preset = {
      endpoint,
      presetId: _preset?.presetId ?? null,
      model: _preset?.model ?? endpointsConfig[endpoint]?.availableModels?.[0] ?? 'chat-bison',
      modelLabel: _preset?.modelLabel ?? null,
      examples: _preset?.examples ?? [{ input: { content: '' }, output: { content: '' } }],
      promptPrefix: _preset?.promptPrefix ?? null,
      temperature: _preset?.temperature ?? 0.2,
      maxOutputTokens: _preset?.maxOutputTokens ?? 1024,
      topP: _preset?.topP ?? 0.95,
      topK: _preset?.topK ?? 40,
      title: _preset?.title ?? 'New Preset',
    };
  } else if (endpoint === 'anthropic') {
    preset = {
      endpoint,
      presetId: _preset?.presetId ?? null,
      model: _preset?.model ?? endpointsConfig[endpoint]?.availableModels?.[0] ?? 'claude-1',
      modelLabel: _preset?.modelLabel ?? null,
      promptPrefix: _preset?.promptPrefix ?? null,
      temperature: _preset?.temperature ?? 0.7,
      maxOutputTokens: _preset?.maxOutputTokens ?? 1024,
      topP: _preset?.topP ?? 0.7,
      topK: _preset?.topK ?? 40,
      title: _preset?.title ?? 'New Preset',
    };
  } else if (endpoint === 'bingAI') {
    preset = {
      endpoint,
      presetId: _preset?.presetId ?? null,
      jailbreak: _preset?.jailbreak ?? false,
      context: _preset?.context ?? null,
      systemMessage: _preset?.systemMessage ?? null,
      toneStyle: _preset?.toneStyle ?? 'creative',
      title: _preset?.title ?? 'New Preset',
    };
  } else if (endpoint === 'chatGPTBrowser') {
    preset = {
      endpoint,
      presetId: _preset?.presetId ?? null,
      model:
        _preset?.model ??
        endpointsConfig[endpoint]?.availableModels?.[0] ??
        'text-davinci-002-render-sha',
      title: _preset?.title ?? 'New Preset',
    };
  } else if (endpoint === 'gptPlugins') {
    const agentOptions = _preset?.agentOptions ?? {
      agent: 'functions',
      skipCompletion: true,
      model: 'gpt-3.5-turbo',
      temperature: 0,
      // top_p: 1,
      // presence_penalty: 0,
      // frequency_penalty: 0
    };
    preset = {
      endpoint,
      presetId: _preset?.presetId ?? null,
      tools: _preset?.tools ?? [],
      model: _preset?.model ?? endpointsConfig[endpoint]?.availableModels?.[0] ?? 'gpt-3.5-turbo',
      chatGptLabel: _preset?.chatGptLabel ?? null,
      promptPrefix: _preset?.promptPrefix ?? null,
      temperature: _preset?.temperature ?? 0.8,
      top_p: _preset?.top_p ?? 1,
      presence_penalty: _preset?.presence_penalty ?? 0,
      frequency_penalty: _preset?.frequency_penalty ?? 0,
      agentOptions,
      title: _preset?.title ?? 'New Preset',
    };
  } else if (endpoint === null) {
    preset = {
      endpoint,
      presetId: _preset?.presetId || null,
      title: _preset?.title ?? 'New Preset',
    };
  } else {
    console.error(`Unknown endpoint ${endpoint}`);
    preset = {
      endpoint: null,
      presetId: _preset?.presetId ?? null,
      title: _preset?.title ?? 'New Preset',
    };
  }

  return preset;
};

export default cleanupPreset;