Commit Graph

1823 Commits (major_new_ui_redesign)
 

Author SHA1 Message Date
Adam Treat 83fc345162 Add a fixme_blocker comment for localdocs and fix a spelling mistake.
Signed-off-by: Adam Treat <treat.adam@gmail.com>
1 day ago
Adam Treat 5d9df13d0c This is a draft PR. It reflects a lot of major new ui redesign work that
follows the new FIGMA design made by Vincent. It also contains a lot of
changes to the way localdocs works.

This is now rebased on top of main and conflicts resolved. This is still
a monolithic commit that needs to be broken up into smaller pieces in order
to aid proper review. I'll be working on that now and force pushing as I
do so.

Signed-off-by: Adam Treat <treat.adam@gmail.com>
3 days ago
Adam Treat e876e47a09 Add several new icons and change current set.
Signed-off-by: Adam Treat <treat.adam@gmail.com>
3 days ago
Adam Treat 55370b7955 Fix destruction and tear down of the embedding thread.
Signed-off-by: Adam Treat <treat.adam@gmail.com>
3 days ago
Adam Treat 1433d59246 Fixup after review 2.
Signed-off-by: Adam Treat <treat.adam@gmail.com>
3 days ago
Adam Treat d6cb24791c Fixup after review.
Signed-off-by: Adam Treat <treat.adam@gmail.com>
3 days ago
Adam Treat 534871fe62 Large update to localdocs with many moving parts. This commit is a breaking
change that requires re-indexing of all collections.

- Adds a general mechanism for handling breaking changes to localdocs database
  upgrades

- Upgrades the database format to version 2 and includes numerous changes to
  the underlying tables including:
    a) adds word and token count fields for chunk table
    b) adds a boolean field indicating whether the chunk has a generated embedding
    c) adds a last updated time field for collection table which can be displayed in GUI
    d) adds an embedding model field for collection table
    e) adds a boolean field for collection table to allow forced re-indexing

- Adds several statistics about the collection which can be displayed in GUI
    a) total documents
    b) total words
    c) total tokens
    d) last updated time
    e) which document is currently being indexed
    f) which document is currently being embedded
    g) which model is being used to generate embeddings for the collection

- Simplifies communication between the database thread and the GUI thread
  removing a lot of extra code and makes clear what methods/signals in database
  class are soley used for communicating state to the GUI

- Provides a pool for sending embedding requests to the embedding thread to
  increase speed of embedding when the chunks per document are small

- Provides a mechanism for resuming indexing/embedding when the app shutsdown
  or crashes in the middle of indexing/embedding

NOTE: This change is part of a larger set of commits, but can be built and
compiles up to this point

Signed-off-by: Adam Treat <treat.adam@gmail.com>
3 days ago
Adam Treat 6c2b53814b Remove the debug example in database as it's now too simplistic and out of date.
Signed-off-by: Adam Treat <treat.adam@gmail.com>
3 days ago
Adam Treat b79b02c84e Add a FIXME for the current hardcoding of the dimension for the index.
Signed-off-by: Adam Treat <treat.adam@gmail.com>
3 days ago
Adam Treat 2e71b933da Back out some of the changes that were added to localdocs to support sending
mixpanel events. These changes added complexity to the Database code which
we're looking to simplify not increase complexity and all info that we care
about from mixpanel should be available from the GUI thread.

NOTE: This change will not compile by itself. It must be included with subsequent
changes made in PR #2302 but is here broken out into a standalone commit
to aid in review.

