- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgram.cs
More file actions
Latest commit
54 lines (46 loc) · 1.82 KB
/
Copy pathProgram.cs
File metadata and controls
54 lines (46 loc) · 1.82 KB
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
usingLetheAISharp.Files;
usingLetheAISharp.LLM;
usingNewtonsoft.Json;
usingSystem.IO;
usingLetheChat.Files;
usingLetheChat.Plugins;
namespaceLetheChat
{
internalstaticclassProgram
{
publicstaticMainForm?BigForm{get;privateset;}
publicstaticLetheChatSettingsSettings{get;set;}=newLetheChatSettings();
publicstaticLlamaCppProcessManagerLlamaCppProcess{get;}=newLlamaCppProcessManager();
publicstaticSpeechRecognizerAudio{get;}=newSpeechRecognizer();
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
staticvoidMain()
{
if(!File.Exists("settings.json"))
{
Settings=newLetheChatSettings();
File.WriteAllText("settings.json",JsonConvert.SerializeObject(Settings,Formatting.Indented));
}
varstr=File.ReadAllText("settings.json");
Settings=JsonConvert.DeserializeObject<LetheChatSettings>(str)!;
LLMEngine.Settings=Settings;
if(File.Exists("data/banlist.json"))
{
varbanstr=File.ReadAllText("data/banlist.json");
LLMEngine.BannedSearchWords=JsonConvert.DeserializeObject<BanList>(banstr)!;
}
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
AppDomain.CurrentDomain.ProcessExit+=(_,_)=>LlamaCppProcess.Dispose();
DataFiles.LoadDB();
BigForm=newMainForm();
Application.Run(BigForm);
}
publicstaticvoidApplyContextPluginSettings()
{
}
}
}