-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAppSettings.h
74 lines (62 loc) · 1.76 KB
/
AppSettings.h
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
#pragma once
#include "rfc/rfc.h"
#define NCHAT_FORMAT_ID KFORMAT_ID('NCS1')
class AppSettings
{
KString settingsFilePath;
public:
KString modelFileName; // not full path
KString promptFileName; // not full path
KString commandline;
bool removeMarkdown;
bool showInitLog;
bool useKnowledgebase;
bool showVecDBResponse;
KString adapterFileName; // not full path
AppSettings()
{
modelFileName = L"none";
promptFileName = L"Default.txt";
adapterFileName = L"none";
this->ResetConfig();
settingsFilePath = KDirectory::GetModuleDir(NULL) + L"\\settings.cfg";
}
void ResetConfig()
{
showInitLog = false;
removeMarkdown = false;
useKnowledgebase = false;
showVecDBResponse = false;
commandline = L"-cnv -n 4096 --simple-io -mli --no-warmup";
}
void LoadSettings()
{
KSettingsReader settingsReader;
if (settingsReader.OpenFile(settingsFilePath, NCHAT_FORMAT_ID))
{
modelFileName = settingsReader.ReadString();
promptFileName = settingsReader.ReadString();
commandline = settingsReader.ReadString();
removeMarkdown = settingsReader.ReadBool();
showInitLog = settingsReader.ReadBool();
useKnowledgebase = settingsReader.ReadBool();
showVecDBResponse = settingsReader.ReadBool();
adapterFileName = settingsReader.ReadString();
}
}
void SaveSettings()
{
KSettingsWriter settingsWriter;
if (settingsWriter.OpenFile(settingsFilePath, NCHAT_FORMAT_ID))
{
settingsWriter.WriteString(modelFileName);
settingsWriter.WriteString(promptFileName);
settingsWriter.WriteString(commandline);
settingsWriter.WriteBool(removeMarkdown);
settingsWriter.WriteBool(showInitLog);
settingsWriter.WriteBool(useKnowledgebase);
settingsWriter.WriteBool(showVecDBResponse);
settingsWriter.WriteString(adapterFileName);
}
}
};