Commit Graph

53 Commits

Author SHA1 Message Date
Adam Treat
dfe85386b5 This shouldn't have snuck in. 2023-05-08 15:09:23 -04:00
Adam Treat
6d943917f1 Fail early/gracefully if incompatible hardware detected. And default to universal builds on mac. 2023-05-08 08:23:00 -04:00
Adam Treat
ab13148430 The GUI should come up immediately and not wait on deserializing from disk. 2023-05-06 20:01:14 -04:00
Adam Treat
f291853e51 First attempt at providing a persistent chat list experience.
Limitations:

1) Context is not restored for gpt-j models
2) When you switch between different model types in an existing chat
   the context and all the conversation is lost
3) The settings are not chat or conversation specific
4) The sizes of the chat persisted files are very large due to how much
   data the llama.cpp backend tries to persist. Need to investigate how
   we can shrink this.
2023-05-04 15:31:41 -04:00
Adam Treat
86132cfc8b Don't add new chats willy nilly. 2023-05-02 07:53:09 -04:00
Adam Treat
412cad99f2 Hot swapping of conversations. Destroys context for now. 2023-05-01 20:27:07 -04:00
Adam Treat
a48226613c Turn the chat list into a model. 2023-05-01 17:13:20 -04:00
Adam Treat
679b61ee07 Provide convenience methods for adding/removing/changing chat. 2023-05-01 14:24:16 -04:00
Adam Treat
6e6b96375d Handle the fwd of important signals from LLM object so qml doesn't have to deal with which chat is current. 2023-05-01 12:41:03 -04:00
Adam Treat
4d87c46948 Major refactor in prep for multiple conversations. 2023-05-01 09:10:05 -04:00
Adam Treat
d1e3198b65 Add new C++ version of the chat model. Getting ready for chat history. 2023-04-30 20:28:43 -04:00
Adam Treat
9f323759ce Remove these as it is mitigated by repeat penalty and models really should train this out. 2023-04-30 08:02:39 -04:00
Adam Treat
a6ca45c9dd Use the universal sep. 2023-04-29 21:03:10 -04:00
Adam Treat
69f92d8ea8 Load models from filepath only. 2023-04-28 20:15:10 -04:00
Adam Treat
62a885de40 Always try and load default model first. Groovy is the default default. 2023-04-27 13:52:29 -04:00
Adam Treat
5a7d40f604 Move the saving of the tokens to the impl and not the callbacks responsibility. 2023-04-27 11:16:51 -04:00
Adam Treat
ba4b28fcd5 Move the promptCallback to own function. 2023-04-27 11:08:15 -04:00
Adam Treat
386ce08fca Track check for updates. 2023-04-27 07:41:23 -04:00
Adam Treat
ee5c58c26c Initial support for opt-in telemetry. 2023-04-26 22:05:56 -04:00
Adam Treat
a3d97fa009 Don't crash when prompt is too large. 2023-04-26 19:08:37 -04:00
Aaron Miller
15a979b327 new settings (model path, repeat penalty) w/ tabs 2023-04-25 16:24:55 -04:00
Adam Treat
cf8a4dd868 Infinite context window through trimming. 2023-04-25 11:20:51 -04:00
Adam Treat
a79bc4233c Implement repeat penalty for both llama and gptj in gui. 2023-04-25 08:38:29 -04:00
Adam Treat
a02b0c14ca Don't crash right out of the installer ;) 2023-04-24 21:07:16 -04:00
Aaron Miller
29e3e04fcf persistent threadcount setting
threadcount is now on the Settings object and
gets reapplied after a model switch
2023-04-24 18:05:08 -04:00
Adam Treat
74621109c9 Add a fixme for dubious code. 2023-04-24 14:03:04 -04:00
Adam Treat
c086a45173 Provide a non-priviledged place for model downloads when exe is installed to root. 2023-04-23 11:28:17 -04:00
Adam Treat
43e6d05d21 Don't crash starting with no model. 2023-04-20 07:17:07 -04:00
Adam Treat
55084333a9 Add llama.cpp support for loading llama based models in the gui. We now
support loading both gptj derived models and llama derived models.
2023-04-20 06:19:09 -04:00
Aaron Miller
f1b87d0b56 Add thread count setting 2023-04-19 08:33:13 -04:00
Adam Treat
e6cb6a2ae3 Add a new model download feature. 2023-04-18 21:10:06 -04:00
Adam Treat
1eda8f030e Allow unloading/loading/changing of models. 2023-04-18 11:42:38 -04:00
Adam Treat
15ae0a4441 Fix the context. 2023-04-17 14:11:41 -04:00
Adam Treat
659ab13665 Don't allow empty prompts. Context past always equal or greater than zero. 2023-04-16 14:57:58 -04:00
Adam Treat
7e9ca06366 Trim trailing whitespace at the end of generation. 2023-04-16 14:19:59 -04:00
Adam Treat
fdf7f20d90 Remove newlines too. 2023-04-16 14:04:25 -04:00
Adam Treat
f8b962d50a More conservative default params and trim leading whitespace from response. 2023-04-16 13:56:56 -04:00
Aaron Miller
cb6d2128d3 use the settings dialog settings when generating 2023-04-16 11:16:30 -04:00
Adam Treat
2354779ac1 Provide an instruct/chat template. 2023-04-15 16:33:37 -04:00
Aaron Miller
0f9b80e6b6 Use completeBaseName to display model name
this cuts the filename at the *final* dot instead of the first, allowing
model names with version numbers to be displayed correctly.
2023-04-15 13:29:51 -04:00
Adam Treat
2f3a46c17f Erase the correct amount of logits when regenerating which is not the same
as the number of tokens.
2023-04-15 09:19:54 -04:00
Adam Treat
12bf78bf24 Fix crash with recent change to erase context. 2023-04-15 09:10:34 -04:00
Adam Treat
f8005cff45 When regenerating erase the previous response and prompt from the context. 2023-04-15 09:10:27 -04:00
Adam Treat
9de185488c Add an abstraction around gpt-j that will allow other arch models to be loaded in ui. 2023-04-13 22:15:40 -04:00
Adam Treat
0d8b5bbd49 Fix the check for updates on mac. 2023-04-12 17:57:02 -04:00
Adam Treat
c183702aa4 Provide a busy indicator if we're processing a long prompt and make the
stop button work in the middle of processing a long prompt as well.
2023-04-12 15:31:32 -04:00
Adam Treat
72b964e064 Fix the name of the updates tool. 2023-04-11 12:16:04 -04:00
Adam Treat
0ea31487e3 Programmatically get the model name from the LLM. The LLM now searches
for applicable models in the directory of the executable given a pattern
match and then loads the first one it finds.

Also, add a busy indicator for model loading.
2023-04-11 08:29:55 -04:00
Adam Treat
a56a258099 Big updates to the UI. 2023-04-10 23:34:34 -04:00
Adam Treat
b1b7744241 Add a reset context feature to clear the chat history and the context for now. 2023-04-10 17:13:22 -04:00