Signed-off-by: Adam Treat <treat.adam@gmail.com>
3 days ago
Jared Van Bortel 8a70f770a2
ci: fix Python build after CUDA PR (#2373)
Build with -DCMAKE_BUILD_TYPE=Release, and use MSVC on Windows.

Signed-off-by: Jared Van Bortel <jared@nomic.ai>
5 days ago
Jared Van Bortel e94177ee9a
llamamodel: fix embedding crash for >512 tokens after #2310 (#2383)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
5 days ago
Jared Van Bortel f047f383d0
llama.cpp: update submodule for "code" model crash workaround (#2382)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
5 days ago
Jared Van Bortel f1b4092ca6
llamamodel: fix BERT tokenization after llama.cpp update (#2381)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
5 days ago
Jared Van Bortel 0b63ad5eff
chat: add release notes for v2.8.0 and bump version (#2372)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
2 weeks ago
Jared Van Bortel 09dd3dc318
python: depend on offical NVIDIA CUDA packages (#2355)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
2 weeks ago
Jared Van Bortel c779d8a32d
python: init_gpu fixes (#2368)
* python: tweak GPU init failure message
* llama.cpp: update submodule for use-after-free fix

Signed-off-by: Jared Van Bortel <jared@nomic.ai>
2 weeks ago
Jared Van Bortel e021fe130f
installer script: fix detection of macOS on newer QtIFW (#2361)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
2 weeks ago
Jared Van Bortel 2025d2d15b
llmodel: add CUDA to the DLL search path if CUDA_PATH is set (#2357)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
2 weeks ago
Jared Van Bortel a92d266cea
cmake: fix Metal build after #2310 (#2350)
I don't understand why this is needed, but it works.

Signed-off-by: Jared Van Bortel <jared@nomic.ai>
3 weeks ago
Jared Van Bortel d2a99d9bc6
support the llama.cpp CUDA backend (#2310)
* rebase onto llama.cpp commit ggerganov/llama.cpp@d46dbc76f
* support for CUDA backend (enabled by default)
* partial support for Occam's Vulkan backend (disabled by default)
* partial support for HIP/ROCm backend (disabled by default)
* sync llama.cpp.cmake with upstream llama.cpp CMakeLists.txt
* changes to GPT4All backend, bindings, and chat UI to handle choice of llama.cpp backend (Kompute or CUDA)
* ship CUDA runtime with installed version
* make device selection in the UI on macOS actually do something
* model whitelist: remove dbrx, mamba, persimmon, plamo; add internlm and starcoder2

Signed-off-by: Jared Van Bortel <jared@nomic.ai>
3 weeks ago
Jared Van Bortel a618ca5699
readme: document difference between installers (#2336)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
3 weeks ago
Jared Van Bortel fbbf810020
chat: fix issues with the initial "New Chat" (#2330)
* select the existing new chat if there already is one when "New Chat" is clicked
* scroll to the new chat when "New Chat" is clicked
* fix the "New Chat" being scrolled past the top of the chat list

Signed-off-by: Jared Van Bortel <jared@nomic.ai>
3 weeks ago
Jared Van Bortel 7e1e00f331
chat: fix issues with quickly switching between multiple chats (#2343)
* prevent load progress from getting out of sync with the current chat
* fix memory leak on exit if the LLModelStore contains a model
* do not report cancellation as a failure in console/Mixpanel
* show "waiting for model" separately from "switching context" in UI
* do not show lower "reload" button on error
* skip context switch if unload is pending
* skip unnecessary calls to LLModel::saveState

Signed-off-by: Jared Van Bortel <jared@nomic.ai>
3 weeks ago
Jared Van Bortel 7f1c3d4275
chatllm: fix model loading progress showing "Reload" sometimes (#2337)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
3 weeks ago
Jared Van Bortel 9f9d8e636f
backend: do not crash if GGUF lacks general.architecture (#2346)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
3 weeks ago
Jared Van Bortel 6d8888b267
llamamodel: free the batch in embedInternal (#2348)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
3 weeks ago
AT 61cefcfd8a
Fix destruction and tear down of the embedding thread. (#2328)
* Fix destruction and tear down of the embedding thread.

Signed-off-by: Adam Treat <treat.adam@gmail.com>

* Fix order of deletion to prevent use after free.

Signed-off-by: Adam Treat <treat.adam@gmail.com>

---------

Signed-off-by: Adam Treat <treat.adam@gmail.com>
3 weeks ago
Jared Van Bortel 1427ef7195
chat: fix window icon on Windows (#2321)
* chat: fix window icon on Windows

Signed-off-by: Jared Van Bortel <jared@nomic.ai>

* chat: remove redundant copy of macOS app icon

This has been redundant since PR #2180.

Signed-off-by: Jared Van Bortel <jared@nomic.ai>

---------

Signed-off-by: Jared Van Bortel <jared@nomic.ai>
3 weeks ago
Tim453 69720fedaa
Update appdata.xml (#2307) 3 weeks ago
Jared Van Bortel 86560f3952
maint: remove Docker API server and related references (#2314)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
3 weeks ago
Jared Van Bortel 5fb9d17c00
chatllm: use a better prompt for the generated chat name (#2322)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
4 weeks ago
Jared Van Bortel f26e8d0d87
chat: do not allow sending a message while the LLM is responding (#2323)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
4 weeks ago
Jared Van Bortel d54e644d05
ChatView: make context menus more intuitive (#2324)
* ChatView: fix deprecation warning

Signed-off-by: Jared Van Bortel <jared@nomic.ai>

* ChatView: make context menus more intuitive

Signed-off-by: Jared Van Bortel <jared@nomic.ai>

---------

Signed-off-by: Jared Van Bortel <jared@nomic.ai>
4 weeks ago
Jared Van Bortel cef74c2be2
readme: cleanup and modernization (#2308)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
4 weeks ago
Jared Van Bortel 26eaf598b4
chat: add release notes for v2.7.5 and bump version (#2300)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
1 month ago
Andriy Mulyar d7c47fb6f7
Update README.md (#2301)
Signed-off-by: Andriy Mulyar <andriy.mulyar@gmail.com>
1 month ago
Jared Van Bortel 577ebd4826
mixpanel: report cpu_supports_avx2 on startup (#2299)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
1 month ago
Jared Van Bortel 855fd22417
localdocs: load model before checking which model is loaded (#2284)
* localdocs: load model before checking what we loaded

Fixes "WARNING: Request to generate sync embeddings for non-local model
invalid"

Signed-off-by: Jared Van Bortel <jared@nomic.ai>

* fix inverted assertion

Signed-off-by: Jared Van Bortel <jared@nomic.ai>

---------

Signed-off-by: Jared Van Bortel <jared@nomic.ai>
1 month ago
Jared Van Bortel adaecb7a72
mixpanel: improved GPU device statistics (plus GPU sort order fix) (#2297)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
1 month ago
Jared Van Bortel 27c561aeb7
mixpanel: fix opt-out events after #2238 (#2296)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
1 month ago
Noofbiz 1b87aa2dbc
fixed bindings to match new API (#2240)
* fixed bindings to match new API

Signed-off-by: Jerry Caligiure <jerry@noof.biz>

* added update to readme

Signed-off-by: Jerry Caligiure <jerry@noof.biz>

---------

Signed-off-by: Jerry Caligiure <jerry@noof.biz>
Co-authored-by: Jerry Caligiure <jerry@noof.biz>
1 month ago
Jared Van Bortel 6f38fde80b
mixpanel: fix doc_collections_total of localdocs_startup (#2270)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
1 month ago
Jared Van Bortel a14193623a
chat: add release notes for v2.7.4 and bump version (#2269)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
1 month ago
Jared Van Bortel 4f3c9bbe3e
network: fix use of GNU asm statement with MSVC (#2267)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
1 month ago
Jared Van Bortel c622921894
improve mixpanel usage statistics (#2238)
Other changes:
- Always display first start dialog if privacy options are unset (e.g. if the user closed GPT4All without selecting them)
- LocalDocs scanQueue is now always deferred
- Fix a potential crash in magic_match
- LocalDocs indexing is now started after the first start dialog is dismissed so usage stats are included

Signed-off-by: Jared Van Bortel <jared@nomic.ai>
1 month ago
Jared Van Bortel 4193533154
models.json: add Phi-3 Mini Instruct (#2252)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
1 month ago
Ikko Eltociear Ashimine baf1dfc5d7
docs: update README.md (#2250)
minor fix

Signed-off-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
1 month ago
Jared Van Bortel 0b78b79b1c
models.json: add Llama 3 Instruct 8B (#2242)
Other changes:
* fix 'requires' for models with %2 in template
* move Ghost 7B to the appropriate location in the file based on where it actually appears in the UI

Signed-off-by: Jared Van Bortel <jared@nomic.ai>
1 month ago
Jared Van Bortel aac00d019a
chat: temporarily revert some UI changes before next release (#2234)
* chat: revert PR #2187

Signed-off-by: Jared Van Bortel <jared@nomic.ai>

* chat: revert PR #2148

This reverts commit f571e7e450.

Signed-off-by: Jared Van Bortel <jared@nomic.ai>

---------

Signed-off-by: Jared Van Bortel <jared@nomic.ai>
2 months ago