File size: 2,384 Bytes
3943768
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
55
56
57
58
59
60
61
# One Click Installers for MacOS

This document provide the details to build one click installers for MacOS. To manually build h2ogpt on MacOS follow steps at [README_MACOS.md](../../docs/README_MACOS.md).

**Note**: Experimental and still under development.

## Prerequisite

- Need conda installed inorder to run the build script.
- We use `PyInstaller` to build one click installer, it doesn't support cross platform builds. So the installers can
  be only built from Mac Machines. 
- Install tesseract & poppler on your Mac Machine

## Build

### Debug Mode (for one click installer developers)

- Clone `h2ogpt` from https://github.com/h2oai/h2ogpt.git
- Create conda environment and installer all required dependencies, consult [build_mac_installer.sh](build_mac_installer.sh) for more details.
- Run below commands to build the spec file for installer, replace the `--name` appropriately depending on whether building for CPU only or with MPS (GPU) support
    ```shell
    cd h2ogpt
    pyi-makespec mac_run_app.py -F --name=h2ogpt-osx-m1-cpu \
      --hidden-import=h2ogpt \
      --collect-all=h2ogpt \
      --recursive-copy-metadata=transformers \
      --collect-data=langchain \
      --collect-data=gradio_client \
      --collect-all=gradio \
      --collect-all=sentencepiece \
      --collect-all=gradio_pdf \
      --collect-all=llama_cpp \
      --collect-all=tiktoken_ext \
      --add-data=../../Tesseract-OCR:Tesseract-OCR \
      --add-data=../../poppler:poppler
    ```
- Edit the `h2ogpt-osx-m1-cpu.spec` and/or `h2ogpt-osx-m1-gpu.spec` and add below code block to `Analysis()`, to explicitly tell PyInstaller to collect all `.py` modules from listed dependencies.
    ```
    module_collection_mode={
        'gradio' : 'py',
        'gradio_pdf' : 'py',
    },
    ```
- Run `pyinstaller h2ogpt-osx-m1-cpu.spec` to build the installer.
### Deployment Mode

- Clone `h2ogpt` from https://github.com/h2oai/h2ogpt.git
- For CPU only installer, run below commands to build the installer
    ```shell
    cd h2ogpt
    . ./dev_installers/mac/build_mac_installer.sh
    ```
- For MPS (GPU) supported installer, run below commands to build the installer
    ```shell
    cd h2ogpt
    BUILD_MPS=1 . ./dev_installers/mac/build_mac_installer.sh
    ```
  
## Run 

From MacOS finder, go to `h2ogpt/dist/` and double-click on the installer (i.e `h2ogpt-osx-m1-cpu`).