mlflowが動かなくなった。
mlflow ui
を実行すれば、mlflowが実行できるはずだが、以下のようなエラーがでてきた。
Traceback (most recent call last):
File "/usr/local/bin/mlflow", line 5, in <module>
from mlflow.cli import cli
File "/usr/local/lib/python3.10/dist-packages/mlflow/cli.py", line 683, in <module>
import mlflow.gateway.cli
File "/usr/local/lib/python3.10/dist-packages/mlflow/gateway/__init__.py", line 1, in <module>
from mlflow.gateway.fluent import get_route, search_routes, query, create_route, delete_route
File "/usr/local/lib/python3.10/dist-packages/mlflow/gateway/fluent.py", line 4, in <module>
from mlflow.gateway.client import MlflowGatewayClient
File "/usr/local/lib/python3.10/dist-packages/mlflow/gateway/client.py", line 8, in <module>
from mlflow.gateway.config import Route
File "/usr/local/lib/python3.10/dist-packages/mlflow/gateway/config.py", line 64, in <module>
class OpenAIConfig(ConfigModel):
File "/usr/local/lib/python3.10/dist-packages/mlflow/gateway/config.py", line 77, in OpenAIConfig
@root_validator(pre=False)
File "/usr/local/lib/python3.10/dist-packages/pydantic/deprecated/class_validators.py", line 228, in root_validator
raise PydanticUserError(
pydantic.errors.PydanticUserError: If you use `@root_validator` with pre=False (the default) you MUST specify `skip_on_failure=True`. Note that `@root_validator` is deprecated and should be replaced with `@model_validator`.
今まで動いていたのに...
いつも大変お世話になっております、stack overflowによると原因はpydanticのアップデートらしい。
pydantic本家でも、v1からv2へのメジャーアップデートで、影響出るかもということが掲載されてた。
あれ、pydanticなんてinstallしてたっけな?って思って
pip freeze
すると、
pydantic==2.0.3
あっ!いたっ!!
対処法
古いバージョンのpydanticをインストールしてあげればよいだけ。
pip install pydantic==1.10.12
mlflow復活っ!!
補足
バージョン1.10.12は2023/9/14でのv1の最新バージョンです。それぞれinstallする際に最新バージョンを確認するのがよいと思います。あと、v1のサポート期限はv2のリリース後1年間となっています。2023/6/30にv2.0がリリースされているので、2024/6/30まではv1もサポートされます。