Skip to content

Conversation

@Aisuko
Copy link
Collaborator

@Aisuko Aisuko commented Oct 8, 2023

Description

This PR is related to #1117

Notes for Reviewers
This PR follow the install process from https://github.com/jllllll/exllama#this-is-a-python-module-version-of-exllama

All the requirements were installed successfully. Also include (grpcio and protobuf).

  • torch==2.1.0
  • safetensors==0.3.2
  • sentencepiece==0.1.99
  • ninja==1.11.1

The exllama package was failed to install due to CUDA_HOME environment variable is not set. I do not have it in my environment(whatever the software or the hardware). So, I believe I need some help in here.

(exllama) @Aisuko ➜ /workspaces/LocalAI (feat/exllama) $ python -m pip install git+https://github.com/jllllll/exllama
Collecting git+https://github.com/jllllll/exllama
  Cloning https://github.com/jllllll/exllama to /tmp/pip-req-build-tk7ebjcm
  Running command git clone --filter=blob:none --quiet https://github.com/jllllll/exllama /tmp/pip-req-build-tk7ebjcm
  Resolved https://github.com/jllllll/exllama to commit 982d33068f260e46e08fc76a0cde7c941b547bd1
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [16 lines of output]
      /opt/conda/envs/exllama/lib/python3.11/site-packages/torch/nn/modules/transformer.py:20: UserWarning: Failed to initialize NumPy: No module named 'numpy' (Triggered internally at ../torch/csrc/utils/tensor_numpy.cpp:84.)
        device: torch.device = torch.device(torch._C._get_default_device()),  # torch.device('cpu'),
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-req-build-tk7ebjcm/setup.py", line 35, in <module>
          cpp_extension.CUDAExtension(
        File "/opt/conda/envs/exllama/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 1076, in CUDAExtension
          library_dirs += library_paths(cuda=True)
                          ^^^^^^^^^^^^^^^^^^^^^^^^
        File "/opt/conda/envs/exllama/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 1203, in library_paths
          if (not os.path.exists(_join_cuda_home(lib_dir)) and
                                 ^^^^^^^^^^^^^^^^^^^^^^^^
        File "/opt/conda/envs/exllama/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 2416, in _join_cuda_home
          raise OSError('CUDA_HOME environment variable is not set. '
      OSError: CUDA_HOME environment variable is not set. Please set it to your CUDA install root.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

The others are same to other PRs.

Signed commits

  • Yes, I signed my commits.

@Aisuko Aisuko requested a review from mudler October 8, 2023 03:21
@Aisuko Aisuko added up for grabs Tickets that no-one is currently working on Do-not-merge labels Oct 8, 2023
@Aisuko
Copy link
Collaborator Author

Aisuko commented Oct 11, 2023

This one can be the final one to get to merge. And the issue we can fix in new PR.

@mudler
Copy link
Owner

mudler commented Oct 19, 2023

@Aisuko can you please rebase on top of feat/conda?

@Aisuko
Copy link
Collaborator Author

Aisuko commented Oct 19, 2023

@Aisuko can you please rebase on top of feat/conda?

Done

@mudler mudler merged commit 066f5cb into mudler:feat/conda Oct 21, 2023
mudler pushed a commit that referenced this pull request Oct 21, 2023
Add seperate env for exllama

Signed-off-by: Aisuko <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>
@Aisuko Aisuko deleted the feat/exllama branch October 21, 2023 23:49
mudler pushed a commit that referenced this pull request Oct 25, 2023
Add seperate env for exllama

Signed-off-by: Aisuko <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>
mudler added a commit that referenced this pull request Nov 4, 2023
* feat(autogptq): add a separate conda environment for autogptq (#1137)

**Description**

This PR related to #1117

**Notes for Reviewers**

Here we lock down the version of the dependencies. Make sure it can be
used all the time without failed if the version of dependencies were
upgraded.

I change the order of importing packages according to the pylint, and no
change the logic of code. It should be ok.

I will do more investigate on writing some test cases for every backend.
I can run the service in my environment, but there is not exist a way to
test it. So, I am not confident on it.

Add a README.md in the `grpc` root. This is the common commands for
creating `conda` environment. And it can be used to the reference file
for creating extral gRPC backend document.

Signed-off-by: GitHub <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>

* [Extra backend] Add seperate environment for ttsbark (#1141)

**Description**

This PR relates to #1117

**Notes for Reviewers**

Same to the latest PR:
* The code is also changed, but only the order of the import package
parts. And some code comments are also added.
* Add a configuration of the `conda` environment
* Add a simple test case for testing if the service can be startup in
current `conda` environment. It is succeed in VSCode, but the it is not
out of box on terminal. So, it is hard to say the test case really
useful.

**[Signed
commits](../CONTRIBUTING.md#signing-off-on-commits-developer-certificate-of-origin)**
- [x] Yes, I signed my commits.

<!--
Thank you for contributing to LocalAI!

Contributing Conventions
-------------------------

The draft above helps to give a quick overview of your PR.

Remember to remove this comment and to at least:

1. Include descriptive PR titles with [<component-name>] prepended. We
use [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/).
2. Build and test your changes before submitting a PR (`make build`).
3. Sign your commits
4. **Tag maintainer:** for a quicker response, tag the relevant
maintainer (see below).
5. **X/Twitter handle:** we announce bigger features on X/Twitter. If
your PR gets announced, and you'd like a mention, we'll gladly shout you
out!

By following the community's contribution conventions upfront, the
review process will
be accelerated and your PR merged more quickly.

If no one reviews your PR within a few days, please @-mention @mudler.
-->

Signed-off-by: GitHub <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>

* feat(conda): add make target and entrypoints for the dockerfile

Signed-off-by: Ettore Di Giacinto <[email protected]>

* feat(conda): Add seperate conda env for diffusers (#1145)

**Description**

This PR relates to  #1117

**Notes for Reviewers**

* Add `conda` env `diffusers.yml`
* Add Makefile to create it automatically
* Add `run.sh` to support running as a extra backend
  * Also adding it to the main Dockerfile
* Add make command in the root Makefile
* Testing the server, it can start up under the env

Signed-off-by: GitHub <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>

* feat(conda):Add seperate env for vllm (#1148)

**Description**

This PR is related to #1117

**Notes for Reviewers**

* The gRPC server can be started as normal
* The test case can be triggered in VSCode
* Same to other this kind of PRs, add `vllm.yml` Makefile and add
`run.sh` to the main Dockerfile, and command to the main Makefile

**[Signed
commits](../CONTRIBUTING.md#signing-off-on-commits-developer-certificate-of-origin)**
- [x] Yes, I signed my commits.

<!--
Thank you for contributing to LocalAI!

Contributing Conventions
-------------------------

The draft above helps to give a quick overview of your PR.

Remember to remove this comment and to at least:

1. Include descriptive PR titles with [<component-name>] prepended. We
use [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/).
2. Build and test your changes before submitting a PR (`make build`).
3. Sign your commits
4. **Tag maintainer:** for a quicker response, tag the relevant
maintainer (see below).
5. **X/Twitter handle:** we announce bigger features on X/Twitter. If
your PR gets announced, and you'd like a mention, we'll gladly shout you
out!

By following the community's contribution conventions upfront, the
review process will
be accelerated and your PR merged more quickly.

If no one reviews your PR within a few days, please @-mention @mudler.
-->

Signed-off-by: GitHub <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>

* feat(conda):Add seperate env for huggingface (#1146)

**Description**

This PR is related to  #1117

**Notes for Reviewers**

* Add conda env `huggingface.yml`
* Change the import order, and also remove the no-used packages
* Add `run.sh` and `make command` to the main Dockerfile and Makefile
* Add test cases for it. It can be triggered and succeed under VSCode
Python extension but it is hang by using `python -m unites
test_huggingface.py` in the terminal

```
Running tests (unittest): /workspaces/LocalAI/extra/grpc/huggingface
Running tests: /workspaces/LocalAI/extra/grpc/huggingface/test_huggingface.py::TestBackendServicer::test_embedding
/workspaces/LocalAI/extra/grpc/huggingface/test_huggingface.py::TestBackendServicer::test_load_model
/workspaces/LocalAI/extra/grpc/huggingface/test_huggingface.py::TestBackendServicer::test_server_startup
./test_huggingface.py::TestBackendServicer::test_embedding Passed

./test_huggingface.py::TestBackendServicer::test_load_model Passed

./test_huggingface.py::TestBackendServicer::test_server_startup Passed

Total number of tests expected to run: 3
Total number of tests run: 3
Total number of tests passed: 3
Total number of tests failed: 0
Total number of tests failed with errors: 0
Total number of tests skipped: 0

Finished running tests!
```

**[Signed
commits](../CONTRIBUTING.md#signing-off-on-commits-developer-certificate-of-origin)**
- [x] Yes, I signed my commits.

<!--
Thank you for contributing to LocalAI!

Contributing Conventions
-------------------------

The draft above helps to give a quick overview of your PR.

Remember to remove this comment and to at least:

1. Include descriptive PR titles with [<component-name>] prepended. We
use [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/).
2. Build and test your changes before submitting a PR (`make build`).
3. Sign your commits
4. **Tag maintainer:** for a quicker response, tag the relevant
maintainer (see below).
5. **X/Twitter handle:** we announce bigger features on X/Twitter. If
your PR gets announced, and you'd like a mention, we'll gladly shout you
out!

By following the community's contribution conventions upfront, the
review process will
be accelerated and your PR merged more quickly.

If no one reviews your PR within a few days, please @-mention @mudler.
-->

Signed-off-by: GitHub <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>

* feat(conda): Add the seperate conda env for VALL-E X (#1147)

**Description**

This PR is related  to #1117

**Notes for Reviewers**

* The gRPC server cannot start up

```
(ttsvalle) @Aisuko ➜ /workspaces/LocalAI (feat/vall-e-x) $ /opt/conda/envs/ttsvalle/bin/python /workspaces/LocalAI/extra/grpc/vall-e-x/ttsvalle.py
Traceback (most recent call last):
  File "/workspaces/LocalAI/extra/grpc/vall-e-x/ttsvalle.py", line 14, in <module>
    from utils.generation import SAMPLE_RATE, generate_audio, preload_models
ModuleNotFoundError: No module named 'utils'
```

The installation steps follow
https://github.com/Plachtaa/VALL-E-X#-installation below:

* Under the `ttsvalle` conda env

```
git clone https://github.com/Plachtaa/VALL-E-X.git
cd VALL-E-X
pip install -r requirements.txt
```

**[Signed
commits](../CONTRIBUTING.md#signing-off-on-commits-developer-certificate-of-origin)**
- [x] Yes, I signed my commits.

<!--
Thank you for contributing to LocalAI!

Contributing Conventions
-------------------------

The draft above helps to give a quick overview of your PR.

Remember to remove this comment and to at least:

1. Include descriptive PR titles with [<component-name>] prepended. We
use [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/).
2. Build and test your changes before submitting a PR (`make build`).
3. Sign your commits
4. **Tag maintainer:** for a quicker response, tag the relevant
maintainer (see below).
5. **X/Twitter handle:** we announce bigger features on X/Twitter. If
your PR gets announced, and you'd like a mention, we'll gladly shout you
out!

By following the community's contribution conventions upfront, the
review process will
be accelerated and your PR merged more quickly.

If no one reviews your PR within a few days, please @-mention @mudler.
-->

Signed-off-by: GitHub <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>

* fix: set image type

Signed-off-by: Ettore Di Giacinto <[email protected]>

* feat(conda):Add seperate conda env for exllama (#1149)

Add seperate env for exllama

Signed-off-by: Aisuko <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>

* Setup conda

Signed-off-by: Ettore Di Giacinto <[email protected]>

* Set image_type arg

Signed-off-by: Ettore Di Giacinto <[email protected]>

* ci: prepare only conda env in tests

Signed-off-by: Ettore Di Giacinto <[email protected]>

* Dockerfile: comment manual pip calls

Signed-off-by: Ettore Di Giacinto <[email protected]>

* conda: add conda to PATH

Signed-off-by: Ettore Di Giacinto <[email protected]>

* fixes

* add shebang

* Fixups

Signed-off-by: Ettore Di Giacinto <[email protected]>

* file perms

Signed-off-by: Ettore Di Giacinto <[email protected]>

* debug

* Install new conda in the worker

* Disable GPU tests for now until the worker is back

* Rename workflows

* debug

* Fixup conda install

* fixup(wrapper): pass args

Signed-off-by: Ettore Di Giacinto <[email protected]>

---------

Signed-off-by: GitHub <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>
Signed-off-by: Aisuko <[email protected]>
Signed-off-by: Ettore Di Giacinto <[email protected]>
Co-authored-by: Aisuko <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

up for grabs Tickets that no-one is currently working on

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants