fix: fix pytorch version to avoid wheel bug (#1123)

* fix: fix pytorch version

* fix: settings env var regex and split

* fix: add models folder for docker user
This commit is contained in:
Pablo Orgaz 2023-10-27 20:27:40 +02:00 committed by GitHub
parent 895588b82a
commit 24cfddd60f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 1150 additions and 480 deletions

View File

@ -36,7 +36,8 @@ EXPOSE 8080
RUN adduser --system worker
WORKDIR /home/worker/app
RUN mkdir "local_data"; chown worker local_data
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

1608
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ from typing import Any, TextIO
from yaml import SafeLoader
_env_replace_matcher = re.compile(r"\$\{(\w|_)+(:(\w|_)*)?}")
_env_replace_matcher = re.compile(r"\$\{(\w|_)+:?.*}")
@typing.no_type_check # pyaml does not have good hints, everything is Any
@ -22,7 +22,7 @@ def load_yaml_with_envvars(
def load_env_var(_, node) -> str:
"""Extract the matched value, expand env variable, and replace the match."""
value = str(node.value).removeprefix("${").removesuffix("}")
split = value.split(":")
split = value.split(":", 1)
env_var = split[0]
value = environ.get(env_var)
default = None if len(split) == 1 else split[1]

View File

@ -17,7 +17,8 @@ llama-index = "0.8.47"
chromadb = "^0.4.13"
watchdog = "^3.0.0"
transformers = "^4.34.0"
torch = "^2.1.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]
black = "^22"

View File

@ -18,10 +18,18 @@ def test_environment_variables_are_loaded() -> None:
def test_environment_defaults_variables_are_loaded() -> None:
sample_yaml = """
replaced: ${TEST_REPLACE_ME:default}
replaced: ${PGPT_EMBEDDING_HF_MODEL_NAME:BAAI/bge-small-en-v1.5}
"""
loaded = load_yaml_with_envvars(io.StringIO(sample_yaml), {})
assert loaded["replaced"] == "default"
assert loaded["replaced"] == "BAAI/bge-small-en-v1.5"
def test_environment_defaults_variables_are_loaded_with_duplicated_delimiters() -> None:
sample_yaml = """
replaced: ${PGPT_EMBEDDING_HF_MODEL_NAME::duped::}
"""
loaded = load_yaml_with_envvars(io.StringIO(sample_yaml), {})
assert loaded["replaced"] == ":duped::"
def test_environment_without_defaults_fails() -> None: