ClinicianFOCUS / clinicianfocus-installer

Install tool to help with installing the software and tools under development in this applied research project.
GNU Affero General Public License v3.0
0 stars 1 forks source link

Add Mistral 7B model download to installer and handle alpha releases #22

Closed ItsSimko closed 1 month ago

ItsSimko commented 1 month ago

Summary by Sourcery

Enhance the installer to support the Mistral 7B AI model download and configuration during basic installation, and update the CI workflow to manage alpha releases.

New Features:

Enhancements:

CI:

sourcery-ai[bot] commented 1 month ago

Reviewer's Guide by Sourcery

This PR implements two main features: enhancing the installer script to support downloading the Mistral 7B AI model during basic installation and updating the CI workflow to handle alpha releases. The installer changes include downloading the model and its template, setting up environment configurations, and adding user notifications. The CI workflow modifications add support for alpha release tags and automatic prerelease marking.

Sequence diagram for Mistral 7B AI model download during installation

sequenceDiagram
    actor User
    participant Installer
    participant Internet
    User->>Installer: Start Basic Installation
    Installer->>User: Notify about Mistral 7B AI model download
    Installer->>Internet: Download Mistral 7B model
    Internet-->>Installer: Model downloaded
    Installer->>Internet: Download Mistral template
    Internet-->>Installer: Template downloaded
    Installer->>Installer: Update environment settings
    Installer->>User: Installation complete

File-Level Changes

Change Details Files
Added Mistral 7B model download and setup for basic installation
  • Downloads the quantized Mistral model from HuggingFace
  • Downloads the Mistral template file
  • Creates and configures .env file with model settings
  • Sets section size to accommodate 8GB model download
  • Adds user notification about the large download
  • Sets different section sizes for basic vs advanced installation
install.nsi
Enhanced GitHub Actions workflow to support alpha releases
  • Added support for alpha version tags (v..*.alpha)
  • Added step to detect alpha releases
  • Configured release creation to mark alpha versions as prereleases
.github/workflows/release_installer.yml

Tips and commands #### Interacting with Sourcery - **Trigger a new review:** Comment `@sourcery-ai review` on the pull request. - **Continue discussions:** Reply directly to Sourcery's review comments. - **Generate a GitHub issue from a review comment:** Ask Sourcery to create an issue from a review comment by replying to it. - **Generate a pull request title:** Write `@sourcery-ai` anywhere in the pull request title to generate a title at any time. - **Generate a pull request summary:** Write `@sourcery-ai summary` anywhere in the pull request body to generate a PR summary at any time. You can also use this command to specify where the summary should be inserted. #### Customizing Your Experience Access your [dashboard](https://app.sourcery.ai) to: - Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others. - Change the review language. - Add, remove or edit custom review instructions. - Adjust other review settings. #### Getting Help - [Contact our support team](mailto:support@sourcery.ai) for questions or feedback. - Visit our [documentation](https://docs.sourcery.ai) for detailed guides and information. - Keep in touch with the Sourcery team by following us on [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) or [GitHub](https://github.com/sourcery-ai).
sweep-ai[bot] commented 1 month ago

Hey @ItsSimko, here is an example of how you can ask me to improve this pull request:

@sweep Add unit tests for the alpha release detection logic in the GitHub workflow. The tests should verify:
1. That a tag with ".alpha" suffix correctly sets `is_alpha=true`
2. That a regular version tag correctly sets `is_alpha=false`
3. That the prerelease flag is properly set based on the `is_alpha` output

:book: For more information on how to use Sweep, please read our documentation.