From 7447ee6714688179f7cbf1639bcf3f39fa4d4a29 Mon Sep 17 00:00:00 2001 From: whylabs Date: Thu, 29 Aug 2024 07:43:55 +0000 Subject: [PATCH] Update from https://github.com/whylabs-ai/whylogs-container-python/commit/76fef2fc822475b13ee6ed410435d3cf5b1b9806 --- README.md | 4 +- RELEASE_NOTES.md | 102 ++++++++++++++++++ .../configure_container_python/Dockerfile | 2 +- examples/configure_container_python/Makefile | 2 +- .../configure_container_python/poetry.lock | 8 +- .../configure_container_python/pyproject.toml | 2 +- examples/configure_container_yaml/Dockerfile | 2 +- examples/configure_container_yaml/Makefile | 2 +- examples/configure_container_yaml/poetry.lock | 8 +- .../configure_container_yaml/pyproject.toml | 2 +- .../test/test_container.py | 21 ++++ examples/container_library/Makefile | 2 +- examples/container_library/poetry.lock | 47 +++----- examples/container_library/pyproject.toml | 6 +- examples/custom_model/Dockerfile | 2 +- examples/custom_model/Makefile | 2 +- examples/custom_model/poetry.lock | 8 +- examples/custom_model/pyproject.toml | 2 +- examples/llm_segments/Dockerfile | 2 +- examples/llm_segments/Makefile | 2 +- examples/llm_segments/poetry.lock | 8 +- examples/llm_segments/pyproject.toml | 2 +- examples/no_configuration/Makefile | 4 +- examples/no_configuration/poetry.lock | 8 +- examples/no_configuration/pyproject.toml | 2 +- examples/s3_configuration/Makefile | 4 +- examples/s3_configuration/poetry.lock | 8 +- examples/s3_configuration/pyproject.toml | 2 +- 28 files changed, 183 insertions(+), 83 deletions(-) diff --git a/README.md b/README.md index be43d5e..dc5829e 100644 --- a/README.md +++ b/README.md @@ -102,7 +102,7 @@ See [configure_container_python][configure_container_python] for an example that What goes into this Dockerfile can depend on what you're trying to do. The simplest Dockerfile would look like this. ```Dockerfile -FROM registry.gitlab.com/whylabs/langkit-container:2.0.0 +FROM registry.gitlab.com/whylabs/langkit-container:2.0.1 # Force the container to fail if the config is not present. Safeguard for messing up the # build in such a way that the config is not included correctly. @@ -116,7 +116,7 @@ You're in full control of this Dockerfile and build and you can do basically any you might want to include some additional pip dependencies as well, which could look like this. ```Dockerfile -FROM registry.gitlab.com/whylabs/langkit-container:2.0.0 +FROM registry.gitlab.com/whylabs/langkit-container:2.0.1 # Force the container to fail if the config is not present. Safeguard for messing up the # build in such a way that the config is not included correctly. diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 3acd7d5..5f9ca80 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,3 +1,105 @@ +# 2.0.1 Release Notes + +- The `/debug/evaluate` endpoint is now disabled by default. You can enable it by setting the `DEBUG_ENDPOINT_ENABLED` environment variable + to `True`. It has a large performance impact and should only be used for debugging and prototyping policies. + +## Innocuous Prompt Filtering + +The newest injection metric has an option to filter out innocuous prompts using our internal classifier. This can help reduce false +positives by first checking to see if the prompt is innocuous before running the injection metric. If it is then the metric value will end +up being `0.0`. You can enable it on the policy by setting the `filter_innocuous` option to `true`. We'll eventually be making this the +default after additional tuning. + +```yaml +id: policy-id +policy_version: 1 +schema_version: 0.0.1 +whylabs_dataset_id: injection + +metrics: + - metric: prompt.similarity.injection + options: + filter_innocuous: true +``` + +## New Embedding Creation API + +There is a new `/debug/embeddings` endpoint that allows you to create embeddings for a prompt and response. This is useful when paired with +the injection metric customization feature, allowing you to generate pre computed embeddings using the correct embedding model for the +version of the container you're using. + +```python +import whylogs_container_client.api.debug.debug_embeddings as DebugEmbeddings +from whylogs_container_client.models.evaluation_result import EvaluationResult + +request = EmbeddingRequest(prompt="my prompt", response="my response") + +response = DebugEmbeddings.sync_detailed(client=client_external, body=request) + +if not isinstance(response.parsed, EvaluationResult): + raise Exception(f"Failed to generate embeddings. Status code: {response.status_code}. {response.parsed}") + +actual: EvaluationResult = response.parsed + +metrics = actual.metrics[0] + +# These are embeddings of shape 384 by default +assert metrics["prompt.util.embedding"] == AnyCollection(384) +assert metrics["response.util.embedding"] == AnyCollection(384) +``` + +## Customizing Injection Metric + +The injection metric can now be customized with pre-computed parquet/numpy embeddings. The injection metric is a vector store under the hood +and these embeddings will be used in nearest neighbor calculations. Not available via rulesets yet. You might want to disable leave +innocuous filtering off when using this feature if it ends up classifying your embeddings as innocuous. + +```yaml +id: policy-id +policy_version: 1 +schema_version: 0.0.1 +whylabs_dataset_id: injection + +metrics: + - metric: prompt.similarity.injection + options: + filter_innocuous: false + additional_data_url: s3://anthony-test-bucket-2/data/embeddings.parquet + neighbors_num: 10 + return_neighbors: true +``` + +## Remote Metric Support + +Metrics in the underlying workflow framework that the container uses can now be remote, which is a synonym for IO bound. For now, this only +applies to the custom python configuration path because metrics have to be defined from scratch in order to signal that they're actually IO +bound, and none of the standard metrics that we ship are actually IO bound yet, they're all CPU bound. See the python configuration examples +for defining a custom metric. The following is a simple example. + +```python +def remote_metric(id: str, work_time: float = 0.01) -> MetricCreator: + def _metric(): + def udf(text: pd.DataFrame) -> SingleMetricResult: + try: + # Insert api call or any io bound work here + # Use the results of that work to return metric values + metrics = [1 for _ in range(len(text))] + return SingleMetricResult(metrics) + except Exception as e: + # return None for any errors + return SingleMetricResult([None for _ in range(len(text))]) + + return SingleMetric( + name="remote_metric_name", + input_names=["prompt"], + evaluate=udf, + remote=True, # This marks the metric as remote + ) + + return _metric +``` + +All remote metrics are executed upfront and in parallel, then the rest of the configured metrics are run in serial, if there are any. # 2.0.0 Release Notes - New metrics for computing a set of 3d coordinates that the WhyLabs platform can interpret to visualize the prompt/response data relative diff --git a/examples/configure_container_python/Dockerfile b/examples/configure_container_python/Dockerfile index 481f78f..1e2f4bc 100644 --- a/examples/configure_container_python/Dockerfile +++ b/examples/configure_container_python/Dockerfile @@ -1,5 +1,5 @@ # DOCSUB_START simple_dockerfile -FROM registry.gitlab.com/whylabs/langkit-container:2.0.0 +FROM registry.gitlab.com/whylabs/langkit-container:2.0.1 # Force the container to fail if the config is not present. Safeguard for messing up the # build in such a way that the config is not included correctly. diff --git a/examples/configure_container_python/Makefile b/examples/configure_container_python/Makefile index 72628c2..8619351 100644 --- a/examples/configure_container_python/Makefile +++ b/examples/configure_container_python/Makefile @@ -3,7 +3,7 @@ CONTAINER_NAME = langkit_example_configure_container_python -version := 2.0.0 +version := 2.0.1 all: build diff --git a/examples/configure_container_python/poetry.lock b/examples/configure_container_python/poetry.lock index 055a7cc..13c0791 100644 --- a/examples/configure_container_python/poetry.lock +++ b/examples/configure_container_python/poetry.lock @@ -1174,13 +1174,13 @@ viz = ["Pillow (>=9.2.0,<10.0.0)", "ipython", "numpy", "numpy (>=1.23.2)", "pyba [[package]] name = "whylogs-container-client" -version = "2.0.0" +version = "2.0.1" description = "A client library for accessing FastAPI" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "whylogs_container_client-2.0.0-py3-none-any.whl", hash = "sha256:87a94c76d10705f46057da4a671d047886e75cd2056c84f9729e8b2938560c0b"}, - {file = "whylogs_container_client-2.0.0.tar.gz", hash = "sha256:e9d6fe0824b1e63f88ade17371858ef741cba0c2e9053dc0cf09afae257276c1"}, + {file = "whylogs_container_client-2.0.1-py3-none-any.whl", hash = "sha256:6c1844a253528384cb286f6e6cc1ce64b40c5d813128a6d78e7c6c0223e94c26"}, + {file = "whylogs_container_client-2.0.1.tar.gz", hash = "sha256:f75672d21b5292ef2d49eacd730bec202b2b4f8a5dc50ed385acb66c20df3812"}, ] [package.dependencies] @@ -1270,4 +1270,4 @@ torch = "2.3.0" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "eff88acb0322732456181c1d8c23fec9308a8d0e0ff5cb90d63d45fe70f9dbee" +content-hash = "947f14885feb5b51ffe22eeb27b79b134c95028c399dbd6f5433762dd014e401" diff --git a/examples/configure_container_python/pyproject.toml b/examples/configure_container_python/pyproject.toml index 959f859..f1458c1 100644 --- a/examples/configure_container_python/pyproject.toml +++ b/examples/configure_container_python/pyproject.toml @@ -13,7 +13,7 @@ python = "^3.10" # These are all dev dependencies. They're already included in the container and we don't want to # overwrite those versions, we just want types and auto completion in this project. langkit = "0.0.28.dev2" -whylogs-container-client = "2.0.0" +whylogs-container-client = "2.0.1" whylogs-container-types = "0.4.13" pandas = "1.3.5" diff --git a/examples/configure_container_yaml/Dockerfile b/examples/configure_container_yaml/Dockerfile index 0c8cc49..2e66af6 100644 --- a/examples/configure_container_yaml/Dockerfile +++ b/examples/configure_container_yaml/Dockerfile @@ -1,4 +1,4 @@ -FROM registry.gitlab.com/whylabs/langkit-container:2.0.0 +FROM registry.gitlab.com/whylabs/langkit-container:2.0.1 # Force the container to fail if the config is not present. Safeguard for messing up the # build in such a way that the config is not included correctly. diff --git a/examples/configure_container_yaml/Makefile b/examples/configure_container_yaml/Makefile index 8b3e9d3..7767ce2 100644 --- a/examples/configure_container_yaml/Makefile +++ b/examples/configure_container_yaml/Makefile @@ -2,7 +2,7 @@ .PHONY: test-no-secure run-no-secure ci-install CONTAINER_NAME = langkit_example_configure_container_yaml -version := 2.0.0 +version := 2.0.1 all: build diff --git a/examples/configure_container_yaml/poetry.lock b/examples/configure_container_yaml/poetry.lock index 94bfd47..1877deb 100644 --- a/examples/configure_container_yaml/poetry.lock +++ b/examples/configure_container_yaml/poetry.lock @@ -433,13 +433,13 @@ files = [ [[package]] name = "whylogs-container-client" -version = "2.0.0" +version = "2.0.1" description = "A client library for accessing FastAPI" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "whylogs_container_client-2.0.0-py3-none-any.whl", hash = "sha256:87a94c76d10705f46057da4a671d047886e75cd2056c84f9729e8b2938560c0b"}, - {file = "whylogs_container_client-2.0.0.tar.gz", hash = "sha256:e9d6fe0824b1e63f88ade17371858ef741cba0c2e9053dc0cf09afae257276c1"}, + {file = "whylogs_container_client-2.0.1-py3-none-any.whl", hash = "sha256:6c1844a253528384cb286f6e6cc1ce64b40c5d813128a6d78e7c6c0223e94c26"}, + {file = "whylogs_container_client-2.0.1.tar.gz", hash = "sha256:f75672d21b5292ef2d49eacd730bec202b2b4f8a5dc50ed385acb66c20df3812"}, ] [package.dependencies] @@ -450,4 +450,4 @@ python-dateutil = ">=2.8.0,<3.0.0" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "dbbe2e0ba350a87387080b7016d029031cb8480e3c06a2e2a870c1ac61f4d1c3" +content-hash = "a0ede4bce9faa9edb8809d4ccf7bc9cee5c977ea617655da497a48568eb5973d" diff --git a/examples/configure_container_yaml/pyproject.toml b/examples/configure_container_yaml/pyproject.toml index 77b260d..a66abe3 100644 --- a/examples/configure_container_yaml/pyproject.toml +++ b/examples/configure_container_yaml/pyproject.toml @@ -12,7 +12,7 @@ python = "^3.10" [tool.poetry.group.dev.dependencies] # These are all dev dependencies. They're already included in the container and we don't want to # overwrite those versions, we just want types and auto completion in this project. -whylogs-container-client = "2.0.0" +whylogs-container-client = "2.0.1" pandas = "1.3.5" pyright = "^1.1.347" diff --git a/examples/configure_container_yaml/test/test_container.py b/examples/configure_container_yaml/test/test_container.py index 4342063..6b06e3a 100644 --- a/examples/configure_container_yaml/test/test_container.py +++ b/examples/configure_container_yaml/test/test_container.py @@ -8,6 +8,7 @@ from whylogs_container_client import AuthenticatedClient from whylogs_container_client.models.action import Action from whylogs_container_client.models.action_type import ActionType +from whylogs_container_client.models.embedding_request import EmbeddingRequest from whylogs_container_client.models.evaluation_result import EvaluationResult from whylogs_container_client.models.evaluation_result_metrics_item import EvaluationResultMetricsItem from whylogs_container_client.models.evaluation_result_scores_item import EvaluationResultScoresItem @@ -1226,3 +1227,23 @@ def test_multi_col_computer_medical_advice(client: AuthenticatedClient): ) assert expected == actual + + +def test_embedding_creation(client: AuthenticatedClient): + import whylogs_container_client.api.debug.debug_embeddings as DebugEmbeddings + from whylogs_container_client.models.evaluation_result import EvaluationResult + + request = EmbeddingRequest(prompt="my prompt", response="my response") + + response = DebugEmbeddings.sync_detailed(client=client, body=request) + + if not isinstance(response.parsed, EvaluationResult): + raise Exception(f"Failed to generate embeddings. Status code: {response.status_code}. {response.parsed}") + + actual: EvaluationResult = response.parsed + + metrics = actual.metrics[0] + + # These are embeddings of shape 384 by default + assert metrics["prompt.util.embedding"] == AnyCollection(384) + assert metrics["response.util.embedding"] == AnyCollection(384) diff --git a/examples/container_library/Makefile b/examples/container_library/Makefile index a66f415..1232604 100644 --- a/examples/container_library/Makefile +++ b/examples/container_library/Makefile @@ -1,6 +1,6 @@ .PHONY: install run test lint lint-fix format format-fix fix all clean -version := 2.0.0 +version := 2.0.1 all: install build test diff --git a/examples/container_library/poetry.lock b/examples/container_library/poetry.lock index 4a2fc54..7e09e1b 100644 --- a/examples/container_library/poetry.lock +++ b/examples/container_library/poetry.lock @@ -5116,13 +5116,13 @@ urllib3 = ">=1.25.3" [[package]] name = "whylabs-llm-toolkit" -version = "0.1.20" +version = "0.1.21" description = "Utilities for harm dataset generation" optional = false python-versions = ">=3.9,<3.12" files = [ - {file = "whylabs_llm_toolkit-0.1.20-py3-none-any.whl", hash = "sha256:98b3ac462add72e78ab9182fb3af4a14259d5afbabf8a2ea61c17403eb6268f7"}, - {file = "whylabs_llm_toolkit-0.1.20.tar.gz", hash = "sha256:882d56ef48734a9388cf073eaf65c7e3017a6d00fbc7bf2dd60d08c990c61453"}, + {file = "whylabs_llm_toolkit-0.1.21-py3-none-any.whl", hash = "sha256:e219a3f3dc4daee6f39aa09b9b987c2c4dab14ede134eaf6bb5490c681d4e1a7"}, + {file = "whylabs_llm_toolkit-0.1.21.tar.gz", hash = "sha256:6d49e497de5ffd50b28efbea84563a991d27b50e0f84dda136e329c9c95ef599"}, ] [package.dependencies] @@ -5146,7 +5146,6 @@ tiktoken = {version = "0.6.0", optional = true, markers = "extra == \"infer\""} whylabs-client = ">=0.6.6,<0.7.0" whylabs-textstat = {version = ">=0.7.4,<0.8.0", optional = true, markers = "extra == \"infer\""} whylogs = ">=1.4.4,<2.0.0" -xformers = {version = "*", markers = "python_full_version >= \"3.8.0\" and python_version < \"4\" and sys_platform == \"!macos\""} [package.extras] eval = ["chromadb (==0.5.5)", "databricks-sdk (>=0.25.1,<0.26.0)", "matplotlib (>=3.8.4,<4.0.0)", "mlflow (>=2.11.3,<3.0.0)", "optimum[exporters,onnxruntime] (==1.21.2)", "pandas", "python-dotenv (>=1.0.1,<2.0.0)", "scikit-learn (>=1.4.1.post1,<2.0.0)", "sentence-transformers (==2.6.1)", "songbird-client (==0.1.816)"] @@ -5221,13 +5220,13 @@ viz = ["Pillow (>=10.1.0,<11)", "Pillow (>=9.2.0)", "ipython", "numpy", "numpy ( [[package]] name = "whylogs-container" -version = "2.0.0" +version = "2.0.1" description = "" optional = false python-versions = ">=3.9,<3.12" files = [ - {file = "whylogs_container-2.0.0-py3-none-any.whl", hash = "sha256:e9917d6538c47de27dc393d80f16d0bcc8530025e8e7c34a119e5c7a4ab5d18f"}, - {file = "whylogs_container-2.0.0.tar.gz", hash = "sha256:f53de8cbb314ca34d43c7a53ff792d7e0010ca8d9765141b311f4a33974ba09a"}, + {file = "whylogs_container-2.0.1-py3-none-any.whl", hash = "sha256:f805b87b96e6b6c36265346399f29e48e2bab33023650720c1e3a9c84ee1e96d"}, + {file = "whylogs_container-2.0.1.tar.gz", hash = "sha256:23c225392fd8ef4f19aaed7b632a954f8003feecade8c6a99b7bc76f3bac2afb"}, ] [package.dependencies] @@ -5253,11 +5252,11 @@ torch = [ urllib3 = "1.26.19" uvicorn = {version = ">=0.24.0.post1,<0.25.0", extras = ["standard"]} whylabs-client = ">=0.6.7,<0.7.0" -whylabs-llm-toolkit = {version = "0.1.20", extras = ["infer"], optional = true, markers = "extra == \"llm\""} +whylabs-llm-toolkit = {version = "0.1.21", extras = ["infer"], optional = true, markers = "extra == \"llm\""} whylogs = {version = "1.4.4", extras = ["embeddings", "proc"]} [package.extras] -llm = ["torch (==2.2.1)", "torch (==2.2.1+cpu)", "whylabs-llm-toolkit[infer] (==0.1.20)"] +llm = ["torch (==2.2.1)", "torch (==2.2.1+cpu)", "whylabs-llm-toolkit[infer] (==0.1.21)"] [package.source] type = "legacy" @@ -5266,13 +5265,13 @@ reference = "whylabs_container_gitlab" [[package]] name = "whylogs-container-client" -version = "2.0.0" +version = "2.0.1" description = "A client library for accessing FastAPI" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "whylogs_container_client-2.0.0-py3-none-any.whl", hash = "sha256:87a94c76d10705f46057da4a671d047886e75cd2056c84f9729e8b2938560c0b"}, - {file = "whylogs_container_client-2.0.0.tar.gz", hash = "sha256:e9d6fe0824b1e63f88ade17371858ef741cba0c2e9053dc0cf09afae257276c1"}, + {file = "whylogs_container_client-2.0.1-py3-none-any.whl", hash = "sha256:6c1844a253528384cb286f6e6cc1ce64b40c5d813128a6d78e7c6c0223e94c26"}, + {file = "whylogs_container_client-2.0.1.tar.gz", hash = "sha256:f75672d21b5292ef2d49eacd730bec202b2b4f8a5dc50ed385acb66c20df3812"}, ] [package.dependencies] @@ -5399,28 +5398,6 @@ files = [ {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, ] -[[package]] -name = "xformers" -version = "0.0.25" -description = "XFormers: A collection of composable Transformer building blocks." -optional = false -python-versions = ">=3.7" -files = [ - {file = "xformers-0.0.25-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:aff69fb8708e0500ecbb2174e9b9533948bf126e7daa59e5d784c1fc37e9d46c"}, - {file = "xformers-0.0.25-cp310-cp310-win_amd64.whl", hash = "sha256:ef3dc7f65d0b25148570172647759eb3b6032c24d696b52dabd6b55164a4a1ab"}, - {file = "xformers-0.0.25-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:4a58e42aea10eea9c68121afd9880c914d4512c76f9236c66fe853abab602e52"}, - {file = "xformers-0.0.25-cp311-cp311-win_amd64.whl", hash = "sha256:a62666f27a10e4e2aff49edce369bbf1f5218ff8d7f9580d33706950ddb992d7"}, - {file = "xformers-0.0.25-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:4218e995f8953050b4f702d0dd79abf4d6247889efeda4c7077ab7d8fd41b65a"}, - {file = "xformers-0.0.25-cp38-cp38-win_amd64.whl", hash = "sha256:b72fc7f7222184421b63c794e1896424482ee5579d9f1d088b582560eefc3f58"}, - {file = "xformers-0.0.25-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:4df5c35536f820c96b90c2aa40444f84947c6c7ebfbdacb2789a9aca526d3be7"}, - {file = "xformers-0.0.25-cp39-cp39-win_amd64.whl", hash = "sha256:669adb8955585f0c30d7c1b0f6d757216c9ea0c62d625f79ebea8aa17665c8f0"}, - {file = "xformers-0.0.25.tar.gz", hash = "sha256:63f74d96c82d6b9bf3daf38f53cf173a29370ee6bd1dfde15836d0d598b6f82f"}, -] - -[package.dependencies] -numpy = "*" -torch = "2.2.1" - [[package]] name = "xxhash" version = "3.5.0" @@ -5674,4 +5651,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.12" -content-hash = "d92a45fbd222b55fa11a68094619fbe1122e09e4cf228c15f8c6c71d1581949b" +content-hash = "89334e2be950462dc92b67604a7575245630b14ca259b02c0b154fe8805d8170" diff --git a/examples/container_library/pyproject.toml b/examples/container_library/pyproject.toml index 26254d4..4caf714 100644 --- a/examples/container_library/pyproject.toml +++ b/examples/container_library/pyproject.toml @@ -9,8 +9,8 @@ readme = "README.md" python = ">=3.9,<3.12" whylogs = "^1.4.4" -whylogs-container = {version = "2.0.0", extras = ["llm"], source = "whylabs_container_gitlab"} -whylabs-llm-toolkit = {version = "0.1.20", extras = ["infer"], source = "whylabs_container_gitlab"} +whylogs-container = {version = "2.0.1", extras = ["llm"], source = "whylabs_container_gitlab"} +whylabs-llm-toolkit = {version = "*", extras = ["infer"], source = "whylabs_container_gitlab"} torch = { version = "2.2.1+cpu", source = "torch" } # Just here to work around a runtime bug in a later version of transformers, may not be necessary in the future @@ -19,7 +19,7 @@ transformers = "4.39.3" [tool.poetry.group.dev.dependencies] pyright = "^1.1.367" ruff = "0.6.2" -whylogs-container-client = "2.0.0" +whylogs-container-client = "2.0.1" [build-system] requires = ["poetry-core"] diff --git a/examples/custom_model/Dockerfile b/examples/custom_model/Dockerfile index b3037ba..9e4eb0e 100644 --- a/examples/custom_model/Dockerfile +++ b/examples/custom_model/Dockerfile @@ -1,5 +1,5 @@ # DOCSUB_START docker_dependencies -FROM registry.gitlab.com/whylabs/langkit-container:2.0.0 +FROM registry.gitlab.com/whylabs/langkit-container:2.0.1 # Force the container to fail if the config is not present. Safeguard for messing up the # build in such a way that the config is not included correctly. diff --git a/examples/custom_model/Makefile b/examples/custom_model/Makefile index db0fc7e..95b0a5a 100644 --- a/examples/custom_model/Makefile +++ b/examples/custom_model/Makefile @@ -1,7 +1,7 @@ .PHONY: help build run all clean lint lint-fix format format-fix fix test pip-install-python-client CONTAINER_NAME = langkit_example_custom_model -version := 2.0.0 +version := 2.0.1 all: build diff --git a/examples/custom_model/poetry.lock b/examples/custom_model/poetry.lock index 2bfd0b9..4275d30 100644 --- a/examples/custom_model/poetry.lock +++ b/examples/custom_model/poetry.lock @@ -2516,13 +2516,13 @@ viz = ["Pillow (>=9.2.0,<10.0.0)", "ipython", "numpy", "numpy (>=1.23.2)", "pyba [[package]] name = "whylogs-container-client" -version = "2.0.0" +version = "2.0.1" description = "A client library for accessing FastAPI" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "whylogs_container_client-2.0.0-py3-none-any.whl", hash = "sha256:87a94c76d10705f46057da4a671d047886e75cd2056c84f9729e8b2938560c0b"}, - {file = "whylogs_container_client-2.0.0.tar.gz", hash = "sha256:e9d6fe0824b1e63f88ade17371858ef741cba0c2e9053dc0cf09afae257276c1"}, + {file = "whylogs_container_client-2.0.1-py3-none-any.whl", hash = "sha256:6c1844a253528384cb286f6e6cc1ce64b40c5d813128a6d78e7c6c0223e94c26"}, + {file = "whylogs_container_client-2.0.1.tar.gz", hash = "sha256:f75672d21b5292ef2d49eacd730bec202b2b4f8a5dc50ed385acb66c20df3812"}, ] [package.dependencies] @@ -2689,4 +2689,4 @@ torch = "2.0.0" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "782674c4b043fb091a29c261b16e5d484a73dcdfe45889c41c3f5603f5e5d46b" +content-hash = "d26377dfed621a38dada7e14ed9bdb71381315e4ad29388722f4b38dc0cc955b" diff --git a/examples/custom_model/pyproject.toml b/examples/custom_model/pyproject.toml index bb1021d..616e9c1 100644 --- a/examples/custom_model/pyproject.toml +++ b/examples/custom_model/pyproject.toml @@ -20,7 +20,7 @@ torch = {version = "2.0.0", optional = true, source = "torch"} # overwrite those versions, we just want types and auto completion in this project. langkit = "0.0.28.dev0" whylogs-container-types = "0.4.13" -whylogs-container-client = "2.0.0" +whylogs-container-client = "2.0.1" pandas = "1.3.5" pyright = "^1.1.347" diff --git a/examples/llm_segments/Dockerfile b/examples/llm_segments/Dockerfile index cd6d124..1594eb3 100644 --- a/examples/llm_segments/Dockerfile +++ b/examples/llm_segments/Dockerfile @@ -1,4 +1,4 @@ -FROM registry.gitlab.com/whylabs/langkit-container:2.0.0 +FROM registry.gitlab.com/whylabs/langkit-container:2.0.1 # Copy our custom config code COPY ./whylogs_config /opt/whylogs-container/whylogs_container/whylogs_config/ diff --git a/examples/llm_segments/Makefile b/examples/llm_segments/Makefile index 52ce5a2..7e2b8a8 100644 --- a/examples/llm_segments/Makefile +++ b/examples/llm_segments/Makefile @@ -1,7 +1,7 @@ .PHONY: help requirements build run all clean lint lint-fix format format-fix fix test pip-install-python-client CONTAINER_NAME = llm_segments -version := 2.0.0 +version := 2.0.1 all: build diff --git a/examples/llm_segments/poetry.lock b/examples/llm_segments/poetry.lock index 31fd735..ee32f2e 100644 --- a/examples/llm_segments/poetry.lock +++ b/examples/llm_segments/poetry.lock @@ -1158,13 +1158,13 @@ viz = ["Pillow (>=9.2.0,<10.0.0)", "ipython", "numpy", "numpy (>=1.23.2)", "pyba [[package]] name = "whylogs-container-client" -version = "2.0.0" +version = "2.0.1" description = "A client library for accessing FastAPI" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "whylogs_container_client-2.0.0-py3-none-any.whl", hash = "sha256:87a94c76d10705f46057da4a671d047886e75cd2056c84f9729e8b2938560c0b"}, - {file = "whylogs_container_client-2.0.0.tar.gz", hash = "sha256:e9d6fe0824b1e63f88ade17371858ef741cba0c2e9053dc0cf09afae257276c1"}, + {file = "whylogs_container_client-2.0.1-py3-none-any.whl", hash = "sha256:6c1844a253528384cb286f6e6cc1ce64b40c5d813128a6d78e7c6c0223e94c26"}, + {file = "whylogs_container_client-2.0.1.tar.gz", hash = "sha256:f75672d21b5292ef2d49eacd730bec202b2b4f8a5dc50ed385acb66c20df3812"}, ] [package.dependencies] @@ -1252,4 +1252,4 @@ torch = "2.3.0" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "eed80b09a00476ce03529cb9e4b426c9508c94f1dfe4fa62caa392564ef2db74" +content-hash = "9673cfe357299b87ae97a02627ad2683ef41fe965335ce712867771f8f134db3" diff --git a/examples/llm_segments/pyproject.toml b/examples/llm_segments/pyproject.toml index a3b8cd4..57ee9f8 100644 --- a/examples/llm_segments/pyproject.toml +++ b/examples/llm_segments/pyproject.toml @@ -14,7 +14,7 @@ python = "^3.10" # overwrite those versions, we just want types and auto completion in this project. langkit = "0.0.28.dev0" whylogs-container-types = "^0.4.13" -whylogs-container-client = "2.0.0" +whylogs-container-client = "2.0.1" pandas = "1.3.5" diff --git a/examples/no_configuration/Makefile b/examples/no_configuration/Makefile index 26cfec7..d77b0fd 100644 --- a/examples/no_configuration/Makefile +++ b/examples/no_configuration/Makefile @@ -1,8 +1,8 @@ .PHONY: help requirements build run all clean lint lint-fix format format-fix fix test pip-install-python-client pull install CONTAINER_NAME = langkit_example_configure_container_python -DOCKER_IMAGE = registry.gitlab.com/whylabs/langkit-container:2.0.0 -version := 2.0.0 +DOCKER_IMAGE = registry.gitlab.com/whylabs/langkit-container:2.0.1 +version := 2.0.1 all: build diff --git a/examples/no_configuration/poetry.lock b/examples/no_configuration/poetry.lock index 73ad266..7fd8dc9 100644 --- a/examples/no_configuration/poetry.lock +++ b/examples/no_configuration/poetry.lock @@ -1158,13 +1158,13 @@ viz = ["Pillow (>=9.2.0,<10.0.0)", "ipython", "numpy", "numpy (>=1.23.2)", "pyba [[package]] name = "whylogs-container-client" -version = "2.0.0" +version = "2.0.1" description = "A client library for accessing FastAPI" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "whylogs_container_client-2.0.0-py3-none-any.whl", hash = "sha256:87a94c76d10705f46057da4a671d047886e75cd2056c84f9729e8b2938560c0b"}, - {file = "whylogs_container_client-2.0.0.tar.gz", hash = "sha256:e9d6fe0824b1e63f88ade17371858ef741cba0c2e9053dc0cf09afae257276c1"}, + {file = "whylogs_container_client-2.0.1-py3-none-any.whl", hash = "sha256:6c1844a253528384cb286f6e6cc1ce64b40c5d813128a6d78e7c6c0223e94c26"}, + {file = "whylogs_container_client-2.0.1.tar.gz", hash = "sha256:f75672d21b5292ef2d49eacd730bec202b2b4f8a5dc50ed385acb66c20df3812"}, ] [package.dependencies] @@ -1252,4 +1252,4 @@ torch = "2.3.0" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "f747861ac204bbbdc8149a03a51cf40b11d60349979ff373340d6b8c293e7e63" +content-hash = "b70712fbf46e6735c2d84bea1e6599412e162f846ecad65d8b60ab48b65ee352" diff --git a/examples/no_configuration/pyproject.toml b/examples/no_configuration/pyproject.toml index 06f3052..1f5e87c 100644 --- a/examples/no_configuration/pyproject.toml +++ b/examples/no_configuration/pyproject.toml @@ -14,7 +14,7 @@ python = "^3.10" # overwrite those versions, we just want types and auto completion in this project. langkit = "0.0.28.dev0" whylogs-container-types = "^0.4.13" -whylogs-container-client = "2.0.0" +whylogs-container-client = "2.0.1" whylogs = "^1.3.27" pandas = "1.3.5" diff --git a/examples/s3_configuration/Makefile b/examples/s3_configuration/Makefile index 70fe00b..a7505b3 100644 --- a/examples/s3_configuration/Makefile +++ b/examples/s3_configuration/Makefile @@ -1,8 +1,8 @@ .PHONY: help requirements build run all clean lint lint-fix format format-fix fix test pip-install-python-client pull install CONTAINER_NAME = langkit_example_s3_sync_configure -DOCKER_IMAGE = registry.gitlab.com/whylabs/langkit-container:2.0.0 -version := 2.0.0 +DOCKER_IMAGE = registry.gitlab.com/whylabs/langkit-container:2.0.1 +version := 2.0.1 all: build diff --git a/examples/s3_configuration/poetry.lock b/examples/s3_configuration/poetry.lock index 73ad266..7fd8dc9 100644 --- a/examples/s3_configuration/poetry.lock +++ b/examples/s3_configuration/poetry.lock @@ -1158,13 +1158,13 @@ viz = ["Pillow (>=9.2.0,<10.0.0)", "ipython", "numpy", "numpy (>=1.23.2)", "pyba [[package]] name = "whylogs-container-client" -version = "2.0.0" +version = "2.0.1" description = "A client library for accessing FastAPI" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "whylogs_container_client-2.0.0-py3-none-any.whl", hash = "sha256:87a94c76d10705f46057da4a671d047886e75cd2056c84f9729e8b2938560c0b"}, - {file = "whylogs_container_client-2.0.0.tar.gz", hash = "sha256:e9d6fe0824b1e63f88ade17371858ef741cba0c2e9053dc0cf09afae257276c1"}, + {file = "whylogs_container_client-2.0.1-py3-none-any.whl", hash = "sha256:6c1844a253528384cb286f6e6cc1ce64b40c5d813128a6d78e7c6c0223e94c26"}, + {file = "whylogs_container_client-2.0.1.tar.gz", hash = "sha256:f75672d21b5292ef2d49eacd730bec202b2b4f8a5dc50ed385acb66c20df3812"}, ] [package.dependencies] @@ -1252,4 +1252,4 @@ torch = "2.3.0" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "f747861ac204bbbdc8149a03a51cf40b11d60349979ff373340d6b8c293e7e63" +content-hash = "b70712fbf46e6735c2d84bea1e6599412e162f846ecad65d8b60ab48b65ee352" diff --git a/examples/s3_configuration/pyproject.toml b/examples/s3_configuration/pyproject.toml index b3cea7b..55a459c 100644 --- a/examples/s3_configuration/pyproject.toml +++ b/examples/s3_configuration/pyproject.toml @@ -14,7 +14,7 @@ python = "^3.10" # overwrite those versions, we just want types and auto completion in this project. langkit = "0.0.28.dev0" whylogs-container-types = "^0.4.13" -whylogs-container-client = "2.0.0" +whylogs-container-client = "2.0.1" whylogs = "^1.3.27" pandas = "1.3.5"