diff --git a/ansible_ai_connect/ai/api/model_pipelines/__init__.py b/ansible_ai_connect/ai/api/model_pipelines/__init__.py index a68b6a276..837e890fb 100644 --- a/ansible_ai_connect/ai/api/model_pipelines/__init__.py +++ b/ansible_ai_connect/ai/api/model_pipelines/__init__.py @@ -1,3 +1,5 @@ +import logging + import ansible_ai_connect.ai.api.model_pipelines.dummy.configuration # noqa import ansible_ai_connect.ai.api.model_pipelines.dummy.pipelines # noqa import ansible_ai_connect.ai.api.model_pipelines.http.configuration # noqa @@ -10,7 +12,6 @@ import ansible_ai_connect.ai.api.model_pipelines.nop.configuration # noqa import ansible_ai_connect.ai.api.model_pipelines.nop.pipelines # noqa import ansible_ai_connect.ai.api.model_pipelines.ollama.configuration # noqa -import ansible_ai_connect.ai.api.model_pipelines.ollama.pipelines # noqa import ansible_ai_connect.ai.api.model_pipelines.wca.configuration_dummy # noqa import ansible_ai_connect.ai.api.model_pipelines.wca.configuration_onprem # noqa import ansible_ai_connect.ai.api.model_pipelines.wca.configuration_saas # noqa @@ -19,4 +20,10 @@ import ansible_ai_connect.ai.api.model_pipelines.wca.pipelines_saas # noqa from ansible_ai_connect.ai.api.model_pipelines.registry import set_defaults +logger = logging.getLogger(__name__) +try: + import ansible_ai_connect.ai.api.model_pipelines.ollama.pipelines # noqa +except ModuleNotFoundError: + logger.info("ollama support disabled because dependencies are missing") + set_defaults() diff --git a/ansible_ai_connect/ai/api/model_pipelines/registry.py b/ansible_ai_connect/ai/api/model_pipelines/registry.py index 8cd4125cb..3a408d77d 100644 --- a/ansible_ai_connect/ai/api/model_pipelines/registry.py +++ b/ansible_ai_connect/ai/api/model_pipelines/registry.py @@ -84,7 +84,7 @@ def v_or_default(k, v): defaults = REGISTRY["nop"] if v is None: logger.debug( - f"'{k.alias()}' is not available for provider '{pipeline_provider}'," + f"'{k}' is not available for provider '{pipeline_provider}'," " failing back to 'nop'" ) return defaults[k] diff --git a/pyproject.toml b/pyproject.toml index 6ca721cd3..ad0f82730 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,6 @@ dependencies = [ 'jwcrypto~=1.5.6', 'jinja2~=3.1.6', 'langchain~=0.3.10', - 'langchain-ollama~=0.3.5', 'launchdarkly-server-sdk~=8.3.0', 'llama-stack-client>=0.2.12', 'protobuf~=5.29.5', @@ -58,6 +57,9 @@ classifiers = [ "Programming Language :: Python :: 3", ] +[project.optional-dependencies] +ollama = ['langchain-ollama~=0.3.5'] + [project.urls] Homepage = "https://github.com/ansible/ansible-ai-connect-service" diff --git a/requirements-aarch64.txt b/requirements-aarch64.txt index c3514917b..7fca2e7a8 100644 --- a/requirements-aarch64.txt +++ b/requirements-aarch64.txt @@ -258,7 +258,6 @@ langchain-core==0.3.69 # langchain # langchain-ollama # langchain-text-splitters -langchain-ollama==0.3.5 # via -r requirements.in langchain-text-splitters==0.3.8 # via langchain @@ -297,8 +296,6 @@ oauthlib==3.2.2 # social-auth-core odfpy==1.4.1 # via tablib -ollama==0.5.1 - # via langchain-ollama openpyxl==3.1.2 # via tablib orjson==3.10.1 diff --git a/requirements-x86_64.txt b/requirements-x86_64.txt index f12010c55..0baae524c 100644 --- a/requirements-x86_64.txt +++ b/requirements-x86_64.txt @@ -258,7 +258,6 @@ langchain-core==0.3.69 # langchain # langchain-ollama # langchain-text-splitters -langchain-ollama==0.3.5 # via -r requirements.in langchain-text-splitters==0.3.8 # via langchain @@ -297,8 +296,6 @@ oauthlib==3.2.2 # social-auth-core odfpy==1.4.1 # via tablib -ollama==0.5.1 - # via langchain-ollama openpyxl==3.1.2 # via tablib orjson==3.10.1 diff --git a/requirements.in b/requirements.in index 75d9accf5..9ad733f17 100644 --- a/requirements.in +++ b/requirements.in @@ -46,7 +46,6 @@ jinja2==3.1.6 # remove this once ansible-risk-insight is updated jsonpickle==3.3.0 langchain==0.3.26 -langchain-ollama==0.3.5 launchdarkly-server-sdk==8.3.0 llama-stack-client>=0.2.12 protobuf==5.29.5