Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI and embedding device changes for GPT4All v3.0.0-rc3 #2477

Merged
merged 16 commits into from
Jun 28, 2024
Merged

Conversation

cebtenzzre
Copy link
Member

@cebtenzzre cebtenzzre commented Jun 27, 2024

🚀 This description was created by Ellipsis for commit 7a097d6

Summary:

Enhanced UI, refactored model loading logic, and added new settings for better user experience and maintainability.

Key points:

  • Added new QML files to CMakeLists.txt for better UI modularity.
  • Refactored ChatLLM::loadModel in gpt4all-chat/chatllm.cpp to use ChatLLM::loadNewModel for better readability and maintainability.
  • Introduced loadNewModel function in gpt4all-chat/chatllm.cpp for handling model loading logic.
  • Updated gpt4all-chat/chatllm.h to declare loadNewModel function.
  • Enhanced EmbeddingLLMWorker::loadModel in gpt4all-chat/embllm.cpp to support GPU acceleration and better error handling.
  • Adjusted UI elements in gpt4all-chat/main.qml for better scaling and alignment.
  • Added new settings and UI elements in gpt4all-chat/mysettings.cpp and gpt4all-chat/mysettings.h for embedding device selection and other configurations.
  • Updated various QML files (AddModelView.qml, ApplicationSettings.qml, ChatDrawer.qml, ChatView.qml, CollectionsDrawer.qml, HomeView.qml, LocalDocsSettings.qml, LocalDocsView.qml, ModelSettings.qml, ModelsView.qml, MySettingsLabel.qml, MyTextButton.qml, MyToolButton.qml, Theme.qml) to improve UI consistency, accessibility, and functionality.

Generated with ❤️ by ellipsis.dev

We introduce a MyTextButton class to accomplish this with less
copy-pasting.

Signed-off-by: Jared Van Bortel <jared@nomic.ai>
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
Even with ngl=0, the CUDA backend uses the GPU. We want CPU fallback to
be a true failsafe that doesn't require any available VRAM, or even a
functioning GPU driver, so use the "auto" backend for fallback.

Signed-off-by: Jared Van Bortel <jared@nomic.ai>
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
Setting the value of 'checked' directly instead of binding the property
fixes the issue where the box would appear checked after clicking cancel
on the dialog that opens when you click on it.

Signed-off-by: Jared Van Bortel <jared@nomic.ai>
Also adds a title to the top of each settings page.

Signed-off-by: Jared Van Bortel <jared@nomic.ai>
@cebtenzzre cebtenzzre marked this pull request as ready for review June 28, 2024 16:01
@cebtenzzre cebtenzzre requested a review from manyoso June 28, 2024 16:01
Copy link

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Looks good to me! Reviewed everything up to 7a097d6 in 1 minute and 20 seconds

More details
  • Looked at 2346 lines of code in 21 files
  • Skipped 0 files when reviewing.
  • Skipped posting 1 drafted comments based on config settings.
1. gpt4all-chat/qml/MyTextButton.qml:19
  • Draft comment:
    The implementation of MyTextButton.qml appears correct and follows QML best practices for creating reusable components. The use of TapHandler for click interactions and ToolTip for tooltips is appropriate.
  • Reason this comment was not posted:
    Confidence changes required: 0%
    The PR introduces a new QML file MyTextButton.qml which defines a custom text button component. This component uses a Text element with a TapHandler for click interactions and a ToolTip for displaying tooltips. The component is designed to be reusable across the application wherever a text button with a tooltip is needed. The implementation seems correct and follows QML best practices for creating custom components. The properties and signals are properly defined, and the visual feedback for hover states is handled using a HoverHandler.

Workflow ID: wflow_4me9KCrkvuV2eHgF


You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet mode, and more.

5 days left in your free trial, upgrade for $20/seat/month or contact us.

@cebtenzzre cebtenzzre changed the title new UI fixes for rc3 UI and embedding device changes for GPT4All v3.0.0-rc3 Jun 28, 2024
@cebtenzzre cebtenzzre merged commit 2c8d634 into main Jun 28, 2024
6 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants