feat: move torch and transformers to local group (#1172)
This commit is contained in:
		
							parent
							
								
									ad512e3c42
								
							
						
					
					
						commit
						0d677e10b9
					
				|  | @ -39,6 +39,7 @@ jobs: | ||||||
|         uses: docker/build-push-action@v5 |         uses: docker/build-push-action@v5 | ||||||
|         with: |         with: | ||||||
|           context: . |           context: . | ||||||
|  |           file: Dockerfile.external | ||||||
|           push: true |           push: true | ||||||
|           tags: ${{ steps.meta.outputs.tags }} |           tags: ${{ steps.meta.outputs.tags }} | ||||||
|           labels: ${{ steps.meta.outputs.labels }} |           labels: ${{ steps.meta.outputs.labels }} | ||||||
|  |  | ||||||
|  | @ -0,0 +1,36 @@ | ||||||
|  | FROM python:3.11.6-slim-bookworm as base | ||||||
|  | 
 | ||||||
|  | # Install poetry | ||||||
|  | RUN pip install pipx | ||||||
|  | RUN python3 -m pipx ensurepath | ||||||
|  | RUN pipx install poetry | ||||||
|  | ENV PATH="/root/.local/bin:$PATH" | ||||||
|  | 
 | ||||||
|  | # https://python-poetry.org/docs/configuration/#virtualenvsin-project | ||||||
|  | ENV POETRY_VIRTUALENVS_IN_PROJECT=true | ||||||
|  | 
 | ||||||
|  | FROM base as dependencies | ||||||
|  | WORKDIR /home/worker/app | ||||||
|  | COPY pyproject.toml poetry.lock ./ | ||||||
|  | 
 | ||||||
|  | RUN poetry install --with ui | ||||||
|  | 
 | ||||||
|  | FROM base as app | ||||||
|  | 
 | ||||||
|  | ENV PYTHONUNBUFFERED=1 | ||||||
|  | ENV PORT=8080 | ||||||
|  | EXPOSE 8080 | ||||||
|  | 
 | ||||||
|  | # Prepare a non-root user | ||||||
|  | RUN adduser --system worker | ||||||
|  | WORKDIR /home/worker/app | ||||||
|  | 
 | ||||||
|  | RUN mkdir local_data; chown worker local_data | ||||||
|  | RUN mkdir models; chown worker models | ||||||
|  | COPY --chown=worker --from=dependencies /home/worker/app/.venv/ .venv | ||||||
|  | COPY --chown=worker private_gpt/ private_gpt | ||||||
|  | COPY --chown=worker docs/ docs | ||||||
|  | COPY --chown=worker *.yaml *.md ./ | ||||||
|  | 
 | ||||||
|  | USER worker | ||||||
|  | ENTRYPOINT .venv/bin/python -m private_gpt | ||||||
|  | @ -8,7 +8,7 @@ RUN python3 -m pipx ensurepath | ||||||
| RUN pipx install poetry | RUN pipx install poetry | ||||||
| ENV PATH="/root/.local/bin:$PATH" | ENV PATH="/root/.local/bin:$PATH" | ||||||
| 
 | 
 | ||||||
| # Dependencies to build llama-cpp and wget | # Dependencies to build llama-cpp | ||||||
| RUN apt update && apt install -y \ | RUN apt update && apt install -y \ | ||||||
|   libopenblas-dev\ |   libopenblas-dev\ | ||||||
|   ninja-build\ |   ninja-build\ | ||||||
|  | @ -23,13 +23,13 @@ FROM base as dependencies | ||||||
| WORKDIR /home/worker/app | WORKDIR /home/worker/app | ||||||
| COPY pyproject.toml poetry.lock ./ | COPY pyproject.toml poetry.lock ./ | ||||||
| 
 | 
 | ||||||
|  | RUN poetry install --with local | ||||||
| RUN poetry install --with ui | RUN poetry install --with ui | ||||||
| 
 | 
 | ||||||
| FROM base as app | FROM base as app | ||||||
| 
 | 
 | ||||||
| ENV PYTHONUNBUFFERED=1 | ENV PYTHONUNBUFFERED=1 | ||||||
| ENV PORT=8080 | ENV PORT=8080 | ||||||
| ENV PGPT_PROFILES=docker |  | ||||||
| EXPOSE 8080 | EXPOSE 8080 | ||||||
| 
 | 
 | ||||||
| # Prepare a non-root user | # Prepare a non-root user | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -15,9 +15,6 @@ pypdf = "^3.16.2" | ||||||
| llama-index = "0.8.47" | llama-index = "0.8.47" | ||||||
| chromadb = "^0.4.13" | chromadb = "^0.4.13" | ||||||
| watchdog = "^3.0.0" | watchdog = "^3.0.0" | ||||||
| transformers = "^4.34.0" |  | ||||||
| # https://stackoverflow.com/questions/76327419/valueerror-libcublas-so-0-9-not-found-in-the-system-path |  | ||||||
| torch = ">=2.0.0, !=2.0.1, !=2.1.0" |  | ||||||
| 
 | 
 | ||||||
| [tool.poetry.group.dev.dependencies] | [tool.poetry.group.dev.dependencies] | ||||||
| black = "^22" | black = "^22" | ||||||
|  | @ -38,9 +35,12 @@ gradio = "^3.45.2" | ||||||
| [tool.poetry.group.local] | [tool.poetry.group.local] | ||||||
| optional = true | optional = true | ||||||
| [tool.poetry.group.local.dependencies] | [tool.poetry.group.local.dependencies] | ||||||
| sentence-transformers = "^2.2.2" |  | ||||||
| numpy = "1.26.0" |  | ||||||
| llama-cpp-python = "^0.2.11" | llama-cpp-python = "^0.2.11" | ||||||
|  | numpy = "1.26.0" | ||||||
|  | sentence-transformers = "^2.2.2" | ||||||
|  | # https://stackoverflow.com/questions/76327419/valueerror-libcublas-so-0-9-not-found-in-the-system-path | ||||||
|  | torch = ">=2.0.0, !=2.0.1, !=2.1.0" | ||||||
|  | transformers = "^4.34.0" | ||||||
| 
 | 
 | ||||||
| [build-system] | [build-system] | ||||||
| requires = ["poetry-core>=1.0.0"] | requires = ["poetry-core>=1.0.0"] | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue