Skip to content

Commit 6beb854

Browse files
Merge pull request #48 from saichandrapandraju/RemoteProviderSpec
2 parents 305b2e9 + e84406d commit 6beb854

File tree

4 files changed

+24
-34
lines changed

4 files changed

+24
-34
lines changed

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "llama-stack-provider-trustyai-garak"
3-
version = "0.1.4"
3+
version = "0.1.5"
44
description = "Out-Of-Tree Llama Stack provider for Garak Red-teaming"
55
readme = "README.md"
66
requires-python = ">=3.12"
@@ -11,7 +11,7 @@ authors = [
1111
]
1212
keywords = ["llama-stack", "garak", "red-teaming", "security", "ai-safety"]
1313
dependencies = [
14-
"llama-stack==0.2.22",
14+
"llama-stack==0.2.23",
1515
"greenlet==3.2.4", # because inline/files/localfs errors saying greenlet not found
1616
"httpx[http2]==0.28.1",
1717
"garak==0.12.0",

requirements.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1231,9 +1231,9 @@ litellm==1.77.0 \
12311231
--hash=sha256:40c3ad4b4ef8eab109e04e71b62b9eab659d7af763d9e62d1a3a770ca25468ac \
12321232
--hash=sha256:7025a99c88e54209a64c05824ec1fab968343be1ed4be3573afacc92160d561c
12331233
# via garak
1234-
llama-stack==0.2.22 \
1235-
--hash=sha256:576752dedc9e9f0fb9da69f373d677d8b4f2ae4203428f676fa039b6813d8450 \
1236-
--hash=sha256:c6bbda6b5a4417b9a73ed36b9d581fd7ec689090ceefd084d9a078e7acbdc670
1234+
llama-stack==0.2.23 \
1235+
--hash=sha256:43be14d97ca2fff77ca1e42241acb7945a67b7d183e9938bdb7159ee9610982a \
1236+
--hash=sha256:464d29c1ae3989fce2226513c9c18648f6236cbf5a399d3cf3a6b3dc4435be8c
12371237
# via llama-stack-provider-trustyai-garak (pyproject.toml)
12381238
llama-stack-client==0.2.23 \
12391239
--hash=sha256:68f34e8ac8eea6a73ed9d4977d849992b2d8bd835804d770a11843431cd5bf74 \
Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
from llama_stack.providers.datatypes import (
22
ProviderSpec,
33
Api,
4-
AdapterSpec,
5-
remote_provider_spec
4+
RemoteProviderSpec
65
)
76

87
def get_provider_spec() -> ProviderSpec:
9-
return remote_provider_spec(
8+
return RemoteProviderSpec(
109
api=Api.eval,
11-
adapter=AdapterSpec(
12-
adapter_type="trustyai_garak",
13-
module="llama_stack_provider_trustyai_garak.remote",
14-
pip_packages=["garak", "kfp", "kfp-kubernetes", "kfp-server-api", "boto3"],
15-
config_class="llama_stack_provider_trustyai_garak.config.GarakRemoteConfig",
16-
),
17-
api_dependencies=[Api.inference, Api.files, Api.benchmarks, Api.safety, Api.telemetry, Api.shields]
10+
provider_type="remote::trustyai_garak",
11+
config_class="llama_stack_provider_trustyai_garak.config.GarakRemoteConfig",
12+
api_dependencies=[Api.inference, Api.files, Api.benchmarks, Api.safety, Api.telemetry, Api.shields],
13+
module="llama_stack_provider_trustyai_garak.remote",
14+
pip_packages=["garak", "kfp", "kfp-kubernetes", "kfp-server-api", "boto3"],
15+
adapter_type="trustyai_garak",
16+
description="TrustyAI’s remote provider for Garak vulnerability scanning on Kubeflow Pipelines.",
1817
)

tests/test_remote_provider.py

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,18 @@
22

33
import pytest
44
import json
5-
import os
6-
from unittest.mock import Mock, patch, AsyncMock, MagicMock, PropertyMock, call
5+
from unittest.mock import Mock, patch, AsyncMock, MagicMock
76
from datetime import datetime
87

98
from llama_stack_provider_trustyai_garak.remote import get_adapter_impl
109
from llama_stack_provider_trustyai_garak.remote.garak_remote_eval import GarakRemoteEvalAdapter
1110
from llama_stack_provider_trustyai_garak.remote.provider import get_provider_spec
1211
from llama_stack_provider_trustyai_garak.config import GarakRemoteConfig, KubeflowConfig, GarakScanConfig
13-
from llama_stack_provider_trustyai_garak.errors import GarakError, GarakConfigError, GarakValidationError, BenchmarkNotFoundError
12+
from llama_stack_provider_trustyai_garak.errors import GarakError, GarakConfigError, GarakValidationError
1413

1514
from llama_stack.apis.datatypes import Api
1615
from llama_stack.apis.common.job_types import JobStatus
17-
from llama_stack.apis.eval import BenchmarkConfig, EvaluateResponse
16+
from llama_stack.apis.eval import EvaluateResponse
1817

1918

2019
class TestRemoteProvider:
@@ -25,21 +24,13 @@ def test_get_provider_spec(self):
2524
spec = get_provider_spec()
2625

2726
assert spec.api == Api.eval
28-
# Fix: Access adapter field from the spec
29-
assert spec.adapter.adapter_type == "trustyai_garak"
30-
assert "garak" in spec.adapter.pip_packages
31-
assert "kfp" in spec.adapter.pip_packages
32-
assert "kfp-kubernetes" in spec.adapter.pip_packages
33-
assert "kfp-server-api" in spec.adapter.pip_packages
34-
assert "boto3" in spec.adapter.pip_packages
35-
assert spec.adapter.config_class == "llama_stack_provider_trustyai_garak.config.GarakRemoteConfig"
36-
assert spec.adapter.module == "llama_stack_provider_trustyai_garak.remote"
37-
assert Api.inference in spec.api_dependencies
38-
assert Api.files in spec.api_dependencies
39-
assert Api.benchmarks in spec.api_dependencies
40-
assert Api.safety in spec.api_dependencies
41-
assert Api.shields in spec.api_dependencies
42-
assert Api.telemetry in spec.api_dependencies
27+
assert spec.adapter_type == "trustyai_garak"
28+
for package in ["garak", "kfp", "kfp-kubernetes", "kfp-server-api", "boto3"]:
29+
assert package in spec.pip_packages, f"{package} not found in pip_packages"
30+
assert spec.config_class == "llama_stack_provider_trustyai_garak.config.GarakRemoteConfig"
31+
assert spec.module == "llama_stack_provider_trustyai_garak.remote"
32+
for api in [Api.inference, Api.files, Api.benchmarks, Api.safety, Api.shields, Api.telemetry]:
33+
assert api in spec.api_dependencies, f"{api} not found in api_dependencies"
4334

4435

4536
class TestRemoteAdapterCreation:

0 commit comments

Comments
 (0)